ホームページ  >  記事  >  バックエンド開発  >  PHP で画像をアップロードし、特定の命名規則を実装する方法

PHP で画像をアップロードし、特定の命名規則を実装する方法

PHPz
PHPzオリジナル
2023-03-29 11:31:08973ブラウズ

PHP は、多くの Web アプリケーションの開発に使用される非常に人気のあるプログラミング言語です。画像のアップロードは Web アプリケーションの一般的な機能の 1 つですが、通常、アップロードされた画像の名前を変更するか、特定の命名規則を使用する必要があります。

この記事では、PHP で画像をアップロードし、特定の命名ルールを実装する方法を紹介します。

1. 基本的な画像のアップロード

まず、ユーザーによるファイルのアップロードを受け入れるフォームを作成する必要があります。フォームには、ファイル入力要素、送信ボタン、アップロードを処理する PHP スクリプトを指すアクション属性が含まれている必要があります。

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

上記のコードは、フォームを送信するときにデータを「multipart/form-data」としてエンコードする必要があることをブラウザーに伝えます。このエンコード方法は、ファイルのアップロードに使用できます。

以下は、アップロードを処理する PHP コードであり、名前変更ルールを実装します。

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}

// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}

// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

2. 特定のファイル命名規則

次に、現在の日付と時刻に基づいて名前変更規則を実装するように PHP コードを変更します。

<?php
$target_dir = "uploads/";
$timestamp = date("YmdHis");
$target_file = $target_dir . $timestamp . '.' . pathinfo($_FILES["fileToUpload"]["name"], PATHINFO_EXTENSION);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
...

この例では、現在の日付と時刻を $timestamp 変数に保存します。次に、アップロードされたファイルの名前を $timestamp.extension に変更して、アップロードされた各ファイルに一意の名前が付けられるようにします。

3. 元のファイル名を保持し、プレフィックスを追加する名前付けルール

次に、PHP コードを変更して、元のファイル名を保持し、プレフィックスを追加する名前変更ルールを実装します。 。

<?php
$target_dir = "uploads/";
$prefix = "myprefix_";
$target_file = $target_dir . $prefix . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
...

この例では、アップロードされたファイルの元の名前に事前定義されたプレフィックス変数を追加します。これにより、「myprefix_」という接頭辞が付いたファイル名が生成されます。

概要:

PHP でファイルのアップロードと名前変更を実装するのは簡単です。この記事では、アップロードされたファイルの名前を現在の日付と時刻に基づいて変更する方法、またはプレフィックスを追加する方法を説明します。ニーズに応じてコードを変更して、さまざまな名前変更ルールを実装できます。ファイルをアップロードした後、データベースに保存したり、サムネイルを作成したりすることもできます。この記事がお役に立てば幸いです!

以上がPHP で画像をアップロードし、特定の命名規則を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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