Автор Тема: Что не так со следующей конструкцией?  (Прочитано 2895 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
Что не так со следующей конструкцией:

for ($x=1; $x<=$num; $x++) {
$phfilelink = "ph$x";
$phfile = $$phfilelink;
..
# обработка двоичных файлов с именами ph1, ph2.., в
# частности применение к ним функции getimagesize($phfile);
..
}

Эту конструкцию сочинил не я, и как-то она мне не особо нравится, чисто интуитивно.. Ну еще работает она как-то очень приблизительно.. Например getimagesize видит размеры гифов, но иногда не видит размеры джейпегов.. а сам ничего менее корявого сочинить не могу.. подскажите чегой-то, пожалуйста..

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Что не так со следующей конструкцией?
« Ответ #1 : 02 Июня 2002, 12:13:12 »
проще так:
for($x=1;$x<$num;$x++) {
   
$phfile = \'ph\'.$x;
}

Цитировать
Например getimagesize видит размеры гифов, но иногда не видит размеры джейпегов..

ну тут уже дело в jpeg\'e либо в функции getImageSize

[off]переехали в php-форум[/off]
Евгений aka Razor,

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
Что не так со следующей конструкцией?
« Ответ #2 : 02 Июня 2002, 12:21:07 »
Вряд ли я не пробовал это в первую очередь.. но сейчас попробую еще раз..
кажется дело в том, что при $phfile = \'ph\'.$x; становится строковой переменной, то есть набором символов "ph1", "ph2" и так далее, и функция getimagesize() применяется к строке, а не к файлу, хотя я могу ошибаться..

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
Что не так со следующей конструкцией?
« Ответ #3 : 02 Июня 2002, 12:37:54 »
Угу.. похоже, дело не в этом:
array getimagesize(string filename [, array imageinfo]),
то есть параметр и должен быть строковой переменной..

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
Что не так со следующей конструкцией?
« Ответ #4 : 02 Июня 2002, 12:52:47 »
Britva
И таки вот, что я получаю, использую твою конструкцию:
Warning: getimagesize: Unable to open \'ph1\' for reading.

Блин, я понял в чем дело.. Главное я думал про себя, но забыл сказать вслух: вся эта обработка - обработка двоичных фалов только что переданных на сервер из формы


Вот. То есть у нас нет некоторого имени файла, который мы могли бы задать в виде строки.. или я чего-то недопонимаю..
« Последнее редактирование: 02 Июня 2002, 13:00:03 от dub »

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
Что не так со следующей конструкцией?
« Ответ #5 : 02 Июня 2002, 14:02:46 »
Так, все вспомнил... С конструкцией все в порядке...
Она как раз ссылается на переданную уже переменную $ph1 - сам аплоаднутый файл.. А глюки getimagesize() связаны со старым добрым Russian Apache  и тем, что я забыл прописать


CharsetRecodeMultipartForms Off


в .htaccess.. Кстати, этому мену уже как-то учили на этом самом форуме.. В общем, спасибо..

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28