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
Отправлено: 28 Марта, 2011 - 22:14:14
Post Id



Новичок


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


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




Доброго времени суток.

У меня есть 2 сайта, на первом скрипт отрабатывает на втором нет:
Код

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

Где
$sitename - название сайта.
$cat - каталог программы.
$prog - название программы.
$format - передаваемый формат из массива перебором с проверкой на существование.

Короче, смысл такой, на первом сайте путь к картинке берется напрямую, а на втором получается что удаленно.
В принципе на втором сайте путь пишется все верно, только в конце расширение он прописывает bmp, что находится в самом конце массива, подскажите, ПОЧЕМУ РАСШИРЕНИЯ В МАССИВЕ НЕ ПЕРЕБИРАЮТСЯ?
 
 Top
Viper
Отправлено: 29 Марта, 2011 - 07:52:29
Post Id



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


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


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




Romaxa пишет:
а на втором получается что удаленно.

Если у вас в имя файла попадает расширение, то ваша конструкция не будет работать.

(Отредактировано автором: 29 Марта, 2011 - 07:53:11)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Romaxa
Отправлено: 29 Марта, 2011 - 15:45:08
Post Id



Новичок


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


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




Тот скрипт что написан ранее рабочий, но работает только для сайта http://to4kacom[dot]ru/ , если этот скрипт прописать во второй http://soft-2[dot]ru/ то перестает работать, а хочется чтобы работал. ( в общем у массива перебор перестает работать, в конце пути прописывает bmp, а требуется jpg или png. )

Вот пример http://soft-2[dot]ru/view-soft.php?cat=6&id=411
 
 Top
JustUserR
Отправлено: 29 Марта, 2011 - 21:07:56
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Romaxa пишет:
В принципе на втором сайте путь пишется все верно, только в конце расширение он прописывает bmp, что находится в самом конце массива, подскажите, ПОЧЕМУ РАСШИРЕНИЯ В МАССИВЕ НЕ ПЕРЕБИРАЮТСЯ?
В общем случае использование размещения целевого файлового объекта в виртуальной области целевого web-сервера, на основании использования базовой конфигурации относительно политики сопоставления вложенных определенных URL-ресурсов с реальными файловыми объектами, а также проведение процесса формирования информационного поля и ассоциированного парметра MIME-типа в повышенном базовом элементном уровне трактования, предполгает возможность осуществления дифференциации оригинального расширения файлового объекта, размещенного в конструкции URL-адреса в области ассоциированного трактования именованного URL-элемента, и реального транспортируемого MIME-типа для реального информационного поля в повышенном базовом элементном уровне трактования


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
asql
Отправлено: 29 Марта, 2011 - 22:21:48
Post Id



Новичок


Покинул форум
Сообщений всего: 45
Дата рег-ции: Апр. 2010  


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




for(){} в помощь
 
 Top
Romaxa
Отправлено: 30 Марта, 2011 - 08:32:25
Post Id



Новичок


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


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




Не помогло:

<?php
// Создаем массив, куда прописываем расширения!
$img_formats = array('jpg','jpeg','png','gif','bmp');

// Цикл for используется для итераций по массиву и вывода каждого элемента
for ($i = 0; $i < sizeof($img_formats); $i++)
{
// Здесь должна лежать картинка.
$filename_big = $sitename.'/soft/'.$cat.'/'.$prog.'/big.'.$img_formats[$i];
// Проверка на существование картинки.
if (file_exists($filename_big)) {printf
?>
<img src="<?php echo $filename_big;?>"/>
<?php
;}}
?>

Все то же самое выдает....
 
 Top
Viper
Отправлено: 30 Марта, 2011 - 14:35:32
Post Id



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


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


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




Romaxa для начала clearstatcache(); перед циклом.

в цикле сделайте
PHP:
скопировать код в буфер обмена
  1. echo $sitename.'/soft/'.$cat.'/'.$prog.'/big.'.$img_formats[$i].'<br>';

убедитесь что путь правильный.

(Отредактировано автором: 30 Марта, 2011 - 14:36:05)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Romaxa
Отправлено: 30 Марта, 2011 - 18:08:00
Post Id



Новичок


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


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




По написанному сделал, вот:

<?php
clearstatcache();

// Создаем массив, куда прописываем расширения!
$img_formats = array('jpg','jpeg','png','gif','bmp');

// Цикл for используется для итераций по массиву и вывода каждого элемента
for ($i = 0; $i < sizeof($img_formats); $i++)
{
// Здесь должна лежать картинка.
echo $sitename.'/soft/'.$cat.'/'.$prog.'/big.'.$img_formats[$i].'<br>';
ДАЛЬШЕ ИДЕТ ОТ ПРЕДЫДУЩЕГО СКРИПТА...
// Проверка на существование картинки.
if (file_exists($filename_big)) {printf
?>
<?php echo $sitename.'/soft/'.$cat.'/'.$prog.'/big.'.$img_formats[$i].'<br>';?>
<div id="view-content-foto">
<a class="grouped_elements" rel="group1" style="border:none; cursor:hand;" title="Скриншот №1" href="<?php echo $filename_big;?>">
<img id="view-img" src="<?php echo $filename_big;?>"/>
</a>
</div>
<?php
КОНЕЦ ПРЕДЫДУЩЕГО СКРИПТА ;}}
?>


Если выделить строку с расширением png и открыть в новом окне то картинка откроется...

http://soft-2[dot]ru/view-soft.php?cat=6&id=411

Мне тут посоветовали что бы проверять относительные пути в системе unix, но что то тоже никак...

(Отредактировано автором: 30 Марта, 2011 - 18:10:00)

 
 Top
Romaxa
Отправлено: 30 Марта, 2011 - 23:23:26
Post Id



Новичок


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


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




Двое суток в поиске решения, и вот оно!!! справился, УРА!!! мне:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $sitename = '/home/u1-----8/to4kacom.ru/www';
  3. $sitenamereal = 'http://to4kacom.ru';
  4. $prog = $myrow['name_prog'];
  5. $img_formats = array('jpg','jpeg','png','gif','bmp');              // Создаем массив, куда прописываем расширения!
  6.  
  7.  
  8.  
  9. foreach ($img_formats as $format) {                                               // Перебираем рассширения в массиве, для вывода!
  10.         $filename_big = $sitename.'/soft/'.$cat.'/'.$prog.'/big.'.$format;                        // Вот теперь здесь точно лежит наша картинка.
  11.         if (file_exists($filename_big)) {printf                                               // Проверка на существование картинки.
  12.  
  13. ?>
  14. <div id="view-content-foto">
  15.         <a class="grouped_elements" rel="group1" style="border:none; cursor:hand;" title="Скриншот №1" href="<?PHP echo $sitenamereal.'/soft/'.$cat.'/'.$prog.'/big.'.$format;?>">
  16.                 <img id="view-img" src="<?PHP echo $sitenamereal.'/soft/'.$cat.'/'.$prog.'/big.'.$format;?>"/>
  17.         </a>
  18. </div>
  19. <?PHP
  20.                 ;}}
  21. ?>


Отредактировано модератором: JustUserR, 31 Марта, 2011 - 20:44:14
Осуществлено обрамления предполагаемого PHP-кода в соответствующий BB-тег
 
 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