ホームページ  >  記事  >  バックエンド開発  >  PHP を使用してファイルをダウンロードし、その名前を変更する方法

PHP を使用してファイルをダウンロードし、その名前を変更する方法

PHPz
PHPzオリジナル
2023-04-21 09:07:391871ブラウズ

PHP は、動的 Web アプリケーションの開発に使用される一般的なサーバー側スクリプト言語です。 PHP では、ファイルのダウンロードは一般的な操作です。ダウンロードする必要があるファイルの名前が実際のファイル名と異なる場合があります。今回はPHPを使ってファイルをダウンロードして名前を変更する方法を解説します。

1. ファイルをダウンロードします

PHP では、readfile() 関数を使用してファイルを読み取り、ブラウザに送信できます。以下は、指定されたファイルをダウンロードする基本的な download.php ファイルの例です。

$file = $_GET['file'];

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . basename($file) . '"');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}

上記のコードでは、まずダウンロードするファイル名を取得します。次に、ファイルが存在するかどうかを確認します。ファイルが存在する場合は、ファイル タイプ、ファイル名、ファイル サイズの HTTP ヘッダーを設定し、readfile() 関数を使用してファイルをブラウザに送信し、最後にスクリプトを終了します。

2. ファイル名の変更

ダウンロードしたファイルの名前を変更する必要がある場合は、上記のコードでファイル名を変更できます。たとえば、上記のコードを次のように変更できます。新しいファイル名には「downloaded_」という接頭辞が付けられます。

$file = $_GET['file'];
$newFileName = "downloaded_" . basename($file);

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . $newFileName . '"');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}

上記のコードでは、新しい変数 $newFileName は、ダウンロードしたファイルを保存するために使用される新しい名前です。 header() 関数では、basename($file) を新しいファイル名に置き換えました。これにより、ダウンロードされたファイル名が新しい名前に設定されます。

3. その他の変更方法

header() 関数でファイル名を直接変更することに加えて、他の方法を使用してファイル名を変更することもできます。たとえば、PHP の rename() 関数を使用してファイルの名前を変更できます。

以下は、ダウンロードされたファイルの名前を「downloaded_」ファイル名に変更するサンプル コードです:

$file = $_GET['file'];
$newFileName = "downloaded_" . basename($file);

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . $newFileName . '"');
    header('Content-Length: ' . filesize($file));

    rename($file, $newFileName);

    readfile($newFileName);
    exit;
}

上記のコードでは、rename() を追加しました。ダウンロードしたファイルの名前を新しいファイル名に変更します。次に、readfile() 関数を使用して新しいファイルをブラウザに送信し、最後にスクリプトを終了します。

概要:

PHP でのファイルのダウンロードとファイル名の変更は、一般的な要件です。 readfile() 関数を使用してファイルを読み取り、ブラウザに送信できます。また、header() 関数を使用して HTTP ファイル タイプとファイル名を設定することもできます。ファイルサイズとヘッダー。ファイル名を変更する必要がある場合は、header() 関数で直接変更するか、PHP の rename() 関数を使用してファイルの名前を変更します。

以上がPHP を使用してファイルをダウンロードし、その名前を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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