現在の言語: 日本語 |
ファイルアップロード |
ajax |
[test6.php]
header('Content-Type: application/json; charset=UTF-8');
$response = [];
$uploadDir = 'uploads/'; // 保存先ディレクトリ
if (!is_dir($uploadDir)) {
mkdir($uploadDir, 0755, true);
}
if (isset($_FILES['image']) && $_FILES['image']['error'] === UPLOAD_ERR_OK) {
$fileTmpPath = $_FILES['image']['tmp_name'];
$fileName = basename($_FILES['image']['name']);//パスを除くファイル名を取得
$fileNameCmps = explode(".", $fileName);
$fileExtension = strtolower(end($fileNameCmps));
$newFileName = md5(time() . $fileName) . '.' . $fileExtension;
$destPath = $uploadDir . $newFileName;
$allowedfileExtensions = array('jpg', 'png', 'gif', 'jpeg');
if (in_array($fileExtension, $allowedfileExtensions)) {
// ファイルを一時ディレクトリから指定の場所に移動
if (move_uploaded_file($fileTmpPath, $destPath)) {
$response['status'] = 'success';
$response['message'] = 'ファイルが正常にアップロードされました。';
//$response['file_url'] = $destPath; // ブラウザからアクセスできるURL
$response['file_url'] = 'img/' . $destPath;
} else {
$response['status'] = 'error';
$response['message'] = 'ファイルの移動に失敗しました。ディレクトリの書き込み権限を確認してください。';
}
} else {
$response['status'] = 'error';
$response['message'] = '許可されていないファイル形式です。';
}
} else {
$response['status'] = 'error';
$response['message'] = 'ファイルアップロードエラー。';
}
// JSONを返す
echo json_encode($response);
copy
[test6.php]
header(‘Content-Type: application/json; charset=UTF-8’);
$response = [];
$uploadDir = ‘uploads/’; // Destination directory
if (!is_dir($uploadDir)) {
mkdir($uploadDir, 0755, true);
}
if (isset($_FILES[‘image’]) && $_FILES[‘image’][‘error’] === UPLOAD_ERR_OK) {
$fileTmpPath = $_FILES[‘image’][‘tmp_name’];
$fileName = basename($_FILES[‘image’] [『name』]);//Get filename excluding path
$fileNameCmps = explode(「.」, $fileName);
$fileExtension = strtolower(end($fileNameCmps));
$newFileName = md5(time() . $fileName) . 『.』 . $fileExtension;
$destPath = $uploadDir . $newFileName;
$allowedfileExtensions = array(‘jpg’, ‘png’, ‘gif’, ‘jpeg’);
if (in_array($fileExtension, $allowedfileExtensions)) {
// Move file from temporary directory to specified location
if (move_uploaded_file($fileTmpPath, $destPath)) {
$response[‘status’] = ‘success’;
$response[‘message’] = ‘File uploaded successfully.’;
//$response[‘file_url’] = $destPath; // URL accessible from browser
$response[‘file_url’] = ‘img/’ . $destPath;
} else {
$response[‘status’] = ‘error’;
$response[‘message’] = ‘Failed to move the file. Please check the directory write permissions.’;
}
} else {
$response[‘status’] = ‘error’;
$response[‘message’] = ‘Unsupported file format.’;
}
} else {
$response[‘status’] = ‘error’;
$response[‘message’] = ‘File upload error.’;
}
// Return JSON
echo json_encode($response);
| キー名 | 説明 | 値の例 |
| name | html側で選択した元のファイル名 | post.png |
| type | ファイルのMIMEタイプ | image/png |
| size | アップロードされたファイルのバイト単位のサイズ | 10000(およそ10KB) |
| tmp_name | サーバ上での一時保存されたファイルのパスとファイル名 | /tmp/abc123 |
| error | エラーコード(アップロードの成功有無) | 0(UPLOAD_ERR_OK) |
| 著作権情報 |
| ホームページおよプリ等に掲載されている情報等については、いかなる保障もいたしません。 ホームページおよびアプリ等を通じて入手したいかなる情報も複製、販売、出版または使用させたり、 または公開したりすることはできません。 当方は、ホームページおよびアプリ等を利用したいかなる理由によっての障害等が発生しても、 その結果ホームページおよびアプリ等を利用された本人または他の第三者が被った損害について 一切の責任を負わないものとします。 |