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 :: Загрузка файлов на локальном сервере

 PHP.SU

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


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

> Описание: файл не загружается, tmp нет, но ошибок не выдает.
kisil-mike
Отправлено: 08 Ноября, 2012 - 20:55:34
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Окт. 2012  
Откуда: Москва


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




Проблема:
Изучаю PHP, почему-то не загружаются файлы на локальный сервер через форму.
Ошибок нет, все проходит как должно быть, но *.tmp файла в нужном месте не появляется, отсюда, как я понимаю, и ошибка. Но is_uploaded_file никаких ошибок не выдает.
Помогите, перепробовал все, что нашел в интернете, тщетно.
Настройки PHP:
upload_max_filesize = 2mb, загружаю картинки/текстовики <100кб
post_max_size = 8mb
file_uploads = on
Какие еще проверить?
Поиск tmp делал на всех дисках, ничего не нашлось.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if($_SERVER["REQUEST_METHOD"]=="POST"){
  4.     //проверка на ошибки при загрузке (все успешно)
  5.     if(is_uploaded_file($_FILES['file']['tmp_name'])){
  6.         $t = $_FILES['file']['tmp_name'];
  7.         $n = $_FILES['file']['name'];
  8.         //"переименовываем" файл
  9.         if(move_uploaded_file($t, $n))
  10.             $result = 'Все прошло успешно';
  11.         else
  12.             $result = 'move_uploaded_file не сработал';
  13.     }else{
  14.         $error = 'Ошибка';
  15.     }
  16. }
  17. ?>
  18. <!DOCTYPE HTML>
  19. <html>
  20. <body>
  21. <!-- форма загрузки -->
  22. <form action="<?=$_SERVER["PHP_SELF"]?>"  enctype="multipart/form-data" method="POST">
  23.         <input type="file" name="file" >
  24.         <input type="submit" value="Загрузить">
  25. </form>
  26. <?
  27. //Вывод значений:
  28. if($_SERVER["REQUEST_METHOD"]=="POST"){
  29.     echo '<pre>';
  30.     //в массиве ошибок так же нет
  31.     print_r($_FILES);
  32.     echo '</pre>';
  33.     echo '<h3>$t = ' . $t . '</h3>';
  34.     echo '<h3>' . $error . '</h3>';
  35.     echo '<h3>$n = ' . $n . '</h3>';
  36.     echo '<h3>$result = ' . $result . '</h3>';
  37. }
  38. ?>
  39. </body>
  40. </html>
  41.  

Вывод в браузере:

Огорчение
Проверил на виртуалке - аналогичная ситуация. Т.е. я что-то не так делаю, но вот что...
Скачать файл: phpinfo().html
Скачан раз: 67

(Отредактировано автором: 08 Ноября, 2012 - 21:03:01)



-----
Дарите радость людям!
 
 Top
pettson
Отправлено: 08 Ноября, 2012 - 21:15:31
Post Id



Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Нояб. 2011  


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




Попробуйте в move_uploaded_file() прописать полный путь к перемещаемому файлу.

(Отредактировано автором: 08 Ноября, 2012 - 21:16:54)

 
 Top
kisil-mike
Отправлено: 08 Ноября, 2012 - 21:25:18
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Окт. 2012  
Откуда: Москва


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




pettson пишет:
Попробуйте в move_uploaded_file() прописать полный путь к перемещаемому файлу.

Обалдеть. Но почему сработало? Улыбка Т.е. нужно обязательно указывать директорию?
Потратил пол дня, а до этого не додумался Недовольство, огорчение Прям аж обидно как-то...
Большое спасибо!
(Добавление)
Все же прошу пояснить.
1. tmp файл, где он? Он же должен отображаться в папке? Я убираю функцию move_uploaded_file, но файла все равно нет в папке tmp.
2. Мануал пишет:
Цитата:
Если filename не является загруженным файлом, никаких действий не предпринимается и move_uploaded_file() возвращает FALSE.
Если filename является загруженным файлом, но не может быть перемещён по каким-либо причинам, никаких действий не предпринимается и move_uploaded_file() возвращает FALSE. Кроме того, отображается предупреждение.

А на деле false не возвращается. Но ведь по Факту функция move_uploaded_file не отрабатывает(если не указывать полную директорию, а указать лишь имя файла), так?

(Отредактировано автором: 08 Ноября, 2012 - 21:26:32)



-----
Дарите радость людям!
 
 Top
snikers987
Отправлено: 08 Ноября, 2012 - 23:09:06
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


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




kisil-mike После завершения работы скрипта, все временные файлы удаляются.


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
kisil-mike
Отправлено: 08 Ноября, 2012 - 23:26:09
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Окт. 2012  
Откуда: Москва


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




snikers987, спасибо.


-----
Дарите радость людям!
 
 Top
Мелкий Супермодератор
Отправлено: 09 Ноября, 2012 - 08:34:42
Post Id



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


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


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




kisil-mike пишет:
А на деле false не возвращается.

Значит файл перемещается. Осталось только найти, куда именно Закатив глазки

kisil-mike пишет:
1. tmp файл, где он?

http://nl3.php.net/manual/en/ini...i.upload-tmp-dir
Существует файл, как уже сказано, только во время между передачей файла и завершением работы скрипта.


-----
PostgreSQL DBA
 
 Top
kisil-mike
Отправлено: 09 Ноября, 2012 - 15:46:20
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Окт. 2012  
Откуда: Москва


Помог: 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