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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проверка на существование расширения файла.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: какое расширение у файла?
Romaxa
Отправлено: 26 Марта, 2011 - 10:24:17
Post Id



Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 0 раз(а)




Добрый день!
Ребята подскажите, плиз, вот тут есть такой код:

путь к картинке:
$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>
?>
 
 Top
DeepVarvar Супермодератор
Отправлено: 26 Марта, 2011 - 10:28:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




А где сами пути к картинкам и имена хранятся?
 
 Top
Romaxa
Отправлено: 26 Марта, 2011 - 10:44:42
Post Id



Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 0 раз(а)




Понимаете, в том то и дело, что раньше они хранились в б.д., а теперь хочу облегчить себе работу и сделать так чтобы они автоматом подтягивались без прописания пути в б.д., допустим на моем сайте картинка располагается здесь:
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 , только вот расширения у них разные, вот я и хотел, что бы Вы помогли мне разобраться как их подставлять с проверкой на существование того или иного расширения!

Если я правильно понял Ваш вопрос, то тогда вот такой ответ!

(Отредактировано автором: 26 Марта, 2011 - 10:47:42)

 
 Top
DeepVarvar Супермодератор
Отправлено: 26 Марта, 2011 - 10:48:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Проверка одногоимени файла:
PHP:
скопировать код в буфер обмена
  1. foreach ($img_formats as $format) {
  2.         $filename = 'soft/'.$cat.'/'.$prog.'/big.'.$format;
  3.         if (file_exists($filename)) echo 'Ok!';
  4.         }
 
 Top
Romaxa
Отправлено: 26 Марта, 2011 - 10:55:29
Post Id



Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 0 раз(а)




Не получилось, вот посмотрите уже готовый код:


<?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

Что я не так сделал?
 
 Top
DeepVarvar Супермодератор
Отправлено: 26 Марта, 2011 - 11:03:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Цикл вставить в нужное место, я же с казал что это для одной картинки для текущего пути. А у вас он отдельно что-то там высчитывает.

Вместо echo 'Ok!'; пишем echo '<div id="view-content-foto"......
 
 Top
Romaxa
Отправлено: 26 Марта, 2011 - 11:12:18
Post Id



Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 0 раз(а)




При таком раскладе, что то тоже не сработало...

<?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
}}
?>
 
 Top
Romaxa
Отправлено: 27 Марта, 2011 - 00:58:28
Post Id



Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 0 раз(а)




Разобрался!

<?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
?>

Днем просто на работу спешил!!! Радость
(Добавление)
Спасибо!!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB