質問は: SESSION 配列で動作させる方法はありますか?
$_FILES["file"] を SESSION 配列に割り当てたため、ファイルはアップロードされません。var_dump($_SESSION['test'][1]["tmp_name"]) と var_dump($_FILES["file"]["tmp_name"]) を使用すると、同じ値が表示されます。アイデアはありますか?
//THIS WONT WORK
$_SESSION['file'][] = $_FILES["file"];
$_SESSION['file'][] = $_FILES["file2"];
foreach($_SESSION['file'] as $index => $name){
move_uploaded_file($_SESSION['file'][$index]["tmp_name"], "images/" . $rename);
}
//THIS WORKS OK
move_uploaded_file($_FILES["file"]["tmp_name"],
"images/" . $rename);
セッションを使用する必要がある理由をいくつか説明します... foreach ステートメントを使用してアップロードするファイルが複数あるため、セッションを使用する必要があります。
// print_r($_SESSION["file"]) は以下を出力します:
array(1) {
[0]=>
array(5) {
["name"]=>
string(8) "face.jpg"
["type"]=>
string(10) "image/jpeg"
["tmp_name"]=>
string(31) "C:\EasyPHP-12.1\tmp\php882C.tmp"
["error"]=>
int(0)
["size"]=>
int(22398)
}
}