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 :: Версия для печати :: UPLOAD
Форумы портала PHP.SU » PHP » Программирование на PHP » UPLOAD

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

1. Carzil - 20 Февраля, 2010 - 20:20:46 - перейти к сообщению
PHP-обработчик:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. // Каталог, в который мы будем принимать файл:
  4. $uploaddir = './uploads/';
  5. $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
  6.  
  7. // Копируем файл из каталога для временного хранения файлов:
  8. if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
  9. {
  10. echo "<h3>Файл успешно загружен на сервер</h3>";
  11. }
  12. else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }
  13.  
  14. // Выводим информацию о загруженном файле:
  15. echo "<h3>Информация о загруженном на сервер файле: </h3>";
  16. echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
  17. echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
  18. echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
  19. echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";
  20.  
  21. ?>
  22.  

Форма загрузки:
CODE (html):
скопировать код в буфер обмена
  1. <form action='upload.php' method='post' enctype='multipart/form-data'>
  2. <input type='file' name='uploadfile'>
  3. <input type='submit' value='Загрузить'></form>


Не работает.
Говорит:
Parser пишет:
Notice: Undefined index: uploadfile in /www/zzl.org/1/2/5/1251wiki/htdo cs/reg_ok.php on line 5 Notice: Undefined index: uploadfile in /www/zzl.org/1/2/5/1251wiki/htdo cs/reg_ok.php on line 8 Warning: copy(): Unable to access in /www/zzl.org/1/2/5/1251wiki/htdo cs/reg_ok.php on line 8


Почему это не работает?
(Добавление)
Загрузки очень сложная тема, как вижу я Подмигивание .
2. RomAndry - 20 Февраля, 2010 - 21:21:03 - перейти к сообщению
Цитата:
Загрузки очень сложная тема, как вижу я

да уж чет странное у вас
print_r($_FILES);
3. Carzil - 20 Февраля, 2010 - 21:29:18 - перейти к сообщению
Пишет:
Parser пишет:
Duplicate entry '0' for key 1
4. RomAndry - 20 Февраля, 2010 - 21:38:18 - перейти к сообщению
А каким боком тут SQL?
5. Bioslave - 20 Февраля, 2010 - 21:44:08 - перейти к сообщению
Файл успешно загружен на сервер
Информация о загруженном на сервер файле:

Оригинальное имя загруженного файла: armani.jpg

Mime-тип загруженного файла: image/jpeg

Размер загруженного файла в байтах: 3983

Временное имя файла: /tmp/phpYICD9r


Скрипт
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. // Каталог, в который мы будем принимать файл:
  4.  
  5. $uploaddir = 'uploads/';
  6.  
  7. $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
  8.  
  9. // Копируем файл из каталога для временного хранения файлов:
  10.  
  11. if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
  12.  
  13. {
  14.  
  15. echo "<h3>Файл успешно загружен на сервер</h3>";
  16.  
  17. }
  18.  
  19. else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }
  20.  
  21. // Выводим информацию о загруженном файле:
  22.  
  23. echo "<h3>Информация о загруженном на сервер файле: </h3>";
  24.  
  25. echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
  26.  
  27. echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
  28.  
  29. echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
  30.  
  31. echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";
  32.  
  33. ?>
  34.  


Права на папку 0777, права на скрипт 0755 или 0777 у меня всё ок.
6. Carzil - 20 Февраля, 2010 - 21:46:29 - перейти к сообщению
Случайно не на том коде протестировал! Радость
print_r($_FILES);
Ничего не пишет.
(Добавление)
Ура, заработало! Просто у меня ещё какой-то hidden передавался!
Но теперь возник вопрос:
Parser пишет:
Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 111502 is not allowed to access /www/zzl.org/1/2/5/1251wiki/htdo cs/uploads owned by uid 2001 in /www/zzl.org/1/2/5/1251wiki/htdo cs/upload.php on line 8 Warning: copy(/www/zzl.org/1/2/5/1251wiki/htdocs/uploads/501799.jpg): failed to open stream: No such file or directory in /www/zzl.org/1/2/5/1251wiki/htdo cs/upload.php on line 8

Мой сайт не имеет доступа к этому каталогу из=за меня или из-за хостинга?
(Добавление)
Простите за глупый вопрос.
Ошибка была из-за того, что у меня права на папку были 755.
RomAndry, спасибо!
7. JustUserR - 23 Февраля, 2010 - 18:31:54 - перейти к сообщению
Carzil пишет:
Ошибка была из-за того, что у меня права на папку были 755.
Не забывайте что PHP-скрипты как правило исполняются от Apache с именем пользователя типа www-data что не соответствует имени вашего пользователя в системе - если вы не хотите давать более широкие права доступа то можно запускать PHP в виде CGI-приложений с установленным битом эффективного пользователя

 

Powered by ExBB FM 1.0 RC1