将文件移动到不同的文件夹时出错

时间:2011-01-04 17:44:57

标签: php file directory rename move

我有这个脚本用于将文件从一个文件夹移动到另一个文件夹,但是我收到错误,

    $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 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

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