Ajax的なやつでファイルアップロードすること多いけど毎回探しているので置いておきます。
セキュリティー的なことは気にせず置いておく。
upload.php
<?php
if( isset($_FILES["fileupload"]) ){
// 一時アップロード先ファイルパス
$file_tmp = $_FILES["fileupload"]["tmp_name"];
// 保存先ファイルパス
$file_save = "C:\\xampp\\htdocs\\" . $_FILES["fileupload"]["name"];
// ファイル移動
$result = @move_uploaded_file($file_tmp, $file_save);
if ( $result === true ) {
echo "upload OK";
} else {
echo "upload NG";
}
}
?>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>upload</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<form id="upload_form">
<input type="file" name="fileupload">
<button type="button" onclick="file_upload()">File Upload</button>
</form>
<script>
function file_upload()
{
// フォームデータを取得
var formdata = new FormData($('#upload_form').get(0));
// POSTでアップロード
$.ajax({
url : "upload.php",
type : "POST",
data : formdata,
cache : false,
contentType : false,
processData : false,
dataType : "html"
})
.done(function(data, textStatus, jqXHR){
alert(data);
})
.fail(function(jqXHR, textStatus, errorThrown){
alert("fail");
});
}
</script>
</body>
</html>
リロードも何も発生しません。
シンプルですが何かやるときはこれをベースにしたいと思っているので自分用に置いておきます。
関連記事