ホームページ  >  記事  >  バックエンド開発  >  PHPでファイルをアップロードする

PHPでファイルをアップロードする

WBOY
WBOYオリジナル
2024-08-29 13:07:39943ブラウズ

PHP では、ユーザーはファイル アップロード機能を使用してファイルをアップロードできます。ファイルはフォームから送信する必要があり、簡単に添付してアップロードできます。ユーザーは、文書形式、画像形式、PDF 形式など、多くの種類のファイルをアップロードできます。これらの種類のファイルには、.docx、.jpeg、.pdf などの拡張子が付いています。この種類のファイルは、ファイルのサイズは、そのサイズを超えてアップロードできないように設定されています。これは、データを手動で入力していたユーザーが、現在このオプションを選択しているための高度な機能です。

PHP でファイルを作成してアップロードする方法?

PHP を使用すると、フォームを使用してサーバーにファイルをアップロードするのが非常に簡単で、他のものと比べてデータも安全です。設定ファイル「php.ini」ファイルには、アップロードするファイルに設定する必要がある変数があり、アップロード機能を有効にするには「file_uploads」と呼ばれる変数を ON に設定する必要があります。サーバーにファイルをアップロードするには、いくつかの手順を実行する必要があります。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

フォームを使用してファイルをサーバーにアップロードする前に、いくつかのチェックがあります。これらのチェックは、アップロードされたファイルの検証と呼ばれます。

以下は、開発者がフォームを検証するためにコード化する重要なポイントです。

PHPでファイルをアップロードする

1.ファイル_アップロード

ファイルをアップロードするには、この変数の値を ON にする必要があります。 ON になっていない場合、ファイルをサーバーにアップロードできません。したがって、常にオンにする必要があります。

2.アップロード最大サイズ

このディレクティブは、フォームを使用してサーバーにアップロードできるファイルの最大サイズを構成するために使用されます。これは、ユーザーがアップロードしたファイルのサイズを確認するために行われる一種のチェックです。ファイルのデフォルトのサイズは 2M (2 メガバイト) に設定されており、開発者がファイルのサイズを増やすことができる .htaccess ファイルを使用してこの種の設定を上書きできます。 2 メガバイトは今日の標準ではそれほど多くないので、これを増やす必要があるかもしれません。ファイルをアップロードしようとすると、ファイル サイズが Upload_max_filesize を超えているというエラーが発生した場合は、値を増やす必要があります。その場合は、必ず post_max_size も増やしてください。

3.アップロード_tmp_dir

ユーザーがアップロードしたファイルを保存するために使用される一時ディレクトリを設定します。ほとんどの場合、この設定について心配する必要はありません。設定しない場合、システムのデフォルトにより、使用できる一時ディレクトリが自動的に設定されます。

4. Post_max_size

post_max_size ディレクティブを使用すると、POST メソッドによってアップロードされるデータの最大サイズを設定できます。ファイルは POST リクエストによってアップロードされるため、値は、upload_max_filesize に設定した値より大きくなければなりません。たとえば、upload_max_filesize が 20M (20 メガバイト) の場合、post_max_size を 24M に設定する必要がある可能性があります。

5. Max_file_uploads

ユーザーが一度にアップロードできるファイルの最大数を設定できます。デフォルトのカウントは、ユーザーが一度に 20 です。

6.最大入力時間

ユーザーがスクリプトで入力データを解析できる秒数です。大きなサイズのファイルのアップロードを扱う場合は、適切な値に設定する必要があります。 60 (60 秒) は、ほとんどのアプリにとって適切な値です。

7.メモリ制限

メモリ制限ディレクティブは、スクリプトがサーバー内で消費できるメモリの最大量を示します。大きなファイルのアップロード中に問題が発生した場合は、ディレクティブの値を post_max_size ディレクティブに設定した値より大きく設定する必要があります。デフォルトでは、値は 128M (128 メガバイト) に設定されているため、post_max_size と Upload_max_filesize が非常に大きい場合を除き、心配する必要はありません。

8.最大実行時間

このディレクティブは、サーバー内でスクリプトの実行が許可される最大秒数に使用されます。大きなファイルのアップロード中に問題が発生した場合は、値を 60 (1 分) などのさらに多くの秒数に増やすことを検討できます。これはほとんどのアプリケーションでうまく機能するはずです。

PHP でファイルをアップロードする例

以下に挙げる例を示します::

例 #1

コード:

<!DOCTYPE html>
<html>
<body>
<form action="uploadimage.php" method="POST" enctype="multipart/form-data">
Select any image to upload:
<input type="File" name="FileUpload" id="FileUpload">
<input type="submit" value="Upload" name="SUBMIT">
</form>
</body>
</html>

出力:

PHPでファイルをアップロードする

例 #2

コード:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Photo Upload Form</title>
</head>
<body>
<form action="upload.php" method="POST" enctype="multipart/form-data">
<h1>Upload File</h1>
<label for="fileSelect">Filename:</label>
<input type="file" name="photo" id="FileSelect">
<input type="submit" name="SUBMIT" value="Upload Photo">
<p><strong>Note:</strong> Only .jpg, .jpeg, .gif, .png formats allowed to a max size of 2 MB larger than that cannot not be uploaded.</p>
</form>
</body>
</html>

出力:

PHPでファイルをアップロードする

例 #3

コード:

<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="POST" enctype="multipart/form-data">
Select a file to upload:
<input type="file" name="FileToUpload"/>
<input type="submit" value="Upload" name="submit"/>
</form>
</body>
</html>

出力:

PHPでファイルをアップロードする

例 #4

コード:

<?php
$target_path = "c:/";
$target_path = $target_path.basename( $_FILES['fileToUpload']['name']);
if(move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $target_path)) {
echo "File has been uploaded successfully!";
}
else
{
echo "Sorry, file not uploaded, please check and try again!";
}
?>

Output:

PHPでファイルをアップロードする

In the above examples, the user can see the screen that is present in the snapshots. Users will attach the document by clicking the “choose file” option. The file will get attached once the user selects the file from his local machine and clicks on the Upload button to submit the documents to the server. The user will then be prompted a message stating that the file has been uploaded successfully.

Conclusion

In this article, we discussed how a user can upload a file to the server using the form and how an uploaded file can be validated in various forms, and the server restrictions for uploading a file. The user might not understand the process of the backend but the developer has to code in such a way that the document uploaded by the user should be correct and the data is secured.

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

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