Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проверка на существование расширения файла.
Форумы портала PHP.SU » PHP » Программирование на PHP » Проверка на существование расширения файла.

Страниц (1): [1]
 

1. Romaxa - 26 Марта, 2011 - 10:24:17 - перейти к сообщению
Добрый день!
Ребята подскажите, плиз, вот тут есть такой код:

путь к картинке:
$filename = 'soft/'.$cat.'/'.$prog.'/big.jpg'.'';

где $cat и $prog подставляемые, правильные пути.
в общем при таком раскладе все работает ок!

НО! у меня по этому пути есть не только JPG, но и PNG, GIF, так вот, подскажите как сделать проверочку на существование расширения.

По моим прикидкам надо сначала загнать в массив расширение:

$filename = 'soft/'.$cat.'/'.$prog.'/big.'.$img_formats = array('jpg','jpeg','png','gif','bmp');

а дальше что то никак, вывод через echo результаты не дает...



Итоговый код идет такой:
$filename = 'soft/'.$cat.'/'.$prog.'/big.'здесь как то прописывается расширение, с проверкой его существования...'
if (file_exists($filename)) {printf // Проверка на существование картинки.
?>
<a title="Скриншот №1" href="http://to4kacom[dot]ru/<?php echo $filename;?>">
картинка
</a>
?>
2. DeepVarvar - 26 Марта, 2011 - 10:28:26 - перейти к сообщению
А где сами пути к картинкам и имена хранятся?
3. Romaxa - 26 Марта, 2011 - 10:44:42 - перейти к сообщению
Понимаете, в том то и дело, что раньше они хранились в б.д., а теперь хочу облегчить себе работу и сделать так чтобы они автоматом подтягивались без прописания пути в б.д., допустим на моем сайте картинка располагается здесь:
http://to4kacom[dot]ru/soft/games/Super balls 1.00.9 rus/big.jpg

что я делаю:
$filename = присваиваю путь = 'soft/'.$cat.'/'.$prog.'/big.jpg;

для $cat:
if ($myrow['cat']==11) {$cat ='games';}
для $prog:
беру из б.д. заранее прописанный путь.

Все картинки у меня названы по одинаковому big , только вот расширения у них разные, вот я и хотел, что бы Вы помогли мне разобраться как их подставлять с проверкой на существование того или иного расширения!

Если я правильно понял Ваш вопрос, то тогда вот такой ответ!
4. DeepVarvar - 26 Марта, 2011 - 10:48:36 - перейти к сообщению
Проверка одногоимени файла:
PHP:
скопировать код в буфер обмена
  1. foreach ($img_formats as $format) {
  2.         $filename = 'soft/'.$cat.'/'.$prog.'/big.'.$format;
  3.         if (file_exists($filename)) echo 'Ok!';
  4.         }
5. Romaxa - 26 Марта, 2011 - 10:55:29 - перейти к сообщению
Не получилось, вот посмотрите уже готовый код:


<?php
$prog='Super balls 1.00.9 rus';

if ($myrow['cat'] == 2) {$cat ='internet';}
if ($myrow['cat']==3) {$cat ='multimedia';}
if ($myrow['cat']==4) {$cat ='themes';}
if ($myrow['cat']==5) {$cat ='utilites';}
if ($myrow['cat']==10) {$cat ='sistems';}
if ($myrow['cat']==6) {$cat ='redactor';}
if ($myrow['cat']==7) {$cat ='protection';}
if ($myrow['cat']==8) {$cat ='other';}
if ($myrow['cat']==11) {$cat ='games';}
if ($myrow['cat']==9) {$cat ='portable';}
?>

<?php
foreach ($img_formats as $format) {
$filename = 'soft/'.$cat.'/'.$prog.'/big.'.$format;
if (file_exists($filename)) echo 'Ok!';
}
; // Путь туда где лежит наша картинка.
?>

<?php
if (file_exists($filename)) {printf // Проверка на существование картинки.
?>
<div id="view-content-foto">
<a class="grouped_elements" rel="group1" style="border:none; cursor:hand;" title="Скриншот №1" href="http://to4kacom[dot]ru/<?php echo $filename;?>">
<img id="view-img" src="http://to4kacom[dot]ru/<?php echo $filename;?>"/>
</a>
</div>
<?php }
else {echo '<div style="padding:15px;">Информации нет, поле пусто!</div>';} // Иначе если картинки не существует выводим это сообщение!
?>


Посмотреть результат можно здесь! http://to4kacom[dot]ru/view-soft1.php?id=744

Что я не так сделал?
6. DeepVarvar - 26 Марта, 2011 - 11:03:42 - перейти к сообщению
Цикл вставить в нужное место, я же с казал что это для одной картинки для текущего пути. А у вас он отдельно что-то там высчитывает.

Вместо echo 'Ok!'; пишем echo '<div id="view-content-foto"......
7. Romaxa - 26 Марта, 2011 - 11:12:18 - перейти к сообщению
При таком раскладе, что то тоже не сработало...

<?php
foreach ($img_formats as $format) {
$filename = 'soft/'.$cat.'/'.$prog.'/big.'.$format;
if (file_exists($filename)) {printf
?>

<div id="view-content-foto">
<a class="grouped_elements" rel="group1" style="border:none; cursor:hand;" title="Скриншот №1" href="http://to4kacom[dot]ru/<?php echo $filename;?>">
<img id="view-img" src="http://to4kacom[dot]ru/<?php echo $filename;?>"/>
</a>
</div>
<div id="shadow-center">&nbsp;</div> <!-- Тень внизу, по центру -->';

<?php
}}
?>
8. Romaxa - 27 Марта, 2011 - 00:58:28 - перейти к сообщению
Разобрался!

<?php
$img_formats = array('jpg','jpeg','png','gif','bmp');
foreach ($img_formats as $format) {
$filename = 'soft/'.$cat.'/'.$prog.'/big.'.$format;
if (file_exists($filename)) {printf
?>

Днем просто на работу спешил!!! Радость
(Добавление)
Спасибо!!!

 

Powered by ExBB FM 1.0 RC1