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 に答える