私のウェブサイトに少し問題があります。私は友人が自分の絵をアップロードできるサイトを作っています。XMLHttpRequest オブジェクトの .send() メソッドのおかげで、非同期アップロードを使用します。これが私のJSスクリプトです:
var f = file;
var name = f.name;
var filesize = f.size;
xhr.addEventListener("load" , function(e){
location.reload();
});
xhr.open("post", 'import.php', true);
xhr.setRequestHeader('content-type', 'multipart/form-data');
xhr.setRequestHeader('type', f.type);
xhr.setRequestHeader('filename', name);
xhr.setRequestHeader('path', '<?php echo $path ?>');
xhr.send(f);
アップロードしたファイルを保存するPHPページは次のとおりです。
extract($_SERVER);
$file = $HTTP_FILENAME;
$newPath = $HTTP_PATH;
$extension = explode('.',$file);
$extension = $extension[1];
if($extension == 'jpg' || $extension == 'zip'){
exec('cd '.IMG_ROOT);
$handle = fopen($newPath.$file, "w+");
/*
Adding line after line the source file datas in the destination file
*/
// Get the uploaded file
$uploadedFile = fopen("php://input", "r+");
if($uploadedFile)
{
while ($buffer = fgets($uploadedFile))
{
fwrite($handle, $buffer);
}
}
fclose($handle);
if($extension == 'zip'){
$unzip = exec('which unzip');
exec($unzip.' '.$newPath.$file);
$rm = exec('which rm');
exec('rm '.$newPath.$file);
}
}
私の問題は、オンラインではなくローカルホストでテストすると、これが完全に正常に機能することです...ファイルが送信されないようです...何か間違ったことをしたかどうか誰か教えてもらえますか? および/または send() メソッドとファイルの送信先を説明するものにリダイレクトしますか?
ありがとうございました