aspMedlem sedan aug. 2002733 inlägg <?php
if ($handle = opendir('images')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo '<img src="images/'.$file.'">';
}
}
closedir($handle);
}
?>
Med den koden visas alla filer som finns i mappen images. Nu vill jag kontrollera om filen är en bild eller en mapp. Om det är en bil så läggs den till i strängen sPic, är det en mapp så läggs den till i strängen sFolder.
Någon vänlig själv där ute?
tydalMedlem sedan juni 20034 013 inlägg Det står i den utmärkta php-manualen under funktionen readdir.
if ($file != "." && $file != ".." && !is_dir($file))
aspMedlem sedan aug. 2002733 inlägg Men hur kontrollerar man att den är en bild??
tydalMedlem sedan juni 20034 013 inlägg Då har du en funktion som heter getimagesize.
dr_llMedlem sedan nov. 20046 inlägg if(getimagesize($temp) !== false )
echo"Bild";
else
echo"Ej bild";
aspMedlem sedan aug. 2002733 inlägg <?php
if ($handle = opendir('images')) {
while (false !== ($file = readdir($handle))) {
if (is_dir($file) !== false) {
echo 'BILD!';
}
elseif (getimagesize($file) !== false) {
echo 'MAPP';
}
}
closedir($handle);
}
?>
Ger:
BILD!BILD!
Warning: getimagesize(gishen1.gif): failed to open stream: No such file or directory in /home/mackan/public_html/party/index.php on line 21
Warning: getimagesize(apple.jpg): failed to open stream: No such file or directory in /home/mackan/public_html/party/index.php on line 21
Warning: getimagesize(bugg.txt): failed to open stream: No such file or directory in /home/mackan/public_html/party/index.php on line 21
Warning: getimagesize(bg_orange.gif): failed to open stream: No such file or directory in /home/mackan/public_html/party/index.php on line 21
Warning: getimagesize(wm): failed to open stream: No such file or directory in /home/mackan/public_html/party/index.php on line 21
tydalMedlem sedan juni 20034 013 inlägg Filerna finns inte, så du är förmodligen i fel katalog. Av din kod att döma verkar det som att filerna ligger i katalogen images, så då blir det så här:
getimagesize("images/$file")
aspMedlem sedan aug. 2002733 inlägg Fungerar inte riktigt som det skall. Resultatet blir:
BILD!
BILD!
MAPP
MAPP
MAPP
BILD!
Med denna kod:
<?php
if ($handle = opendir('images')) {
while (false !== ($file = readdir($handle))) {
if (is_dir("images/$file") !== false) {
echo 'BILD!';
}
elseif (getimagesize("images/$file") !== false) {
echo 'MAPP';
}
echo '<BR>';
}
closedir($handle);
}
?>
tydalMedlem sedan juni 20034 013 inlägg is_dir kontrollerar om $file är en katalog.
getimagesize kontrollerar om $file är en bild.
Så, ändra till detta:
<?
if (is_dir("images/$file"))
echo("mapp<br>");
elseif (getimagesize("images/$file")
echo("bild<br>");
?>