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 » » Работа с файловой системой и файлами » Не могу получить превьюшки.

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

1. Ejik - 17 Мая, 2011 - 09:53:56 - перейти к сообщению
Всем привет!
Что хочу: При загрузке фото на сайт, создавалось уменьшеная копия фотки.
В инете нашел рабочий скрипт http://recens[dot]ru/php/resize_and_crop[dot]html
Сделал так:
PHP:
скопировать код в буфер обмена
  1.  
  2. include "config.php";
  3.  include "resize_crop.php";
  4.  $url=$_SERVER['QUERY_STRING'];
  5.  parse_str($url, $out);
  6.  $tbname=$out['tbname'];
  7.  
  8.  
  9.  if ($_REQUEST['save'])
  10.  {
  11.  
  12.  if ($_FILES['filename']['name']!="") {
  13.  $file=$_FILES['filename']['name'];
  14.                    
  15.  // Загрузка файла-аттача
  16.  // Проверяем, не является ли файл скриптом PHP или Perl, html, если это так преобразуем его в формат .txt
  17.  
  18.    $extentions = array("#\.php#i",
  19.                          "#\.phtml#i",
  20.                          "#\.php3#i",
  21.                          "#\.html#i",
  22.                          "#\.htm#i",
  23.                          "#\.hta#i",
  24.                          "#\.pl#i",
  25.                          "#\.xml#i",
  26.                          "#\.inc#i",
  27.                          "#\.shtml#i",
  28.                          "#\.xht#i",
  29.                          "#\.xhtml#i");
  30.  // Извлекаем из имени файла расширение
  31.  $ext = strrchr($_FILES['filename']['name'], ".");
  32.  // Проверяем размер файла
  33.  if ($_FILES["filename"]["size"] > 1024*5*1024)
  34.      {
  35.    echo "Размер файла превышает 5 мегабайта";
  36.        exit;
  37.      }
  38.          
  39.  // Формируем путь к файлу оригенала  
  40.      $path="../../dofc/img/big/".date("YmdHis",time()).$ext;
  41.      foreach($extentions AS $exten)
  42.      {
  43.        if(preg_match($exten, $ext)) $path="../../dofc/img/big/".date("YmdHis",time()).".".$ext;
  44.      }
  45.      
  46.      // Перемещаем файл из временной директории сервера в
  47.      // директорию /files Web-приложения
  48.      if (copy($_FILES['filename']['tmp_name'], $path))
  49.      {
  50.        // Уничтожаем файл во временной директории
  51.        unlink($_FILES['filename']['tmp_name']);
  52.        // Изменяем права доступа к файлу
  53.        chmod($path, 0644);
  54.      }
  55.      
  56.  }
  57.  else { echo "Файла нет";
  58.        exit;
  59.      }
  60.  // Формируем превью
  61.  resize($path, 'Smal.jpg', 50, 50, true);
  62.  
  63.  

Превью не создается, видемо я не втом месте вызываю функцию resize
В броузере выходмит такое сообщение:Notice: Undefined variable: file_output in C:\www\ejik.kz\DofC\admin\resize_crop.php on line 46
Помогите решить эту проблему.
2. Uchkuma - 17 Мая, 2011 - 11:14:42 - перейти к сообщению
Ejik пишет:
Notice: Undefined variable: file_output in C:\www\ejik.kz\DofC\admin\resize_crop.php on line 46
В каком файле ошибка?
3. Ejik - 17 Мая, 2011 - 11:25:19 - перейти к сообщению
Uchkuma пишет:
В каком файле ошибка?

Ошибка в моём скрипте, т.е при загрузке картинки на сайт, как я понимаю функция не может получить размер этой самой картинки, и соответственно выкидывает ошибку.
Это я так понил. Не понял
4. Uchkuma - 17 Мая, 2011 - 11:31:13 - перейти к сообщению
Notice: Undefined variable: file_output in C:\www\ejik.kz\DofC\admin\resize_crop.php on line 46
Ejik пишет:
Это я так понил.
Как это вы так поняли?
5. Ejik - 17 Мая, 2011 - 11:44:42 - перейти к сообщению
Uchkuma пишет:
Notice: Undefined variable: file_output in C:\www\ejik.kz\DofC\admin\resize_crop.php on line 46
Ejik пишет:
Это я так понил.
Как это вы так поняли?

Я так думаю, но так как я еще зеленый, то канечно могу ошибаться, по этому и прошу помощи.
6. Uchkuma - 17 Мая, 2011 - 13:02:27 - перейти к сообщению
Блин, третий раз вас носом тыкаю!
Цитата:
Notice: Undefined variable: file_output in C:\www\ejik.kz\DofC\admin\resize_crop.php on line 46

Уведомление: Неопределенная переменная file_output в файле C:\www\ejik.kz\DofC\admin\resize_crop.php в строке 46
7. Ejik - 17 Мая, 2011 - 13:26:02 - перейти к сообщению
Uchkuma пишет:
Блин, третий раз вас носом тыкаю!

Uchkuma, Огромное вам спасибо!!!
Да, стыдно конечно на такой ерунде два дня потерять.
Наверно когда просматривал код скаченный с сайта, случайно удалил символ из строки
PHP:
скопировать код в буфер обмена
  1. function resize($file_input, $file_outpu, $w_o, $h_o, $percent = false)

После Вашего пенка нашел ошибку и исправил
PHP:
скопировать код в буфер обмена
  1. function resize($file_input, $file_output, $w_o, $h_o, $percent = false)
8. Uchkuma - 17 Мая, 2011 - 14:09:44 - перейти к сообщению
Пожалуйста! Большинство ошибок у новичков из-за банальной невнимательности.

 

Powered by ExBB FM 1.0 RC1