За последние 24 часа нас посетили 54979 программистов и 1776 роботов. Сейчас ищут 877 программистов ...

move_uploaded_file() expects parameter 1 to be string

Тема в разделе "PHP для новичков", создана пользователем Elect, 5 сен 2015.

  1. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    В интернете по этому вопросу ничего не нашёл,я так понял,что 1 параметр должен быть строкой,но делаю как все.
    Помогите пожалуйста
    Код (PHP):
    1.  if(isset($_POST['sprofile'])){
    2.             $status = $this->TextFilter($_POST['status']);
    3.             $info = $this->TextFilter($_POST['info']);
    4.             if(isset($_FILES['avatar']['name'])){
    5.                 $uploaddir = 'user_files/avatars/';
    6.                 //новое сгенерированное имя файла
    7.                 $newFileName=$id.'.png';
    8.                 //путь к файлу (папка.файл)
    9.                 $uploadfile = $uploaddir.$newFileName;
    10.                  //загружаем файл move_uploaded_file
    11.                  echo "<pre>";
    12.                  var_dump($_FILES['avatar']['tmp_name']);
    13.                  echo "</pre>";
    14.                  $tmp_name = $_FILES['avatar']['tmp_name'];
    15.                 move_uploaded_file($tmp_name, $uploadfile);
    16.                  
    17.             }
    18.             $mysqli->query("UPDATE users SET status = '$status',info = '$info' WHERE id='$id'");
    19.             //setcookie('success','Изменения успешно сохранены',time()+3,'/settings');
    20.         } if(isset($_POST['sprofile'])){
    21.             $status = $this->TextFilter($_POST['status']);
    22.             $info = $this->TextFilter($_POST['info']);
    23.             if(isset($_FILES['avatar']['name'])){
    24.                 $uploaddir = 'user_files/avatars/';
    25.                 //новое сгенерированное имя файла
    26.                 $newFileName=$id.'.png';
    27.                 //путь к файлу (папка.файл)
    28.                 $uploadfile = $uploaddir.$newFileName;
    29.                  //загружаем файл move_uploaded_file
    30.                  echo "<pre>";
    31.                  var_dump($_FILES['avatar']['tmp_name']);
    32.                  echo "</pre>";
    33.                  $tmp_name = $_FILES['avatar']['tmp_name'];
    34.                 move_uploaded_file($tmp_name, $uploadfile);
    35.                  
    36.             }
    37.         } 
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    проверь $uploadfile :)
     
  3. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    Вроде с ним всё впорядке,да и ругается та он на первый параметр,не на второй.
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    проверь $uploadfile :)

    и покажи код самой html-формы :)
     
  5. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    Код (PHP):
    1. string(25) "/user_files/avatars/1.png"  
    Код (Text):
    1. <form method="POST" enctype="multipart/form-data">
    2. <div class="row">
    3.     <div class="row-caption">
    4.         <div class="row-caption-title">Аватар:</div>
    5.         <div class="row-caption-disc">Аватар указывается на вашей страничке</div>
    6.     </div>
    7.     <div class="row-field"><input type="file" id="files" name="avatar[]"></div><output id="list"></output>
    8.     <script type="text/javascript">
    9.       function handleFileSelect(evt) {
    10.         var files = evt.target.files; // FileList object
    11.  
    12.         // Loop through the FileList and render image files as thumbnails.
    13.         for (var i = 0, f; f = files[i]; i++) {
    14.  
    15.           // Only process image files.
    16.           if (!f.type.match('image.*')) {
    17.             continue;
    18.           }
    19.  
    20.           var reader = new FileReader();
    21.  
    22.           // Closure to capture the file information.
    23.           reader.onload = (function(theFile) {
    24.             return function(e) {
    25.               // Render thumbnail.
    26.               var span = document.createElement('span');
    27.               span.innerHTML = ['<img class="pred-avatar" src="', e.target.result,
    28.                                 '" title="', theFile.name, '"/>'].join('');
    29.               document.getElementById('list').insertBefore(span, null);
    30.             };
    31.           })(f);
    32.  
    33.           // Read in the image file as a data URL.
    34.           reader.readAsDataURL(f);
    35.         }
    36.       }
    37.  
    38.     document.getElementById('files').addEventListener('change', handleFileSelect, false);
    39.     </script>
    40. </div>
    41.     <div class="row-field"><input class="ssubmit" name="sprofile" type="submit" value="Сохранить"></div>
    42. </div>
    43. </form>
     
  6. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    а $tmp_name = $_FILES['avatar']['tmp_name']; что говорит?
     
  7. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    Что это путь до временного файла...
     
  8. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    ................ показывай вар_дамп!
     
  9. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    вар дамп uploadfile я уже кидал:
    Код (PHP):
    1. string(25) "/user_files/avatars/1.png"  
    вар дами $_FILES['avatar']['tmp_name']:
    Код (PHP):
    1. Z:\tmp\phpCA8F.tmp
     
  10. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    а какой размер загружаемого файла?
     
  11. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    23к байт

    Добавлено спустя 7 минут 26 секунд:
    Я не понимаю в чём проблема,но явно в первом параметре...Не во втором
     
  12. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    был бы ты ща рядом со мной - я бы тебе такой щелбан вставил бы!
    ты хоть бы ошибку полностью описал бы - сразу бы всё решил!!

    вот какая у меня полностью ошибка вываливается
    move_uploaded_file() expects parameter 1 to be string, array given in !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
  13. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    Аналогично
     
  14. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    исправь ошибку в html и у тебя тоже всё заработает...
     
  15. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    А можно подсказать какую?
     
  16. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    - тебе ни о чём не говорит?
     
  17. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    Скорее всего об avatar[]
     
  18. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
  19. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    Исправил и ввёл путь от корня,помогло,спасибо что объяснил :)