проверка дали съществуват дадени файлове в папка

AnHiMiLaToR

Registered
ще се радвам ако ми помогнете!
искам да направя следното:

имам 20 файла (снимки), искам да проверява от първата до последната дали съществува като файл и да спре при първата съществуваща, да я изкара и да затвори if-а. Ако никоя не съществува, да изкара съобщение "няма снимки" или нещо подобно. Мислих, мислих, но не можах да измисля как да го постигна. :idea:
 
Код:
<?php
	$dir = 'images/';
	$scan = scandir($dir);
	$skip = array('.','..');
	$search_for = 'image.jpg';
	
	$found = false;
	foreach($scan as $bla)
	{
		if(!in_array($bla, $skip))
		{
			if($bla == $search_for)
			{
				$found = true;
				print '<img src="'.$dir.$bla.'" alt="my-image"/>';
			}
		}
	}
	if(!$found)
	{
		print 'няма такова изображение';
	}
?>
Написах кода директно тук и не съм тествал, ако има някакви бъгове кажи да ги фикснем.

Поправка: Можеш да замениш моята проверка за проверявания файл, с метода предложен от потребителя над мен.
 
извинете, но май не съм написал моя въпрос точно в първото мнение.
искам да направя, като проверява за картинки, ако намери първата, да я покаже, ако не я намери, да продължи търсенето, ако намери втората, да я покаже и така до 20. Ако нито една от 20 няма, да покаже примерно "nopic.jpg". Но е важно да е до 20, не повече.
Аз постигам някакъв ефект, но не мога да го направя до 20. Моите опити са с foreach, но няма начин за "limit".
 
Пробвай така
<?php
$directory = "images";
$excemp = array(".","..","Thumbs.db");
$dh = opendir($directory);
while (($file = readdir($dh)) != false) {
if (!in_array($file,$excemp) && !is_dir($directory."/".$file) && $i <= 20) { echo $file."<br />"; $i++; }
}
if (count($i) == 0) { echo "<img src=\"nopic.jpg\" alt=\"Няма картинка\" /><br />"; }
?>
 
Благодаря ти, Replace, твоя код ми помогна с лего нагаждане към моите нужди (понеже пак не можах да обясня точно какво искам да постигна)!
 

Back
Горе