ホームページ  >  記事  >  バックエンド開発  >  PHP ファイルのアップロード例 (ファイル形式制限あり)_PHP チュートリアル

PHP ファイルのアップロード例 (ファイル形式制限あり)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:48:49848ブラウズ

このファイルアップロード実装は、セキュリティ制限が強化されているため、アップロードされた画像ファイルの種類を取得して判断することもできるため、サンプルアプリケーションの開発に使用できます。


本日、いくつかの Web サイトのファイル アップロード システムが改善されたので、ついでに何か投稿できるようにしました。

完全な PHP コード、JS なし、ファイル タイプは MIME ではなくサフィックス名に基づいて判断されます。

次のコードで新しい up.php を作成します:

コードは次のとおりです コードをコピー
$uptype=array("jar","zip"); //ファイルタイプのアップロードを許可します
$max_file_size=20480000; //アップロードファイルのサイズ制限、単位 BYTE
$path_parts=pathinfo($_SERVER['PHP_SELF']) //現在のパスを取得します
$destination_folder="ファイル/"; //アップロードファイルパス
$name="MuXi_".date("Y-m-d_H-i-s"); //ファイル名を保存
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$file = $_FILES["アップロードファイル"]; if(!is_uploaded_file($file["tmp_name"]))
//ファイルが存在するかどうか
{
echo "ファイルが存在しません!"; 出る
}
$torrent =explode(".", $file["name"]); $fileend = 終了($torrent); $fileend = strto lower($fileend); if(!in_array($fileend, $uptype))
//アップロードファイルの種類を確認します
{
echo "この種類のファイルのアップロードは許可されていません!"; 出る
}
if($max_file_size < $file["size"])
// ファイルサイズを確認する
{
echo "ファイルが大きすぎるため、アップロード制限を超えています!"; 出る
}
if(!file_exists($destination_folder))
mkdir($宛先フォルダー); $filename=$file["tmp_name"]
$image_size = getimagesize($filename); $pinfo=パス情報($file["名前"]); $ftype=$pinfo[拡張子]
$destination = $destination_folder.$name.".".$ftype
if(file_exists($destination) && $overwrite != true)
{
echo "同じ名前のファイルはすでに存在します!"; 出る
}
if(!move_uploaded_file ($filename, $destination))
{
echo "ファイルの移動エラー!"; 出る
}
$pinfo=パス情報($destination); $fname=$pinfo[ベース名]
エコー「アップロード成功!」
; }
?>



電話番号:



コードは次のとおりです

コードをコピー





<フォームアクション="up.php" メソッド="ポスト" enctype="multipart/form-data">

MIME タイプ制限の使用には制限があります。一部のファイルはアップロード時に通常の MIME を持たないため、サフィックス名の制限を使用すると、この問題をうまく解決できます。 http://www.bkjia.com/PHPjc/632755.html技術記事

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/632755.html

このファイルアップロード実装は、セキュリティ制限が強化されているため、サンプルアプリケーションの開発に使用できます。もちろん、アップロードされた画像ファイルの種類を取得して判断することもできます。 今日から変わります...

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