PHP では、ユーザーはファイル アップロード機能を使用してファイルをアップロードできます。ファイルはフォームから送信する必要があり、簡単に添付してアップロードできます。ユーザーは、文書形式、画像形式、PDF 形式など、多くの種類のファイルをアップロードできます。これらの種類のファイルには、.docx、.jpeg、.pdf などの拡張子が付いています。この種類のファイルは、ファイルのサイズは、そのサイズを超えてアップロードできないように設定されています。これは、データを手動で入力していたユーザーが、現在このオプションを選択しているための高度な機能です。
PHP を使用すると、フォームを使用してサーバーにファイルをアップロードするのが非常に簡単で、他のものと比べてデータも安全です。設定ファイル「php.ini」ファイルには、アップロードするファイルに設定する必要がある変数があり、アップロード機能を有効にするには「file_uploads」と呼ばれる変数を ON に設定する必要があります。サーバーにファイルをアップロードするには、いくつかの手順を実行する必要があります。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
フォームを使用してファイルをサーバーにアップロードする前に、いくつかのチェックがあります。これらのチェックは、アップロードされたファイルの検証と呼ばれます。
以下は、開発者がフォームを検証するためにコード化する重要なポイントです。
ファイルをアップロードするには、この変数の値を ON にする必要があります。 ON になっていない場合、ファイルをサーバーにアップロードできません。したがって、常にオンにする必要があります。
このディレクティブは、フォームを使用してサーバーにアップロードできるファイルの最大サイズを構成するために使用されます。これは、ユーザーがアップロードしたファイルのサイズを確認するために行われる一種のチェックです。ファイルのデフォルトのサイズは 2M (2 メガバイト) に設定されており、開発者がファイルのサイズを増やすことができる .htaccess ファイルを使用してこの種の設定を上書きできます。 2 メガバイトは今日の標準ではそれほど多くないので、これを増やす必要があるかもしれません。ファイルをアップロードしようとすると、ファイル サイズが Upload_max_filesize を超えているというエラーが発生した場合は、値を増やす必要があります。その場合は、必ず post_max_size も増やしてください。
ユーザーがアップロードしたファイルを保存するために使用される一時ディレクトリを設定します。ほとんどの場合、この設定について心配する必要はありません。設定しない場合、システムのデフォルトにより、使用できる一時ディレクトリが自動的に設定されます。
post_max_size ディレクティブを使用すると、POST メソッドによってアップロードされるデータの最大サイズを設定できます。ファイルは POST リクエストによってアップロードされるため、値は、upload_max_filesize に設定した値より大きくなければなりません。たとえば、upload_max_filesize が 20M (20 メガバイト) の場合、post_max_size を 24M に設定する必要がある可能性があります。
ユーザーが一度にアップロードできるファイルの最大数を設定できます。デフォルトのカウントは、ユーザーが一度に 20 です。
ユーザーがスクリプトで入力データを解析できる秒数です。大きなサイズのファイルのアップロードを扱う場合は、適切な値に設定する必要があります。 60 (60 秒) は、ほとんどのアプリにとって適切な値です。
メモリ制限ディレクティブは、スクリプトがサーバー内で消費できるメモリの最大量を示します。大きなファイルのアップロード中に問題が発生した場合は、ディレクティブの値を post_max_size ディレクティブに設定した値より大きく設定する必要があります。デフォルトでは、値は 128M (128 メガバイト) に設定されているため、post_max_size と Upload_max_filesize が非常に大きい場合を除き、心配する必要はありません。
このディレクティブは、サーバー内でスクリプトの実行が許可される最大秒数に使用されます。大きなファイルのアップロード中に問題が発生した場合は、値を 60 (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>
出力:
コード:
<!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>
出力:
コード:
<!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 $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:
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.
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 サイトの他の関連記事を参照してください。