ここで問題が発生します。 JSを使用してファイルコントロールuserfile=document.gの値を取得します"/> ここで問題が発生します。 JSを使用してファイルコントロールuserfile=document.gの値を取得します">
ホームページ >バックエンド開発 >PHPチュートリアル >ファイルのアップロード $_FILES[] に関する質問
ファイルアップロード$_FILES[]の問題について!
$_FILES["userfile"]ここで userfile はフロントエンドのコントロールの名前である必要があります
これで問題: 。 JS
を使用してファイル コントロールの値 userfile=document.getElementById("userfile").value;
を取得し、ajax
$.ajax({
を通じてバックグラウンドで処理します) url:from.attr( 'action'),
data:"HeadImg="+userfile+"",
type:"post",
dataType:"text",
success:function( data){
document.write(data);
//alert(data)
if(data=="1"){
window.location.href("home.php") ;
}
}
});
その後、バックグラウンド
$POST['HeadImg'] はユーザーファイル
の値を受け入れることができますが、
は次のように記述されますこの
move_uploaded_file( $_FILES[$POST['HeadImg']][temp_name],dirname(__FILE__).$_FILES[$POST['HeadImg']]['name']);
影響はありません。ファイルをアップロードできない場合はどうなりますか。 。
$_FILES[$POST['HeadImg']][temp_name] と書くことはできないのでしょうか?
-----解決策---------
つまり、クライアントは HTTP POST 経由でファイルをサーバーにアップロードし、サーバーの一時ディレクトリ (php.ini で設定) に保存します。ファイル アドレスは $_FILES['UpdataHeadimg']['tmp_name'] (ファイル名は暗号化されます)
move_uploaded_file() の機能は、一時ディレクトリ内のファイルを新しいディレクトリに移動することに限定されています。また、サーバーはクライアントのファイルを積極的に読み取ることができないため、これがクライアントからサーバーにファイルをアップロードする唯一の方法です。