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

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

1. newbie_one - 25 Июля, 2011 - 04:44:46 - перейти к сообщению
Помогите пожалуйста разобраться с move_uploaded_file, с помощью следующего фрагмента кода файл с компьютера пользователя должен закачиваться на сервер в определенную директорию. Но что-то идет не так, не могу понять в чем проблема.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     session_start();
  3.     include("conf.php");
  4.  
  5.     if(isset($_SESSION['user_id']) && isset($_SESSION['user_login'])) {
  6.         $ul = $_SESSION['user_login'];
  7.         echo "Привет $ul";
  8.         echo "<br>";
  9.        
  10.         if(isset($_FILES['upfile'])) {
  11.             echo "Начинаем аплоудить";
  12.             echo "<br>";
  13.             echo "Имя файла на машине клиента :" . $_FILES['upfile']['name'];
  14.             echo "<br>";
  15.             echo "Временное имя на сервере :" . $_FILES['upfile']['tmp_name'];
  16.             echo "<br>";
  17.             echo "Размер файла :" . $_FILES['upfile']['size'];
  18.             echo "<br>";
  19.            
  20.             $upl = $uploaddir . basename($_FILES['upfile']['name']);
  21.             echo "Сохранять будем сюда : $upl";
  22.  
  23.            if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {
  24.                 if(move_uploaded_file($_FILES['upfiles']['tmp_name'], $upl)) {
  25.                         echo "<br>";
  26.                         echo "Файл успешно загружен";
  27.                 }
  28.                 else {
  29.                         echo "<br>";
  30.                         echo "Проблеммы при загрузке.";
  31.                         echo "<br>";
  32.                         echo  "Upload dir is_writable = ";
  33.                         var_dump(is_writable($uploaddir));
  34.                         echo "<br>";
  35.                         print_r ($_FILES['upfile']);
  36.                         };
  37.            }
  38.            else {
  39.                 echo "is_uploaded_file = false";
  40.                 echo "<br>";
  41.                 print_r ($_FILES['upfile']);
  42.            };
  43.         }
  44.         else {
  45.             echo "Нечего аплоудить";
  46.         };
  47.  
  48.        
  49.     }
  50.     else {
  51.         echo "Мы незнакомы.";  
  52.     };
  53.  
  54. ?>
  55.  
  56. <html>
  57.     <head>
  58.         <title>Сохраняем файл</title>
  59.     </head>
  60.     <body>
  61.         <form enctype="multipart/form-data" action="fileupload.php" method="post">
  62.             <input type="file" size=52 name="upfile"/>
  63.             <br>
  64.             <input type="submit" value="Сохранить файл."/>
  65.         </form>
  66.     </body>
  67. </html>


В окне браузера при нажатии кнопки "Сохранить файл" отображается следующее.

Привет User1
Начинаем аплоудить
Имя файла на машине клиента :mysqlhelp.txt
Временное имя на сервере :C:\TEMP\php17.tmp
Размер файла :12893
Сохранять будем сюда : D:\01\mysqlhelp.txt
Проблеммы при загрузке.
Upload dir is_writable = bool(true)
Array ( [name] => mysqlhelp.txt [type] => text/plain [tmp_name] => C:\TEMP\php17.tmp [error] => 0 [size] => 12893 )


Все пути верные и доступны для чтения/записи.
2. PATCH - 25 Июля, 2011 - 06:52:46 - перейти к сообщению
а ты попробуй загрузить файл в папку где стоит этот php сценарий
т.е путь закачки будет / .. чисто попробуй получится или нет
3. newbie_one - 25 Июля, 2011 - 08:41:14 - перейти к сообщению
Попробовал та же проблема. Возможно ли что сам Apache или php настроены не верно?
4. illy - 25 Июля, 2011 - 10:29:50 - перейти к сообщению
У тя ошибка:
if(move_uploaded_file($_FILES['upfiles']['tmp_name'], $upl)) {

не upfiles а upfile без s
5. newbie_one - 25 Июля, 2011 - 10:45:41 - перейти к сообщению
Спасибо, да в этом и была проблема, постараюсь быть внимательнее следующий раз.

Блин два дня потерял из-за ерунды. Улыбка
6. illy - 25 Июля, 2011 - 11:25:32 - перейти к сообщению
у мя тож бывает ошибка в одной букве Радость
7. Мелкий - 25 Июля, 2011 - 11:33:09 - перейти к сообщению
error_reporting(32767); сделайте, будет орать на необъявленные переменные хотя бы.

 

Powered by ExBB FM 1.0 RC1