##move_uploaded_fileを使ってアップロードした画像が保存できません。
##コードになります
html
1<?php 2session_start(); 3if(!empty($_POST)){ 4 if($_POST['name']===''){ 5 $error['name']='blank'; 6 } 7 if($_POST['email']===''){ 8 $error['email']='blank'; 9 } 10 if(strlen($_POST['password'])<4){ 11 $error['password']='length'; 12 } 13 if($_POST['password']===''){ 14 $error['password']='blank'; 15 } 16 $fileName=$_FILES['image']['name']; 17 if(!empty($fileName)){ 18 $ext=substr($fileName,-3); 19 if($ext !='jpg' && $ext !='gif' && $ext !='png'){ 20 $error['image']='type'; 21 } 22 } 23 if(empty($error)){ 24 $image=date('YmdHis').$_FILES['image']['name']; 25 move_uploaded_file($_FILES['image']['tmp_name'],'../menmber_picture/'.$image); 26 $_SESSION['join']=$_POST; 27 $_SESSION['join']['image']=$image; 28 header('Location:check.php'); 29 exit(); 30 } 31} 32 33if($_REQUEST['action']=='rewrite' && isset($_SESSION['join'])){ 34 $_POST=$_SESSION['join']; 35} 36?> 37<!DOCTYPE html> 38<html lang="ja"> 39<head> 40 <meta charset="UTF-8"> 41 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 42 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 43 <title>会員登録</title> 44 45 <link rel="stylesheet" href="../style.css" /> 46</head> 47<body> 48<div id="wrap"> 49<div id="head"> 50<h1>会員登録</h1> 51</div> 52 53<div id="content"> 54<p>次のフォームに必要事項をご記入ください。</p> 55<form action="" method="post" enctype="multipart/form-data"> 56 <dl> 57 <dt>ニックネーム<span class="required">必須</span></dt> 58 <dd> 59 <input type="text" name="name" size="35" maxlength="255" value="<?php print(htmlspecialchars($_POST['name'],ENT_QUOTES));?>" /> 60 <?php if($error['name']==='blank'):?> 61 <p class="error">ニックネームを入力してください</p> 62 <?php endif;?> 63 </dd> 64 <dt>メールアドレス<span class="required">必須</span></dt> 65 <dd> 66 <input type="text" name="email" size="35" maxlength="255" value="<?php print(htmlspecialchars($_POST['email'],ENT_QUOTES));?>" /> 67 <?php if($error['email']==='blank'):?> 68 <p class="error">メールアドレスを入力してください</p> 69 <?php endif;?> 70 <dt>パスワード<span class="required">必須</span></dt> 71 <dd> 72 <input type="password" name="password" size="10" maxlength="20" value="<?php print(htmlspecialchars($_POST['password'],ENT_QUOTES));?>" /> 73 <?php if($error['password']==='length'):?> 74 <p class="error">パスワードを4文字以上で入力してください</p> 75 <?php endif;?> 76 <?php if($error['password']==='blank'):?> 77 <p class="error">パスワードを入力してください</p> 78 <?php endif;?> 79 </dd> 80 <dt>写真など</dt> 81 <dd> 82 <input type="file" name="image" size="35" value="test" /> 83 <?php if($error['image']==='type'):?> 84 <p class="error">画像は「.jpg」「.png」「.gif」の拡張子で挿入してください</p> 85 <?php endif;?> 86 <?php if (!empty($error)):?> 87 <p class="error">恐れ入りますが画像をもう一度表示してください</p> 88 <?php endif ;?> 89 </dd> 90 </dl> 91 <div><input type="submit" value="入力内容を確認する" /></div> 92</form> 93</div> 94</body> 95</html>
##試したこと
<?php if($error['image']==='type'):?> <p class="error">画像は「.jpg」「.png」「.gif」の拡張子で挿入してください</p> <?php endif;?> <?php if (!empty($error)):?> <p class="error">恐れ入りますが画像をもう一度表示してください</p> <?php endif ;?>```htmlに問題がないかを調べるために<img src"">で画像を出力しました。(出力できました) ##実行画面 ![イメージ説明](8f3e620c4ff2cad65ccfb4f7ce2e30ab.png) ![イメージ説明](e67f704013431c6d5926dde2c4d4c41e.png)
回答1件
あなたの回答
tips
プレビュー