フォームから投稿された画像を画面に出力するための勉強をしているところです。
実際に書いたコードが下記です。フォームから投稿された画像を「test.png」という名前にして、あらかじめ作っておいたフォルダに移動させ、その画像を画面に出力するというものです。
<?php if($_SERVER['REQUEST_METHOD']==='POST'){ move_uploaded_file($_FILES['image']['tmp_name'],'./images/test.png'); header ('Content-Type: image/png'); $img = imagecreatefrompng('./images/test.png'); imagepng($img); } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> </head> <body> <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" value="upload"> </form> </body> </html>
①
実際の画像を投稿してみると、うまくいく場合とうまくいかない場合があります。うまくいかない場合は下の画像のような画面になります。
また実際に投稿してみた画像でうまくいった画像はこれで
うまくいかなかった画像はこれです
ファイルの形式はどちらともpngで、ファイルの大きさはどちらとも同程度です。
またほとんどの画像は黒いだけの画面が出力され、画像がうまく出力されるのは極稀です。
これは一体どうしてなのでしょうか?
②
フォームから投稿された画像を画面に出力すると、画像はおのずと真ん中に配置され、その周りは黒くなってしまいます。またフォームも消えてしまいます。
参考ウェブサイト
リンクのウェブサイトを参考にしながら勉強をしているのですが、リンクのウェブサイトにのっているようには画像が出力されません(画面が白く、画像が左上によるような配置にはならない)。
どうすればフォームは消えず、リンク先のような表示にできるのしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/22 12:06
退会済みユーザー
2018/08/22 12:22
2018/08/22 13:15 編集
2018/08/22 13:37
退会済みユーザー
2018/08/22 13:48