1

我有这个脚本,旨在将文件从一个文件夹移动到另一个文件夹,但出现错误:

    $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
4

2 回答 2

2

您的文件名包含换行符\n。这很可能是错误的根源。尝试调用trim

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

此外,看在上帝的份上,为您的代码添加一些健全性检查。您的用户可以轻松地将web/index.php(例如)作为内容$_POST['camera']并覆盖您的 PHP 文件。

于 2011-01-04T17:50:00.563 回答
0

在使用的 POST 参数的末尾有一个 \n(换行符)。你试过删除它吗?

注意:提供的代码非常容易受到攻击。

于 2011-01-04T17:48:49.100 回答