2点質問があります。
1つ目は、下のコードだと、大きい写真サイズの処理ができないのですが、どこを直したらできるでしょうか?
2つ目は、エラーを入れたいのですが、どのように記述すれば良いのでしょうか。
例えば、
「ファイルが選択されていません」
「ファイルサイズが大きすぎます」
「画像形式が未対応です」などです。
次のページの確認画面で、エラー表示をしたいと考えています。
以下のコードで、画像の取得まではできました。
<?php session_start(); if (isset($_FILES['image']['error']) && is_int($_FILES['image']['error'])) { // $_FILES['upfile']['mime']の値はブラウザ側で偽装可能なので、MIMEタイプを自前でチェックする $filename = $_FILES['image']['tmp_name']; if (is_uploaded_file($filename)) { $info = getimagesize($filename); list($width, $height) = $info; if ($info[0] >= $info[1]) { $new_width = 300; $new_height = ceil(300 * $info[1] / max($info[0], 1)); } else { $new_width = ceil(300 * $info[0] / max($info[1], 1)); $new_height = 300; } } $image_p = imagecreatetruecolor($new_width, $new_height); $create = str_replace('/', 'createfrom', $info['mime']); $output = str_replace('/', '', $info['mime']); $image = $create($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); ob_start(); $output($image_p); $img = ob_get_contents(); $_SESSION['img'] = $img; $_SESSION['type'] = $info['mime']; ob_end_clean(); } ?> <form method="post" action="" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" name="confirm" value="確認する" /> </form><img src="UseImg.php" ><br>
UseImg.php
<?php session_start(); if (!isset($_SESSION['img'])) { die('abort'); } $type = $_SESSION['type']; header('content-type: $type'); echo $_SESSION['img']; お忙しい中、恐縮ではございますがぜひとも宜しくお願いします。回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/14 07:52