1

しばらくの間、ファイルをアップロードしようとしmove_uploaded_fileましたが、何らかの理由で奇妙なことが起こりました。これが私が今使っている私のコードです:

$rand = rand();
$_SESSION['rand'] = $rand;

$uploaddir = "csv/";  
$uploadfile = $uploaddir . $_SESSION['rand'] . basename($_FILES['file']['name']);
$_SESSION['filenaam'] = $_SESSION['rand'].$_FILES['file']['name'];

if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) 
    {
        echo "File is valid, and was successfully uploaded.\n";
    } 
    else
    {
        echo "Upload failed";
    }

これをアップロードしようとすると$uploadfileうまくいき、csv マップで見つけることができますが、2 つの問題があります。1 つ目は、ファイルがアップロードされていても、常にelse respond(echo "Upload failed outlook";). 2 つ目は、保存しようとしているファイルの名前が$_SESSION['filenaam']大きく異なることです。何らかの理由で、1 つ目の結果の代わりに rand 関数が再利用されています。

誰かがこの問題で私を助けることができますか?

4

2 に答える 2

1

uniqid(); をランダムに使用するのではなく、これを行う方がおそらく良いでしょう。代わりに、rand() 関数を呼び出すたびに異なる値が生成されます。

于 2013-09-24T14:08:16.977 に答える