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 » Серверное администрирование » Администрирование *nix » На локальном сервере не загружается картинка!

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

1. kappa - 09 Сентября, 2011 - 13:16:11 - перейти к сообщению
Всем доброго дня, вот никак не выходит загрузить файл на локальной машине.

На локальном сервере не загружается картинка, а на хостинге все нормально загружается.
file_uploads ON
Вот данные print_f

PHP:
скопировать код в буфер обмена
  1. Array ( [userfile] => Array ( [name] => img02.jpg [type] => image/jpeg [tmp_name] => /tmp/phpe5yGam [error] => 0 [size] => 18461 ) ) upload/img02.jpg


Сам код загрузки свел к минимуму вот:
PHP:
скопировать код в буфер обмена
  1. print_r($_FILES);
  2. $dir = 'upload/';
  3. $file = $dir.basename($_FILES['userfile']['name']);
  4. move_uploaded_file($_FILES['userfile']['tmp_name'],$file);
  5. echo $tempname;
  6. echo $file;


CODE (html):
скопировать код в буфер обмена
  1. <form enctype="multipart/form-data" action="files.php" method="POST"/>
  2. <!--<input type="hidden" name="MAX_FILE_SIZE" value="51200"/>-->
  3. <input type="file" name="userfile"/>
  4. <input type="submit" value="Загрузить"/>
  5.  
  6. </form>
2. Viper - 12 Сентября, 2011 - 07:16:40 - перейти к сообщению
kappa какую ошибку в логах пишет?
3. kappa - 12 Сентября, 2011 - 09:04:48 - перейти к сообщению
Viper
В браузере никакой ошибки не выдно, а если в логах сервера дак я не знаю где смотреть.
Тут видно что должно передаваться, а в итоге папка пустая.

Цитата:
Array ( [userfile] => Array ( [name] => 65fa5248e9d3.jpg [type] => image/jpeg [tmp_name] => /tmp/phpG5uFyu [error] => 0 [size] => 8429 ) ) upload/65fa5248e9d3.jpg


и права стоят 777, мистика да и только...
4. Viper - 12 Сентября, 2011 - 10:31:38 - перейти к сообщению
kappa ну обычно хотя и не всегда логи лежат в var/logs/apache2 или в var/www/vhosts/logs и иже с ними либо apache/logs

kappa а что хоть происходит? Просто белая страница?
5. kappa - 12 Сентября, 2011 - 10:57:34 - перейти к сообщению
Viper
У меня оказались логи в /var/log/httpd/error_log
Вот часть с того файла
Спойлер (Отобразить)


А за что тогда отвечает access_log ?

Цитата:
а что хоть происходит? Просто белая страница?

остается все без изменений, как были кнопки так и остались., видимость вроде загрузился но папка пустая.
6. Viper - 12 Сентября, 2011 - 11:28:37 - перейти к сообщению
Начнем с того что
Цитата:
Warning: move_uploaded_file(/upload/65fa5248e9d3.jpg): failed to open stream

Путь точно правильный? Т.к. ./upload/... указывает на путь от текущего местоположения запускаемого скрипта. А в вашм случае он указывает на путь от корня системы.

kappa пишет:
А за что тогда отвечает access_log ?

Это логи доступа к сайту.
kappa пишет:
видимость вроде загрузился но папка пустая.

что покажет?
7. DeepVarvar - 12 Сентября, 2011 - 12:45:27 - перейти к сообщению
kappa пишет:
failed to open stream: Permission denied in /var/www/html/files.php on line 20

Что в 20-ой строке???
8. kappa - 12 Сентября, 2011 - 16:47:59 - перейти к сообщению
А папка у меня находится в корне сайта.
Делаю уже так и все равно не хочет.

PHP:
скопировать код в буфер обмена
  1.  
  2. $aa = $_FILES['filename']['tmp_name'];
  3. $bb = "upload/".$_FILES['filename']['name'];
  4.  
  5. echo "<br/>";      
  6. echo $_FILES['filename']['tmp_name'];
  7.  
  8. echo "<br/>";
  9. echo $_FILES['filename']['size'];
  10.  
  11. echo "<br/>";
  12. echo $_FILES['filename']['type'];
  13.  
  14. echo "<br/>";
  15.  echo $_FILES['filename']['name'];
  16.  echo "<br/>";
  17.  echo $bb;    
  18.  
  19. move_uploaded_file($aa, $bb); // line 43
  20.  
  21.  


Выводит:
Цитата:

/tmp/phppk6NYO
83156
image/png
regexp.png
upload/regexp.png





error_log

Спойлер (Отобразить)
9. DeepVarvar - 12 Сентября, 2011 - 16:53:55 - перейти к сообщению
kappa пишет:
on line 43
что в 43 строке?
(Добавление)
# chmod -R 0777 /var/www/html/upload
10. kappa - 12 Сентября, 2011 - 17:11:46 - перейти к сообщению
DeepVarvar

В 43 строку move_uploaded_file($aa, $bb);

Я такое уже пробовал,
chmod -R 0777 /var/www/html/upload
проверил через MC все права полностью установлены.
Это у меня только на локальном сервере такое, а на хостинге все нормально работает.

Буду еще раз смотреть в настройках апача может что найду.
11. DeepVarvar - 12 Сентября, 2011 - 17:12:43 - перейти к сообщению
Что такое МС?
12. kappa - 12 Сентября, 2011 - 18:36:52 - перейти к сообщению
DeepVarvar пишет:
Что такое МС?


это консольный Midnight Commander запускается командой mc с консоли.
13. DeepVarvar - 12 Сентября, 2011 - 18:41:26 - перейти к сообщению
никогда не пользовался таким.
Всеже поставьте от root'а, напрямую в bash'е права 777 на целевую папку рекурсивно.
Сдается мне что проблема именно в этом.
14. kappa - 12 Сентября, 2011 - 18:57:15 - перейти к сообщению
DeepVarvar
CODE (htmlphp):
скопировать код в буфер обмена
  1. напрямую в bash'е права 777 на целевую папку рекурсивно.

а это как понять?

Попробую перенести в /home/users/ может будет толк....
15. DeepVarvar - 12 Сентября, 2011 - 20:38:06 - перейти к сообщению
Открываешь кансоль (в гноме Super+T) И не знаю чо у тя там за линукс:
Пишешь в кансоли: su и вводишь пароль рута (или sudo su для бубунтоподобных и вводишь свой пользовательский пароль)
Там знак доллара ~$ должен сменица на решетку # и там пишешь:
chmod -R 0777 /var/www/html/upload

Выйти из рута: Ctrl+D

kappa пишет:
Попробую перенести в ....

Да хоть куда переноси - права всеравно ставить придется.

 

Powered by ExBB FM 1.0 RC1