回答編集履歴

2 修正

date

date score 1723

2017/01/24 17:40  投稿

```php
if (isset ( $_GET ['error'] ) && $_GET ['error'] = 1) {
```
```php
if (isset ( $_GET ['error'] ) && $_GET ['error'] == 1) {
```
$_GET['error']のチェックを=から==に変更してください。
追加 2017/01/24 17:30
事前に$resultをtrueにして実行
errorになるところで$result=falseにする
などという方法があります。
if($result==true){
}else{
このelseの部分でerrorを送る。
}
```php
<?php
ini_set ( 'display_errors', '1' );
error_reporting ( E_ALL );
$file = $_FILES ['upfile'];
$tmp_name = $file ['tmp_name']; // 一時ファイルのパス
$filesize = $_FILES ['upfile'] ['size'];
$result = true;
$error="";
if ($filesize > 524002) {
   $result = false;
   $error.="error[]=1&";
}
$finfo = new finfo ( FILEINFO_MIME_TYPE );
if (! preg_match ( '/\.jpg$|\.jpeg$/i', $file ['name'] ) || $finfo->file ( $tmp_name ) !== 'image/jpeg') {
   $result = false;
   $error .= "error[]=2&";
}
$get = getimagesize ( $tmp_name );
if ($get ["0"] > 1) {
   $result = false;
   $error = "error[]=3&";
   $error .= "error[]=3&";
}
if ($get ["1"] > 1) {
   $result = false;
   $error = "error[]=4&";
   $error .= "error[]=4&";
}
if ($result) {
   echo '送信完了';
}else{
   header ( 'location:up.php?' . $error );
}
?>
```
1 追加

date

date score 1723

2017/01/24 17:37  投稿

```php
if (isset ( $_GET ['error'] ) && $_GET ['error'] = 1) {
```
```php
if (isset ( $_GET ['error'] ) && $_GET ['error'] == 1) {
```
$_GET['error']のチェックを=から==に変更してください。
$_GET['error']のチェックを=から==に変更してください。
追加 2017/01/24 17:30
事前に$resultをtrueにして実行
errorになるところで$result=falseにする
などという方法があります。
if($result==true){
}else{
このelseの部分でerrorを送る。
}
```php
<?php
ini_set ( 'display_errors', '1' );
error_reporting ( E_ALL );
$file = $_FILES ['upfile'];
$tmp_name = $file ['tmp_name']; // 一時ファイルのパス
$filesize = $_FILES ['upfile'] ['size'];
$result = true;
$error="";
if ($filesize > 524002) {
   $result = false;
   $error.="error[]=1&";
}
$finfo = new finfo ( FILEINFO_MIME_TYPE );
if (! preg_match ( '/\.jpg$|\.jpeg$/i', $file ['name'] ) || $finfo->file ( $tmp_name ) !== 'image/jpeg') {
   $result = false;
   $error .= "error[]=2&";
}
$get = getimagesize ( $tmp_name );
if ($get ["0"] > 1) {
   $result = false;
   $error = "error[]=3&";
}
if ($get ["1"] > 1) {
   $result = false;
   $error = "error[]=4&";
}
if ($result) {
   echo '送信完了';
}else{
   header ( 'location:up.php?' . $error );
}
?>
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る