PHPのアップロードファイルを、簡単な認証のためにファイルをアップロード(エラー・メッセージ・フォーマット(セキュリティ機器)、サイズは、httpアップロードするかどうか)

<身体> 
<?PHP
 / * * 
*検証エラー
*エラーがある場合は、はい、それはnullを返した場合、それは、エラーを返します
* / 
機能チェック($ファイル){
     // 間違っていることを確認:1 
    のIF$ファイルを [ 'エラー']!= 0 ){
         スイッチ$ファイル [ 'エラーは' ]){
             ケース 1:
                 リターン 'php.iniファイルサイズが許可された最大を超え、最大値は次のとおりです。'。は、ini_get( 'upload_max_filesizeでは' ) ;
             ケース 2:
                 リターン「ファイルサイズが最大許容フォーム超え」;
             ケース 3:
                 リターン「アップロードするファイルの一部のみ」;
             事例 4:
                 リターン「いいえファイルのアップロード」;
             ケース 6:
                 リターン「一時ファイルを見つけることができません」;
             ケース 7:
                 リターン「ファイルの書き込みに失敗しました」;
             デフォルトリターン「不明なエラー」; 
        } 
    } 
    // 2.フォーム検証
   リソースFINFO作成://ステップ1を
$情報 = ; finfo_open(FILEINFO_MIME_TYPE)
リソースファイルFINFOとの比較://ステップ2
$ MIME = finfo_file($情報$ファイル [ 'tmp_name'を]);
   合法性を比較する//第3工程と、
$インクルードを許可 = 配列( '画像/ JPEG'、 '画像/ PNG'、 '画像/ GIF'); // 許可のカテゴリー IF(!in_array$ MIME$許可)){ リターン 'のみアップロード' 、 ''($ザ許可) '形式' ; } // 3のサイズを確認 $サイズ = 123456789をIF$ファイル [ 'サイズ']> $サイズ) { リターン「ファイルサイズは超えることはできません」。をnumber_format$サイズ /1024,1).'K」を } //4. HTTPアップロードされていることを確認していない のIF(!Is_uploaded_file$ファイル [ 'tmp_name' ])) のリターンが 'HTTPのPOSTファイルアップロード<BR>ではありません' ; リターン ヌルを ; // エラー } // フォームの送信 IF(!$ _POST )){ // エラー時にエラーがアップロードが表示される のIF$エラー =チェック($ _FILES [ '顔' ])){ エコー $エラーを; } 他に{ // 保存するためにファイルをアップロード、ファイルのアップロードフォルダの日に $のフォルダ名 = DATE( 'Ymのの-D'); // フォルダ名 $のフォルダパス = "./アップロード/ { $フォルダ名 }"; // フォルダパス IF(!Is_dir$フォルダパス)) MKDIR$フォルダパス); $ファイル名 = uniqidの( ''、trueに。)strrchr$ _FILES [ '顔'] [ '名前']、 ''); // ファイル名 $ファイルパス = " $フォルダパス / $ファイル名 "; // ファイルパス IFmove_uploaded_file$ _FILES[ '顔'] [ 'tmp_name']、$ファイルパス)) エコー "上传成功、路径是:{ $フォルダ名 } / { $ファイル名 }" エコー '上传失败<BR>' ; } } ?> <フォームメソッド= "ポスト"アクション= ""のenctype = 'マルチパート/フォームデータ'> の<input type = "ファイル"名= "顔"> <入力タイプ= ""名前= "submitボタン"値= "上传"> </ FORM> </ BODY>

業績

 

 

予防と治療は、php.iniのファイル迷彩fileinfo.dll拡張、fileinfo拡張モジュール後に開く機能を開く必要があり、あなたは* finfo_を使用することができます。

おすすめ

転載: www.cnblogs.com/ruoruchujian/p/11120761.html
おすすめ