Я получаю сообщение об ошибке при перемещении файлов в разные папки - PullRequest
1 голос
/ 04 января 2011

У меня есть этот скрипт, который предназначен для перемещения файла из одной папки в другую, но я получаю сообщение об ошибке:

    $photo= $_POST['camera']; // i.e. 45647.jpg

   //move file to userpics/ folder

    rename ("../uploads/$photo", "../userpics/$photo");

но я получаю эту ошибку:

Warning: rename(/uploads/1czcec43s.jpg\n,/userpics/1czcec43s.jpg\n) [function.rename]: No error in .. on line 24

Ответы [ 2 ]

2 голосов
/ 04 января 2011

Ваши имена файлов содержат переносы строк \n. Это может быть источником ошибки. Попробуйте позвонить trim:

$photo = trim($_POST['camera']); // i.e. 45647.jpg
rename ("../uploads/$photo", "../userpics/$photo");

Кроме того, ради всего святого, добавьте в свой код проверку работоспособности. Ваш пользователь может легко поместить web/index.php (например) в качестве содержимого $_POST['camera'] и перезаписать ваш файл PHP.

0 голосов
/ 04 января 2011

В конце используемого параметра POST есть \ n (перевод строки).Вы пытались удалить его?

Примечание: представленный код очень уязвим.

...