ファイルのアップロードとダウンロードは、最新のWeb開発における非常に一般的な機能です。 PHPは、アップロードやダウンロードなど、開発者がファイル操作を処理できるようにするためのいくつかの組み込み機能を提供します。この記事では、PHP関数を使用してファイルをアップロードおよびダウンロードする方法を詳細に紹介し、参照用のコード例を提供します。
ファイルアップロードは、ローカルファイルをサーバーに転送するプロセスです。 PHPでは、 `Move_uploaded_file()`および `$ _files`グローバル変数を使用して、ファイルアップロードを処理します。
まず、HTMLフォームにファイルアップロードの入力コントロールが含まれていることを確認してください。
<form method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="アップロード"> </form>
次に、PHPコードでは、 `$ _files`グローバル変数を使用して、アップロードされたファイル情報を取得します。 `$ _files`は、名前、タイプ、一時ストレージパスなどの情報を含む連想配列です。
if($ _server ['request_method'] === 'post'){ $ file = $ _files ['file']; //ファイル情報を得る$ filename = $ file ['name']; //ファイル名前$ tmppath = $ file ['tmp_name']; //一時的ななファイルパス// upload file $ destination = 'uploads/'。 $ filename; move_uploaded_file($ tmppath、$ destination); Echo 'ファイルが普通にアップロードされました!'; }
上記のコードでは、最初に `$ _files ['file']`を介してファイル情報を取得し、次に `move_uploaded_file()`を使用して、一時ファイルを指定されたターゲットパスに移動します。最後に、アップロードを成功させるためのプロンプトメッセージは、「echo」ステートメントを介して出力されます。
ファイルのダウンロードは、サーバー上のファイルをクライアントに転送するプロセスです。 PHPでは、 `readfile()`関数を使用してファイルのダウンロードを実現します。
これが簡単なファイルのダウンロード例です。
$ file = 'path/to/file.txt'; // if(file_exists($ file)){fileパスをダウンロードに設定します{ ヘッダー( 'コンテンツデスクリプリ:ファイル転送'); ヘッダー( 'Content-Type:Application/Octet-Stream'); Header( 'Content-disposition:Attachment; Filename ='。Basename($ file)); ヘッダー( 'コンテンツトランスファーエンコード:バイナリ'); ヘッダー( 'expires:0'); Header( 'Cache-Control:refalidate、Post-Check = 0、Pre-Check = 0'); ヘッダー( 'Pragma:public'); ヘッダー( 'Content-Length:'。Filesize($ file)); readfile($ file); //出力ファイルコンテンツの終了。 } それ以外 { Echo 'ファイルが見つかりません!'; }
このコードでは、最初に `file_exists()`を介してファイルが存在するかどうかを確認します。ファイルが存在する場合は、関連するHTTPヘッダー情報(ファイルタイプ、ファイル名、ファイルサイズなど)を設定し、 `readfile()`を使用してファイルコンテンツをクライアントに出力します。
HTTPヘッダー情報、特に「コンテンツタイプ」および「コンテンツディスポジション」を正しく設定することが重要であることに注意する必要があります。これにより、ブラウザがファイルを正しく解析してダウンロードを開始するのに役立ちます。
この記事では、PHP関数を使用してファイルをアップロードおよびダウンロードする方法について説明します。 `$ _files`グローバル変数と` move_uploaded_file() `関数を介して、ローカルからサーバーにファイルを簡単にアップロードできます。適切なHTTPヘッダー情報と `readfile()`関数を設定することにより、サーバー上のファイルをクライアントに正常にダウンロードできます。これらのコードサンプルが開発に役立つことを願っています。