ホームページ  >  記事  >  バックエンド開発  >  PHPファイルアップロードシステムの注意点_PHPチュートリアル

PHPファイルアップロードシステムの注意点_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:43:21947ブラウズ

システム全体はコーディングに PHP のみを使用しており、JS や正規表現は使用していません...純粋な PHP...実際、他には何も知りません...
以下は元の形式の HTML コードです...
ファイルをアップロード フォーム

コードをコピー コードは次のとおりです:



マップ名:



ファイルパス:

"hidden" name=" MAX_FILE_SIZE" value="8000000">






フォーム内の enctype="multipart/form-data" の意味は、フォームの MIME エンコーディングを設定することです。デフォルトでは、このエンコード形式は application/x-www-form-urlencoded であり、ファイルのアップロードには使用できません。multipart/form-data が使用される場合にのみ、ファイル データが完全に転送され、次の操作が実行されます。 ="multipart/form -data" はバイナリ データをアップロードするためのもので、フォーム内の値はバイナリ ストリームで渡されます。
この文は役に立たないようです...アップロード ファイルのサイズを制限できるのは php.ini または set にのみあると思いました。後からアップロードするファイルのスクリプト内で... 私のプログラムでは、php.iniでupload_max_filesize=6Mを直接設定しました
以下はアップロードプログラムです
コードをコピーします


コードは次のとおりです。 : $uploaddir="./map/"; $typearr=array("rar","zip","w3m","w3x");
$findstr=array("/","\") ," ", "<",">"); //名前をフィルターします
$mapname=str_replace($findstr,'',($_POST['mapname'])); function upfiletype( $filename){
$arr=explode('.',$filename);
$a=count($arr)-1;
return $arr[$a];
//
関数 isNo($str){
$intarr=array('1','2','3','4','5','6','7','8', '9', '0','.');
$a=str_replace($intarr,'',$str);
return ($a=="")
/// ///ウィンドウサイズの制御///////
function html(){
echo <<ファイルアップロード