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 :: Загрузка файлов fileuploader.js

 PHP.SU

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


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

> Описание: Ошибка: imagecreatefromjpeg() expects parameter 1 to be string, resource given
dmaw
Отправлено: 25 Мая, 2012 - 13:51:04
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


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




Есть очень заманчивый скрипт "fileuploader.js" (Ajax upload) для загрузки файлов на сервер со всякими прибамбасами.
Оф.сайт: http://github[dot]com/valums/file-uploader

Скрипт передаёт на сервер $_GET['qqfile'] где дальше это надо обработать и сохранить должным образом.

Я загружаю картинку и дальше откровенно говоря начинаются извращения.

Так я получил ресурс (Resource id #8):

PHP:
скопировать код в буфер обмена
  1. if(!empty($_GET['qqfile']))
  2. {
  3.      $input = fopen("php://input","r");
  4.      $temp = tmpfile();
  5.      $realSize = stream_copy_to_stream($input, $temp);
  6.      fclose($input);
  7. }

Далее мне нужно картинку уменьшить и сохранить на сервере:

И вот тут-то и возникает ошибка: imagecreatefromjpeg() expects parameter 1 to be string, resource given

Проверил переменную так:

и получил значение stream, я так понял что ошибка из-за того, что вместо ресурса я получил некий поток, но как из этого получить именно ресурс?

А может кто сталкивался с таким плагином и есть другие решения этой задачи?

P.S. Массив $_FILES пустой и работать там не с чем.
Использовал материалы этой статьи

(Отредактировано автором: 25 Мая, 2012 - 13:54:05)

 
 Top
Мелкий Супермодератор
Отправлено: 25 Мая, 2012 - 14:24:11
Post Id



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


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


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




dmaw пишет:
вместо ресурса

Вместо строки - пути к изображению.

Что-то вроде
PHP:
скопировать код в буфер обмена
  1. $filename = tempnam('/tmp', 'inputgd');
  2. file_put_contents($filename, file_get_contents("php://input"));
  3. /**/
  4. unlink($filename);


-----
PostgreSQL DBA
 
 Top
dmaw
Отправлено: 25 Мая, 2012 - 14:36:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


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




С ума сойти, сутки убил на поиски решения, оказалось всё просто, но лично я сам бы в жизни не догадался, что такое может быть.

Создать пустой файл в папке /tmp, получить данные в виде текстовй строки и записать их в новый файл.

Мелкий, спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB