前回の記事「PHPで中国語ファイルをアップロードするとファイル名が文字化けする問題」でファイルアップロードの問題に遭遇したので、次はPHPでファイルをアップロードする際に起こりやすい問題をいくつかまとめてみましょう。今後使用するときに探してください。
1. まず最も単純なアップロードファイルを作成します
リーリー
リーリー
リーリー2. 次に、スーパーグローバル変数 $_FILES の値を理解します
$_FILES['ユーザーファイル']['名前']
$_FILES['ユーザーファイル']['タイプ']
$_FILES['ユーザーファイル']['サイズ']
$_FILES['userfile']['tmp_name']
$_FILES['ユーザーファイル']['エラー']
そのうち、$_FILES['userfile']['error']のすべての値:
UPLOAD_ERR_OK 値は 0 で、エラーは発生せず、ファイルは正常にアップロードされます。
UPLOAD_ERR_INI_SIZE 値は 1 で、アップロードされたファイルは php.ini の Upload_max_filesize オプションで制限された値を超えています。
UPLOAD_ERR_FORM_SIZE 値は 2 で、アップロードされたファイルのサイズが HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています。
UPLOAD_ERR_PARTIAL その値は 3 で、ファイルは部分的にのみアップロードされます。
UPLOAD_ERR_NO_FILE その値は 4 で、ファイルはアップロードされません。
UPLOAD_ERR_NO_TMP_DIR の値は 6 で、一時フォルダーが見つかりません。 PHP 4.3.10 および PHP 5.0.3 で導入されました。
UPLOAD_ERR_CANT_WRITE 値は 7 で、ファイルの書き込みに失敗しました。 PHP 5.1.0で導入されました。
3. 多くの状況: アップロードされたファイルの種類を厳密に判断する必要があります
アップロードされたファイルのタイプを判断するために $_FILES['userfile']['type'] を使用するのは賢明ではないことはわかっています。判断はファイルのサフィックス名に基づいて行われるため、誰でもファイルのサフィックスを変更できます。 mp3 ファイルとしてアップロードし、画像として偽装することができるため、PHP では、ファイルの MIME を決定するために PHP 拡張子 php_fileinfo を使用することを推奨しています。違う。
4. シナリオ 1: アップロードされたファイルの名前を同じ名前に自動的に変更します
リーリー
5. シナリオ 2: 日付に基づいてディレクトリにファイルをアップロードします
リーリー
6. 複数のファイルのアップロード
リーリー
リーリー
場合によっては、複数のファイルのこの変数構造は使いにくいです:
配列(1) {
["アップロード"]=>array(2) {
...
}
...
}
}
}
多くの場合、必要なのはこれに似た構造です
配列(1) {
[0]=>配列(2) {
"[" 名前 "] = & gt; string (9)" file0.txt "
}、
[1]=>配列(2) {
"[" 名前 "] = & gt; string (9)" file1.txt ""[" Type "] = & gt; string (10)" text/html "
}
}
}
以下の関数を使うと簡単に構造を変換できます
リーリー
7.
場合によっては、アップロード ファイルの最大サイズを変更するようにサーバーを設定する必要があります
まずはフォームから
リーリー
アップロードファイルのサイズを制限できます(バイパス可能)。
その後、サーバーの構成も調整する必要があります
max_input_time = 60,每个脚本可以消耗的时间,单位也是秒
memory_limit = 128M,这个是脚本运行最大消耗的内存
post_max_size = 8M,表单提交最大数据为 8M,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的。
upload_max_filesize = 2M ,上载文件的最大许可大小
<span>1</span> <span>location / { </span><span>2</span> root html<span>; </span><span>3</span> index index.html index.htm<span>; </span><span>4 </span>client_max_body_size 1000m<span>; </span><span>5</span> }
以上就介绍了php上传文件常见问题(基础),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。