題名見て何がやりたい河からないかもしれませんが、コード見ると多分わかると思います。
やりたいことは今resize.phpでクエリを変数に入れてあります。
それらをup.phpで$_GETでとって、up.phpでエラー文を表示したいです。
最終的には条件分岐で条件にあったエラー文を出したいです。
今のままですと、$errorのエラー文しか出てこないです。
テストで$error~$error4を全部echoしましたが、$error以外は空になっています。
urlがhttp://localhost/up/up.php?error=1234こうなっていて、
内容は
1234
Notice: Undefined index: error_2 in C:\xampp\htdocs\up\up.php on line 18
Notice: Undefined index: error_3 in C:\xampp\htdocs\up\up.php on line 19
Notice: Undefined index: error_4 in C:\xampp\htdocs\up\up.php on line 20
このようになっています。
説明不足や下手なところがあるかもしれませんが、よろしくお願いいたします。
php
1<?php 2 3 4/*if (isset($_GET['error'])) { 5 echo '<span style="color: #ee0000">5M以下のファイルを選択して下さい!</span>'; 6} 7 8if(isset($_GET['error2'])){ 9 echo '<span style="color: #ee0000">JPEGファイルを選択してください!</span>'; 10} 11if (isset($_GET['error3'])) { 12 echo '<span style="color: #ee0000">横幅を小さくしてください!</span>'; 13} 14if (isset($_GET['error4'])) { 15 echo '<span style="color: #ee0000">縦幅を小さくしてください!</span>'; 16}*/ 17echo $_GET['error']; 18echo $_GET['error_2']; 19echo $_GET['error_3']; 20echo $_GET['error_4']; 21?> 22<!DOCTYPE html> 23<html> 24<head> 25 26 <meta charset="utf-8"> 27 <title>php</title> 28</head> 29<body> 30<form action="resize.php" method="get" name="form" "> 31 32 33<input type="hidden" name="MAX_FILE_SIZE" value="20971520"> 34<p> 35<input type="text" name="upfile" size="30" id="upload"> 36</p> 37 38<p> 39<input type="submit" value="送信する"> 40</p> 41</form> 42</body> 43 44 </html> 45 46
php
1<?php 2ini_set('display_errors', '1'); 3error_reporting(E_ALL); 4 5if (!isset($_FILES['upfile'])) { 6 echo '<span style="color: #ee0000">恐らくアップロードページのHTMLに記述ミス有り!</span>'; 7 8} 9 10$file = $_FILES['upfile']; 11$tmp_name = $file['tmp_name']; // 一時ファイルのパス 12$filesize = $_FILES['upfile']['size']; 13 14 15if ($filesize > 5242880) { 16 echo '<span style="color: #ee0000">5M以下のファイルを選択して下さい!</span>'; 17} 18 19 20$error = "1"; 21$error_2 = "2"; 22$error_3 = "3"; 23$error_4 = "4"; 24header('location:http://localhost/up/up.php?error='.$error.$error_2.$error_3.$error_4); 25 26 27$finfo = new finfo(FILEINFO_MIME_TYPE); 28if (!preg_match('/\.jpg$|\.jpeg$/i', $file['name']) 29 || $finfo->file($tmp_name) !== 'image/jpeg') { 30 echo '<span style="color: #ee0000">JPEGファイルを選択してください!</span>'; 31 32} 33 34$result = true; 35$get = getimagesize($tmp_name); 36 37if ($get["0"]>1000) { 38 $result = false; 39 echo '<span style="color: #ee0000">横幅を小さくしてください!</span>'; 40} 41if ($get["1"]>1000) { 42 $result = false; 43 echo '<span style="color: #ee0000">縦幅を小さくしてください!</span'; 44} 45 46if ($result) { 47 echo '送信完了'; 48 49} 50 51?> 52
回答3件
あなたの回答
tips
プレビュー