phpファイルをアップロードする手順
ファイルアップロードの手順
PHPをより良く學(xué)ぶために、非常に複雑なPHPファイルのアップロードを6つのステップにまとめました。
実際の使用では、次の 6 つの手順に従って PHP ファイルのアップロードを正常に完了できます:
1. エラー コード
があるかどうかを確認(rèn)します。システムから返されるエラー コードの詳細(xì)な説明:
エラーコード | 説明 |
---|---|
0 | は正しいので、後続のファイルアップロード操作を続行できます。 |
1 | アップロードされるファイルの上限を超えています。php.iniでupload_max_filesize = 2Mが設(shè)定されており、デフォルトは2Mです。プロジェクトの実際のニーズに応じて変更できます |
2 | 指定されたファイルサイズを超えており、アップロードされるファイルのサイズ制限はプロジェクトのビジネスニーズに従って指定されています |
3 | 一部のファイルのみがアップロードされています |
4 | ファイルはアップロードされませんでした |
6 | 一時(shí)フォルダーが見つかりません。ディレクトリが存在しないか、権限がない可能性があります |
7 | ファイルの書き込みに失敗しました。おそらくディスクがいっぱいか、権限がありません |
注: エラー コードに 5 はありません。
2.アップロード機(jī)能を開発する際に、ファイルサイズが範(fàn)囲を超えているかどうかを判斷するためのカスタマイズされた判定。開発者として、php.ini で指定された最大アップロード値に加えて、
通常、企業(yè)が指定したアップロード サイズ制限である値も設(shè)定します。
例:
Sina Weibo または QQ Zone では、2M の単一のアバター寫真のみが許可されます。アルバムをアップロードする場(chǎng)合は、2M を超えてアップロードできます。
そのため、そのシステムはより大きなファイルのアップロードをサポートしています。
ここでの判定ファイルサイズは、実際の業(yè)務(wù)で指定したいアップロードファイルサイズを制限するために使用されます。
3. サフィックス名と MIME タイプが一致するかどうかを確認(rèn)します
オンラインの世界にも悪い人がいます。畫像にウイルスを挿入したり、添付ファイルにウイルスをアップロードしたり、Web ページにウイルスやポルノ畫像を挿入したりします。
アップロードされたファイルのサフィックスと MIME タイプを判斷する必要があります。
MIME (MultiPurpose Internet Mail Extensions) は、多目的インターネット メール拡張機(jī)能のタイプです。特定の拡張子を持つファイルをアプリケーションで開くように設(shè)定し、その拡張子を持つファイルにアクセスすると、ブラウザは自動(dòng)的に指定されたアプリケーションを使用してそのファイルを開きます。これは主に、クライアント定義のファイル名とメディア ファイルを開く方法を指定するために使用されます。
サフィックスと MIME タイプを決定するときは、2 つのパラメーターを渡す PHP 関數(shù) in_array() を使用します。
最初のパラメータは判定する値です。2 番目のパラメータは範(fàn)囲配列です。
この関數(shù)を使用して、ファイル拡張子と MIME タイプが許可された範(fàn)囲內(nèi)であるかどうかを判斷します。
4. ファイル名を生成します
ファイルは正常にアップロードされましたが、元の名前は保存されません。
元の名前にデリケートなキーワードが含まれている一部の人々は、我が國の関連法規(guī)制に違反する可能性があるためです。
date()、mt_rand()、または unique() を使用して、ランダムなファイル名を生成できます。
5. ファイルがアップロードされたかどうかを確認(rèn)します
ファイルが正常にアップロードされると、システムはアップロードされた一時(shí)ファイルをシステムの一時(shí)ディレクトリにアップロードします。一時(shí)ファイルを作成します。
同時(shí)に一時(shí)ファイル名も生成されます。必要なのは、一時(shí)ファイルをシステム上の指定されたディレクトリに移動(dòng)することです。
動(dòng)く前にやみくもに動(dòng)かない、あるいは間違った動(dòng)きをするのは非科學(xué)的です。移動(dòng)する前に、関連する関數(shù)を使用して、アップロードされたファイルが一時(shí)ファイルであるかどうかを判斷する必要があります。
is_uploaded_file() はパラメータ ($_FILES にキャッシュされたファイル名) を渡して、渡された名前がアップロードされたファイルかどうかを判斷します。
6. 一時(shí)ファイルを指定された場(chǎng)所に移動(dòng)します
一時(shí)ファイルは実際の一時(shí)ファイルです。Web サイトのディレクトリに移動(dòng)する必要があります。
當(dāng)社のウェブサイトディレクトリ內(nèi)のデータに他の人がアクセスできるようにします。
move_uploaded_file() を使用します。
この関數(shù)は、アップロードされたファイルを指定された場(chǎng)所に移動(dòng)し、名前を付けます。
2 つのパラメータを渡します:
最初のパラメータは、移動(dòng)を指定するアップロードされたファイルです。
2 番目のパラメータは、指定されたフォルダと名前を連結(jié)した文字列です。