0

わかりましたので、フォームからデータを取得してデータベースに挿入し、画像をアップロードするスクリプトがあります。すべての情報をデータベースに挿入しますが、画像はアップロードしません。

コードは以下のとおりです。私は PHP にまったく慣れていないので、アドバイスをいただければ幸いです。

ありがとうございました :-)

//This is the directory where images will be saved 
 $target = "../restaurants/images/"; 
 $target = $target . basename( $_FILES['photo']); 

 //This gets all the other information from the form 
 $rest_name=$_POST['rest_name']; 
 $address1=$_POST['address1']; 
 $address2=$_POST['address2']; 
 $town=$_POST['town']; 
 $postcode=$_POST['postcode'];
 $open_time=$_POST['open_time']; 
 $halal=$_POST['halal'];
 $deliver_areas=$_POST['deliver_areas'];
 $deliver_time=$_POST['deliver_time'];
 $type=$_POST['type'];    
 $photo=($_FILES['photo']); 


  mysql_select_db(restaurants);


 //Writes the information to the database 
    mysql_query("INSERT INTO `restaurants` VALUES ('', '$rest_name', '$address1', '$address2', '$town', '$postcode', '$open_time', '$halal', '$deliver_areas', '$deliver_time', '$type', '$photo')") ;  
    if( mysql_errno() != 0){
     // mysql error
     // note: message like this should never appear to user, should be only stored in log
     echo "Mysql error: " . htmlspecialchars( mysql_error());
     die();
}

 //Writes the photo to the server 
 if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) 

 { 


 //Tells you if its all ok 
header('Location: add-restaurant.php?added');
 } 
 else { 

 //Gives and error if its not 
header('Location: add-restaurant.php?fail');
 } 
4

1 に答える 1

0

次のコードを使用します。それがあなたを助けることを願っています。

if ($_FILES["photo"]["size"] < 30000) // specify file size here file size 
{
  if ($_FILES["photo"]["error"] > 0)
{
echo "Return Code: " . $_FILES["photo"]["error"] . "<br />";
}
else
{

if (file_exists("../restaurants/images/" . $_FILES["photo"]["name"]))
  {
  echo $_FILES["photo"]["name"] . " already exists. ";
  }
else
  {
  move_uploaded_file($_FILES["photo"]["tmp_name"],"../restaurants/images/" . $_FILES["photo"]["name"]);     
$rest_name=$_POST['rest_name']; 
$address1=$_POST['address1']; 
$address2=$_POST['address2']; 
$town=$_POST['town']; 
$postcode=$_POST['postcode'];
$open_time=$_POST['open_time']; 
$halal=$_POST['halal'];
$deliver_areas=$_POST['deliver_areas'];
$deliver_time=$_POST['deliver_time'];
$type=$_POST['type'];  
$photo=$_FILES["photo"]["name"]  ;  




mysql_select_db(restaurants);
//Writes the information to the database 
mysql_query("INSERT INTO `restaurants` VALUES ('', '$rest_name', '$address1', '$address2', '$town', '$postcode', '$open_time', '$halal', '$deliver_areas', '$deliver_time', '$type', '$photo')") ;  
if( mysql_errno() != 0)
{
 // mysql error
 // note: message like this should never appear to user, should be only stored in log
 echo "Mysql error: " . htmlspecialchars( mysql_error());
 die();

}


  }
}
}
于 2012-11-02T20:29:49.200 に答える