ホームページ バックエンド開発 PHPチュートリアル PHP 入門: ファイルのアップロードとダウンロード

PHP 入門: ファイルのアップロードとダウンロード

May 22, 2023 am 10:51 AM
ファイルのアップロード ドキュメントをダウンロード php を始める

Web 開発では、ファイルのアップロードとダウンロードは非常に一般的な要件です。ユーザーがアバターやドキュメントをアップロードする場合でも、管理者がユーザーにファイルのダウンロードを要求する場合でも、この機能は必要です。 PHP は強力なサーバーサイド言語として、強力なファイル操作関数とクラス ライブラリを当然提供しており、ファイルのアップロードおよびダウンロード機能を簡単に実装できます。

この記事では、PHP でファイルのアップロードとダウンロードを実装するための基本的なプロセスと共通の関数を紹介し、サンプル コードを提供します。あなたが PHP の初心者であるか、ファイル操作を学習している場合、この記事が何らかのガイダンスと助けになることを願っています。

ファイルのアップロード

PHP では、ファイルのアップロードは HTTP プロトコルを通じて実装されます。つまり、ユーザーはフォームを通じてローカル ファイルを選択し、それをサーバーにアップロードできます。使用する必要がある関数は、$_FILES グローバル変数と move_uploaded_file() 関数です。

まず、フロントエンドで HTML フォームを記述する必要があります。コードは次のとおりです。

<form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传文件">
</form>
ログイン後にコピー

投稿するフォームのメソッド、バックグラウンド処理ファイルのアップロード用の php ファイルへのアクション、および enctype を次のように設定する必要があることに注意してください。ファイルのアップロードをサポートする multipart/form-data。

次に、ファイルのアップロードを処理するために、バックグラウンドで Upload.php ファイルにコードを記述します。コードは次のとおりです。

<?php
if(isset($_FILES['file'])){
    $file = $_FILES['file'];
    $filename = $file['name'];
    $tmp_name = $file['tmp_name'];
    $target_path = "./uploads/".$filename;
    move_uploaded_file($tmp_name, $target_path);
    echo "文件上传成功";
}
?>
ログイン後にコピー

if を使用してファイルがアップロードされているかどうかを判断し、ファイルに関するさまざまな情報を $_FILES 配列から取得します。 $file['name'] はファイル名を表し、$file['tmp_name'] は一時ファイルのファイル パスを表します。これをサーバー上の指定された場所 (「./uploads/」ディレクトリであると仮定して) に移動し、最後にアップロード成功のメッセージを出力する必要があります。

ファイルのダウンロード

ファイルのダウンロードとは、ユーザーがリンクまたはボタンをクリックしてサーバーからローカルにファイルをダウンロードできることを意味します。使用する必要がある関数は、header() 関数と readfile() 関数です。

まず、ユーザーがファイルをダウンロードできるように、サーバー上のファイルのアクセス許可を設定する必要があります。 .htaccess ファイルまたは Web サーバーの構成ファイルを通じて設定できます。

次に、フロントエンドで HTML コードを記述して、ダウンロード リンクを生成します。コードは次のとおりです。

<a href="download.php?filename=test.pdf">点击下载文件</a>
ログイン後にコピー

バックグラウンド処理ファイルによってダウンロードされた php ファイルへのリンクの href を設定する必要があり、ファイル名をパラメータとして取得する必要があることに注意してください。リンク。

最後に、ファイルのダウンロードを処理するために、バックグラウンドで download.php ファイルにコードを記述します。コードは次のとおりです。

<?php
if(isset($_GET['filename'])){
    $filename = "./uploads/".$_GET['filename'];
    if(file_exists($filename)){
        header('Content-type: application/pdf');
        header('Content-Disposition: attachment; filename="'.basename($filename).'"');
        readfile($filename);
        exit;
    }else{
        echo "文件不存在";
    }
}
?>
ログイン後にコピー

if を使用して、渡されたファイル名パラメータがあるかどうかを判断し、ファイル名に基づいてファイルの絶対パスを生成します。ファイルが存在する場合は、Content-type をファイル タイプ (ここでは pdf タイプであると仮定します) に設定し、Content-Disposition を添付ファイルに設定する必要があります。これは、添付ファイルとしてダウンロードしてファイルのコンテンツを出力することを意味します。最後に、ブラウザが他のコンテンツを出力しないように exit を追加します。

概要

この記事の簡単な紹介を通じて、読者は PHP でのファイルのアップロードとダウンロードについてより深く理解できると思います。ファイルのアップロードとダウンロードの両方の操作では、アップロードされるファイルのサイズと種類の制限、ダウンロード リンクの侵入防止など、セキュリティとユーザー エクスペリエンスを考慮する必要があることに注意してください。ファイル操作を実装する際には、読者もこれらの詳細に注意してください。

以上がPHP 入門: ファイルのアップロードとダウンロードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ファイルをダウンロードした後にPythonで開く操作 ファイルをダウンロードした後にPythonで開く操作 Apr 03, 2024 pm 03:39 PM

Python には、ダウンロードしたファイルを開くための次のオプションが用意されています。 open() 関数: 指定されたパスとモード (「r」、「w」、「a」など) を使用してファイルを開きます。リクエスト ライブラリ: download() メソッドを使用して、名前を自動的に割り当て、ファイルを直接開きます。 Pathlib ライブラリ: write_bytes() メソッドと read_text() メソッドを使用して、ファイルの内容を読み書きします。

Workerman ドキュメントにファイルのアップロードとダウンロードを実装する Workerman ドキュメントにファイルのアップロードとダウンロードを実装する Nov 08, 2023 pm 06:02 PM

Workerman ドキュメントでファイルのアップロードとダウンロードを実装するには、特定のコード サンプルが必要です はじめに: Workerman は、シンプル、効率的、使いやすい高性能 PHP 非同期ネットワーク通信フレームワークです。実際の開発では、ファイルのアップロードとダウンロードが一般的な機能要件となりますが、この記事では、Workerman フレームワークを使用してファイルのアップロードとダウンロードを実装する方法と、具体的なコード例を紹介します。 1. ファイル アップロード: ファイル アップロードとは、ローカル コンピューター上のファイルをサーバーに転送する操作を指します。以下が使用されます

PHP 関数を使用して、電子メールの送受信用の添付ファイルをアップロードおよびダウンロードするにはどうすればよいですか? PHP 関数を使用して、電子メールの送受信用の添付ファイルをアップロードおよびダウンロードするにはどうすればよいですか? Jul 25, 2023 pm 08:17 PM

PHP 関数を使用して、電子メールの送受信用の添付ファイルをアップロードおよびダウンロードするにはどうすればよいですか?現代の通信技術の急速な発展に伴い、電子メールは人々が日常生活で情報を伝達および伝達するための重要な手段となっています。 Web 開発では、添付ファイル付きの電子メールを送受信する必要がよく発生します。 PHP は強力なサーバー側スクリプト言語として、電子メール処理プロセスを簡素化できる豊富な関数とクラス ライブラリを提供します。この記事では、PHPの関数を使ってメール送受信時の添付ファイルをアップロード・ダウンロードする方法を紹介します。電子メールが最初に送信されます。

Laravelを使用してファイルのアップロードおよびダウンロード機能を実装する方法 Laravelを使用してファイルのアップロードおよびダウンロード機能を実装する方法 Nov 02, 2023 pm 04:36 PM

Laravel を使用してファイルのアップロードおよびダウンロード機能を実装する方法 Laravel は、Web アプリケーションの開発をより簡単かつ効率的にするための豊富な機能とツールを提供する人気のある PHP Web フレームワークです。よく使用される機能の 1 つは、ファイルのアップロードとダウンロードです。この記事では、Laravelを使用してファイルのアップロードおよびダウンロード機能を実装する方法と、具体的なコード例を紹介します。ファイルのアップロード ファイルのアップロードとは、ローカル ファイルを保存するためにサーバーにアップロードすることを指します。 Laravelではファイルアップロードを使用できます

gRPC を使用して Golang でファイルのアップロードを実装するにはどうすればよいですか? gRPC を使用して Golang でファイルのアップロードを実装するにはどうすればよいですか? Jun 03, 2024 pm 04:54 PM

gRPC を使用してファイルのアップロードを実装するにはどうすればよいですか?リクエストおよびレスポンスメッセージを含むサポートサービス定義を作成します。クライアントでは、アップロードされるファイルが開かれてチャンクに分割され、gRPC ストリーム経由でサーバーにストリーミングされます。サーバー側では、ファイル チャンクが受信され、ファイルに保存されます。ファイルのアップロードが完了すると、サーバーはアップロードが成功したかどうかを示す応答を送信します。

Javaファイルアップロード例外(FileUploadException)の解決方法 Javaファイルアップロード例外(FileUploadException)の解決方法 Aug 18, 2023 pm 12:11 PM

Java ファイルアップロード例外 (FileUploadException) を解決する方法 Web 開発でよく遭遇する問題の 1 つは、FileUploadException (ファイル アップロード例外) です。この問題は、ファイル サイズが制限を超えている、ファイル形式が一致していない、サーバー構成が正しくないなど、さまざまな理由で発生する可能性があります。この記事では、これらの問題を解決するいくつかの方法について説明し、対応するコード例を示します。アップロードされるファイルのサイズを制限する ほとんどのシナリオでは、ファイル サイズを制限します

ファイルのダウンロードに Hyperf フレームワークを使用する方法 ファイルのダウンロードに Hyperf フレームワークを使用する方法 Oct 21, 2023 am 08:23 AM

Hyperf フレームワークを使用してファイルをダウンロードする方法 はじめに: ファイルのダウンロードは、Hyperf フレームワークを使用して Web アプリケーションを開発する場合の一般的な要件です。この記事では、Hyperf フレームワークを使用してファイルをダウンロードする方法を、具体的なコード例を含めて紹介します。 1. 準備 開始する前に、Hyperf フレームワークがインストールされ、Hyperf アプリケーションが正常に作成されていることを確認してください。 2. ファイル ダウンロード コントローラーを作成する まず、ファイル ダウンロード リクエストを処理するコントローラーを作成する必要があります。ターミナルを開いて入力します

PHPを使用してFTPファイルアップロードの進行状況バーを実装する方法 PHPを使用してFTPファイルアップロードの進行状況バーを実装する方法 Jul 30, 2023 pm 06:51 PM

PHP を使用して FTP ファイル アップロード プログレス バーを実装する方法 1. 背景の紹介 Web サイト開発では、ファイル アップロードは一般的な機能です。大きなファイルのアップロードでは、ユーザー エクスペリエンスを向上させるために、多くの場合、ファイルのアップロード プロセスをユーザーに知らせるために、アップロードの進行状況バーを表示する必要があります。この記事では、PHPを使用してFTPファイルアップロードのプログレスバー機能を実装する方法を紹介します。 2. FTP ファイルアップロードのプログレスバー実装の基本的な考え方. FTP ファイルアップロードのプログレスバーは通常、アップロードされたファイルのサイズとアップロードされたファイルのサイズを計算することによって計算されます。

See all articles