ホームページ > バックエンド開発 > PHPチュートリアル > PHP ファイルのダウンロードに関する非常に奇妙な問題

PHP ファイルのダウンロードに関する非常に奇妙な問題

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

PHP によるファイルのアップロードに関する非常に奇妙な問題
以下のフォーム送信ページ

HTML コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
    <input type="file" name="spic" /><br/>
    <input type="submit" name="sub" value="upload"/>
    </form>
ログイン後にコピー

Upload.php ページ コード
PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->    if($_FILES["spic"]["error"] != 0)
    {
        switch($_FILES["spic"]["error"])
        {
            case 1:
                echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 ";
                break;
            case 2:
                echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 ";
                break;
            case 3:
                echo "文件只有部分被上传。 ";
                break;
            case 4:
                echo "没有文件被上传。 ";
                break;
            default:
                echo "未知错误";
                
        }
    }else
    {
        echo "没有发生错误";    
    }
ログイン後にコピー


Word の画像をアップロードすると、最大サイズ制限が MAX_FILE_SIZE=1M になっていますが、1M を超えるファイルとアップロードを変更しました。成功する可能性があります
PHP.INI

;;;;;;;;;;;;;;;;;
;
; ;;;;;;;;;;;;;;;;

; HTTP ファイルのアップロードを許可するかどうか。
file_uploads = On

; (
; 指定されていない場合は、システムのデフォルトが使用されます)。
upload_tmp_dir = "d:/wamp/tmp"

; アップロードされるファイルの最大許容サイズ。
upload_max_filesize = 2M

設定ファイルを変更していません。
設定ファイルの最大制限は 2M ですが、exe ファイルをアップロードしたときは約 30M で、エラーは報告されませんでした。

ダニメンは問題が何であるかを見つけるのを手伝ってくれます

-----解決策-------- -
問題が発生した場合は、まず error_reporting(E_ALL) を有効にしてから、適切な措置を講じてください。
------解決策----------------------
フォームの非表示フィールドの値は正しくありません。と判断されましたが、どうやって機能するのでしょうか?

php.ini で最大アップロード サイズを設定しているため。効果が出るはずです。サーバーが再起動されたかどうかを確認します。
------解決策---------
PHP コード

if (isset($_POST['sub'] ){

} それ以外 {
   echo 'ファイルが大きすぎるか、その他の不明なエラーです!';
}

//1M 未満の場合、echo $_POST['sub'] は Upload; を表示しますが、1M を超える場合、echo $_POST['sub'] は空を表示します。
<br><font color="#e78608">------解決策----------------------</font><br>はい、上記の方法を使用して、サブフォームボタンがクリックされて送信されるファイルアップロードの決定に使用されます<br><br>一方、デバッグ中に1.73MBのexeファイルをアップロードしたところ、おそらく正常にアップロードできた設定です。コードの問題ではなく問題<div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート