LoginSignup
0
0

More than 5 years have passed since last update.

PHPでファイルアップロード時の注意点

Posted at

自分同様の初心者(特に独学をされている方)の方々がはまりそうなので
忘れないように残しておこうと思います。

何があったのか

page1から画像をアップし、page2で3MB以上ならNGとする判定を入れた状態としていたが
2MBの画像をアップしても所定のフォルダに格納されない・・・。

page1
            <form method="post" action="pro_add_check.php" enctype="multipart/form-data">
                <p>画像を選んで下さい。</p><br />
                <input type="file" name="image" style="width:400px"><br />
                <br />
                <input type="button" onclick="history.back()" value="戻る">
                <input type="submit" value="OK">
            </form>
page2
    $pro_image=$_FILES['image'];

    if($pro_image['size'] > 0){
        if($pro_image['size'] > 3000000){
            print '画像のサイズが大きすぎます。';
        }else{
            move_uploaded_file($pro_image['tmp_name'], './image/'.$pro_image['name']);
            print '<img src="./image/'.$pro_image['name'].'">';
            print '<br/>';
        }
    }

原因

ソース側に問題がないか色々試してみたが、問題は発見できず、調べてみたところ、
php.iniのupload_max_filesizeの値でアップロードファイルの容量上限を設定していることが判明。
(自分の環境は2MBでした。)
この値を2M以上にしてやることで無事解決。

※php.iniの値を変えた後はWebサーバの再起動を忘れずに・・・。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0