国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

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é)した文字列です。


學(xué)び続ける
||
<form action="" enctype="multipart/form-data" method="post" name="uploadfile">上傳文件:<input type="file" name="upfile" /><br> <input type="submit" value="上傳" /></form> <?php //print_r($_FILES["upfile"]); if(is_uploaded_file($_FILES['upfile']['tmp_name'])){ $upfile=$_FILES["upfile"]; //獲取數(shù)組里面的值 $name=$upfile["name"];//上傳文件的文件名 $type=$upfile["type"];//上傳文件的類型 $size=$upfile["size"];//上傳文件的大小 $tmp_name=$upfile["tmp_name"];//上傳文件的臨時(shí)存放路徑 //判斷是否為圖片 switch ($type){ case 'image/pjpeg':$okType=true; break; case 'image/jpeg':$okType=true; break; case 'image/gif':$okType=true; break; case 'image/png':$okType=true; break; } if($okType){ /** * 0:文件上傳成功<br/> * 1:超過了文件大小,在php.ini文件中設(shè)置<br/> * 2:超過了文件的大小MAX_FILE_SIZE選項(xiàng)指定的值<br/> * 3:文件只有部分被上傳<br/> * 4:沒有文件被上傳<br/> * 5:上傳文件大小為0 */ $error=$upfile["error"];//上傳后系統(tǒng)返回的值 echo "================<br/>"; echo "上傳文件名稱是:".$name."<br/>"; echo "上傳文件類型是:".$type."<br/>"; echo "上傳文件大小是:".$size."<br/>"; echo "上傳后系統(tǒng)返回的值是:".$error."<br/>"; echo "上傳文件的臨時(shí)存放路徑是:".$tmp_name."<br/>"; echo "開始移動(dòng)上傳文件<br/>"; //把上傳的臨時(shí)文件移動(dòng)到up目錄下面 move_uploaded_file($tmp_name,'up/'.$name); $destination="up/".$name; echo "================<br/>"; echo "上傳信息:<br/>"; if($error==0){ echo "文件上傳成功啦!"; echo "<br>圖片預(yù)覽:<br>"; echo "<img src=".$destination.">"; //echo " alt=\"圖片預(yù)覽:\r文件名:".$destination."\r上傳時(shí)間:\">"; }elseif ($error==1){ echo "超過了文件大小,在php.ini文件中設(shè)置"; }elseif ($error==2){ echo "超過了文件的大小MAX_FILE_SIZE選項(xiàng)指定的值"; }elseif ($error==3){ echo "文件只有部分被上傳"; }elseif ($error==4){ echo "沒有文件被上傳"; }else{ echo "上傳文件大小為0"; } }else{ echo "請(qǐng)上傳jpg,gif,png等格式的圖片!"; } } ?>
提出するリセットコード