PHP一括ダウンロード

WBOY
リリース: 2016-06-13 13:06:51
オリジナル
767 人が閲覧しました

php バッチアップロード
コード:









height=20 align="center">ファイル:



< ;td height="16">




td>







/form>




ここで注意すべき点がいくつかあります。まずこの文を見てください ここでは POST メソッドを使用しています。もちろん、一部のブラウザでは PUT メソッドもサポートされていますが、これにはスクリプトの変更が必要です。これはお勧めしません。アップロードされたファイルに通常のフォーム情報が含まれていることをサーバーが認識できるように、Enctype="multipart/form-data をフォームに設定する必要があります。これを設定する必要があることを覚えておいてください。また、最大長を制限するには隠しフィールドが必要です。アップロードされたファイル: < ;input type="hidden" name="MAX_FILE_SIZE" value="2000000">、ここで name は MAX_FILE_SIZE に設定する必要があり、その値はアップロードされたファイルの最大長で、単位は B、ここでは 2M に制限します。 :, type="file" はファイルの種類を示します。これで、基本的なファイルアップロードインターフェイスが完成します。次に、PHP を使用してアップロードされたファイルを処理する方法について説明します。また、php.ini に設定されているアップロード ファイルの最大長は、実際のアップロードに影響を与える可能性があります。最初に一時ディレクトリにアップロードされ、その後、指定されたディレクトリに移動されます。はい、一時ディレクトリは必要に応じて変更できます。
OK、upload.php のフォームを送信して内容を確認してください。このページ:
PHP コンテンツをクリップボードにコピーします
PHP コード:




$uploaddir = "./files/" ;//ファイルの保存ディレクトリを設定します。/ =array("jpg","gif","bmp","jpeg","png");//アップロードを許可するファイルの種類を設定します
$patch="http://127.0.0.1/cr_downloadphp/upload /files/";//プログラムが配置されているパス

//ファイルのサフィックス名を取得 function
function fileext($ filename)
{
return substr(strrchr($filename, '.' ), 1);
}
//ランダムなファイル名を生成 function
function random($length)
{
$hash = 'CR-';
$chars = ' ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i <$length; $ i++)
{
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}

$a=strto lower (fileext($_FILES['file']['name']));
//ファイルの種類を判定
if(!in_array(strto lower(fileext($_FILES['file']['name'] )),$type))
{
$text=implode(",",$type);
echo "次の種類のファイルのみをアップロードできます: ",$text,"
";
}
//ターゲット ファイルのファイル名を生成します
else{
$filename=explode(".",$_FILES['file']['name']);
do
{ $ FILENAME [0] = Random (10); // 乱数の長さを設定します
$ name = Implode (".", $ Filename);
// $ name1 = $ name ". Mcncc";
$uploadfile=$uploaddir.$name;
}

// while(file_exists($uploadfile));
if(is_uploaded_file($_FILES['file'] ['tmp_name'])){

if (move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile)){

プレビュー
echo "< center>ファイルがアップロードされました。画像プレビューをアップロードします:
";
エコー」< br> 🎜> 「アップロードに失敗しました!」; >これを読んだ直後は少しめまいがするかもしれません~~ でも、それは問題ではありません。私の話を聞いてください。これは実際にはとても簡単であることがわかります。 !まず原理を説明します。このプログラムは、写真のアップロードを例に挙げます。まず、ファイルの種類が画像形式であるかどうかを判断し、ファイルの名前を乱数と時刻の組み合わせで変更します。 ! を使用してファイルをアップロードしないようにする必要があります。アップロードが成功すると、アップロードされた画像のプレビューが出力されます。ここでは、プログラム内のいくつかの関数について説明します。まず、 return substr(strrchr($filename, '.'), 1) を見てみましょう。 strrchar() 関数の役割は何ですか? 例を挙げましょう。たとえば、画像ファイルです。 jpg を処理するには strrchr( pic.jpg,'.') を使用すると、.jpg が返されます。この関数は、文字列内で指定された文字が最後に出現した後の文字を返します。 substr() を使用すると、jpg を取得できるため、ファイル拡張子を取得して、アップロードされたファイルが指定された形式に準拠しているかどうかを判断できます。このプログラムは、指定された形式を配列に配置し、実際の使用中に必要に応じて追加できます。
次に、乱数を生成するファイル名に注目してください。マニュアルでは「より良い乱数生成のシードを播く」関数と呼ばれています。これは (double)microtime() * 1000000 です。これがパラメーターでない場合、もちろん、これはニーズを満たしません。このようにして、乱数は一定の長さになります。アップロードされたファイル名が重複していないことを確認します。次に、関数を呼び出してファイルの種類を決定し、それを小文字の strto lower(fileext($_FILES['file']['name'])) に変換します。ここには非常に重要な点があります。これはスーパー グローバルです。 register_globals がオンになっている場合は、配列に直接アクセスすることもできますが、これは安全ではありません。今アップロード インターフェースを見てください このフォーム名に従って、多くの情報を取得できます:
$_FILES['file ']['name ']--ファイル名を取得します
$_FILES['file']['tmp_name']--一時的な保存場所を取得します
$_FILES['file']['size'] --ファイルサイズを取得
$_FILES['file']['type']--ファイルのMIMEタイプを取得
この情報があれば、ファイル情報を簡単に判断することができて、とても便利ではないでしょうか。 ^_^、次に理解する必要がある関数がいくつかあります。file_exists() -- 指定されたディレクトリが存在するかどうかを確認します。存在しない場合は、もちろんアップロードできません (ナンセンスのようです!)、move_uploaded_file -- です。アップロードされたファイルを指定されたディレクトリに移動します。is_uploaded_file- - ファイルが HTTP POST 経由でアップロードされたかどうかを判断します。アップロードが成功するとプレビューが出力されますが、そうでない場合は出力のアップロードは失敗します。終わり

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート