Web開発では、ファイルのアップロードは一般的で重要な機能です。 PHPは、$ _filesグローバル変数を通じてファイルの受信と管理を実現します。アップロードプロセスには通常、クライアントがファイルを送信するクライアント、サーバーはそれを一時ディレクトリに保存し、ファイルの正当性を確認し、最後にファイルを指定されたディレクトリに移動してアップロードを完了します。
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="ファイルをアップロードします">
</form>
<?php
$fileName = $_FILES['file']['name'];
$fileSize = $_FILES['file']['size'];
$fileTmp = $_FILES['file']['tmp_name'];
$fileType = $_FILES['file']['type'];
?>
<?php
$allowedTypes = ['image/jpeg', 'image/png']; // アップロードを許可されたファイルタイプ
$maxSize = 2 * 1024 * 1024; // 最大允许ファイルをアップロードします大小,2MB
if (in_array($fileType, $allowedTypes) && $fileSize <= $maxSize) {
$destination = 'uploads/' . $fileName;
move_uploaded_file($fileTmp, $destination);
echo 'ファイルアップロードに正常にアップロードします!';
} else {
echo 'このタイプのファイルまたはファイルサイズのアップロードが制限を超えています!';
}
?>
ファイルのダウンロードは、Webアプリケーションのもう1つの重要な機能です。リクエストを送信することにより、サーバーはファイルを読み取り、HTTP応答を介してファイルをクライアントに転送します。合理的なHTTPヘッダーの設定により、ファイルを正しくダウンロードして保存できるようになります。
<span class="fun"><a href = "download.php?fileName">ファイルをダウンロード</a></span>
<?php
$filePath = 'path/to/file/' . $_GET['file'];
if (file_exists($filePath)) {
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($filePath));
header('Content-Length: ' . filesize($filePath));
readfile($filePath);
} else {
echo 'ファイルは存在しません!';
}
?>
正しいファイルの動きとダウンロードヘッド設定と組み合わせた合理的なファイルの種類とサイズの確認を通じて、ファイルのアップロードとダウンロードのセキュリティと安定性を効果的に保証できます。この記事の説明がPHP開発者に役立ち、基礎となるファイル処理原則を理解し、実際のプロジェクトに柔軟に適用できることを願っています。