2012-05-03 10 views
0

写真をアップロードしてデータベースに保存しようとしています。問題は、私はHTMLですばらしいことではなく、私が好きなフォームを取得したり、物事をすべきだと思う場所を編集するためにタグをコピー/貼り付けしているだけです。私はそれが私が使用しているHTMLタグと何か関係があると確信しています。それ自体はうまくいきますが、そのコードをどこにコピーして貼り付けても、私の登録フォームにあるはずです。タイプとサイズのチェックは常にfalseを返します。フォーム/投稿/送信ボタンのコンボを貼り付ける作業、登録フォームページとは何か関係があります。ファイルのアップロードができませんフォームタグPHP MongoDB

これは私の作業アップロードテストコード今

<html> 
<body> 
<form method = "post" enctype = "multipart/form-data"> 
<label for = "file">Filename:</label> 
<input type = "file" name = "file" id = "file" /> 
<input type = "submit" name = "Submit" value ="Submit"> 
</form> 

<?php 
if (!empty($_FILES['file'])) 
{ 
    if ((($_FILES["file"]["type"] == "image/gif") 
     || ($_FILES["file"]["type"] == "image/jpeg") 
     || ($_FILES["file"]["type"] == "image/pjpeg")) 
     && ($_FILES["file"]["size"] < 5000000)) 
    { 
     if ($_FILES["file"]["error"] > 0) 
     { 
      header("Location: http://www.drink-social.com/error.php?upload=".$_FILES["file"]["error"]); 
      exit(); 
     } 

     else if (file_exists("/var/www/pics/".$_FILES["file"]["name"])) 
     { 
      header("Location: http://www.drink-social.com/error.php?upload=exists"); 
      exit(); 
     } 

     move_uploaded_file($_FILES["file"]["tmp_name"], "/var/www/pics/".$_FILES["file"]["name"]); 
    } 
} 
?> 
</body> 
</html> 

で、これはどのようなものか、私の登録ページ、私はコピーした後、/セクションが一緒に貼り付け、次のとおりです。それは、過去のチェックを取得します

<html> 
<body> 
Please enter your details below: 
<br /> 
<form name = "Details" method = "post"> 
<br /> 
Username: <input type = "text" name = "Username"> 
<br /> 
Password: <input type = "text" name = "Password"> 
<br /> 
Name:  <input type = "text" name = "Name"> 
<br /> 
Address: <input type = "text" name = "Line1"> 
<br /> 
Line 2:  <input type = "text" name = "Line2"> 
<br /> 
City:  <input type = "text" name = "City"> 
<br /> 
State:  <input type = "text" name = "State"> 
<br /> 
Zip:  <input type = "text" name = "Zip"> 
<br /> 
Now let's get those daily deals... 
<br /> 
Monday:  <input type = "text" name = "Monday"> 
<br /> 
Tuesday: <input type = "text" name = "Tuesday"> 
<br /> 
Wednesday: <input type = "text" name = "Wednesday"> 
<br /> 
Thursday: <input type = "text" name = "Thursday"> 
<br /> 
Friday:  <input type = "text" name = "Friday"> 
<br /> 
Saturday: <input type = "text" name = "Saturday"> 
<br /> 
Sunday:  <input type = "text" name = "Sunday"> 
<br /> 

<form method = "post" enctype = "multipart/form-data"> 
<label for = "file">Filename:</label> 
<input type = "file" name = "file" id = "file" /> 
<input type = "submit" name = "Submit" value ="Submit"> 
</form> 

<?php 
include_once("host_class.php"); 
include_once("event_class.php"); 

if (!empty($_POST['Username'])) 
{   
    $host = new Host();   
    $event = new Event(); 

    if ($host->i_exist($_POST['Username'])) 
    { 
     header("Location: http://www.drink-social.com/error.php?login=duplicate"); 
     exit(); 
    } 

    else if ((($_FILES["file"]["type"] == "image/gif")  
     || ($_FILES["file"]["type"] == "image/jpeg") 
     || ($_FILES["file"]["type"] == "image/pjpeg")) 
     && ($_FILES["file"]["size"] < 5000000)) 
    { 
     if ($_FILES["file"]["error"] > 0) 
      { 
       header("Location: http://www.drink-social.com/error.php?upload=".$_FILES["file"]["error"]); 
      exit(); 
      } 

     else if (file_exists("/var/www/pics/".$_FILES["file"]["name"])) 
     { 
      header("Location: http://www.drink-social.com/error.php?upload=exists"); 
      exit(); 
     } 

     move_uploaded_file($_FILES["file"]["tmp_name"], "/var/www/pics/".$_FILES["file"]["name"]); 
     $host->set_username($_POST['Username']); 
     $host->set_password($_POST['Password']); 
     $host->set_name($_POST['Name']);   
     $host->set_address($_POST['Line1'], $_POST['Line2'], $_POST['City'], 
        $_POST['State'], $_POST['Zip']); 
     $host->set_pic($_FILES['file']['name']); 

     $id = new MongoID($host->add_me()); 
     $host->build_me($id); 

     $host->set_mondayID($event->add_me($_POST['Monday'], $host->get_id())); 
     $host->set_tuesdayID($event->add_me($_POST['Tuesday'], $host->get_id())); 
     $host->set_wednesdayID($event->add_me($_POST['Wednesday'], $host->get_id())); 
     $host->set_thursdayID($event->add_me($_POST['Thursday'], $host->get_id())); 
     $host->set_fridayID($event->add_me($_POST['Friday'], $host->get_id())); 
     $host->set_saturdayID($event->add_me($_POST['Saturday'], $host->get_id())); 
     $host->set_sundayID($event->add_me($_POST['Sunday'], $host->get_id())); 

     $host->update_me(); 
     header("Location: http://www.drink-social.com/member.php?ID=".$id); 
     exit(); 
    } 

    else 
    { 
     header("Location: http://www.drink-social.com/error?upload=empty"); 
     exit(); 
    } 

} 
?> 
</body> 
</html> 

投稿が空であるかどうかを確認するが、ファイルがあるかどうかを確認すると、falseを返し、私のエラーページに移動し、選択されたファイルがないと言う...? 私は無知です、助言してください おかげで、事前に、そして申し訳ありません、とても長い!ファイルをアップロードするために、私はこのコードを使用しています

答えて

1

私はここで

if($_FILES['file']['name']){ 
    if($_FILES['file']['error']==0){ 
     $target = "/images/"; 
     $target_path = $target.time().getExtension($_FILES['file']['name']); 
     move_uploaded_file($_FILES['file']['tmp_name'], $target_path); 
    } 
} 

としてファイルを受信します提出する上でのクリックに今

<input type="file" value="" name="file" /> 

として形式で入力フィールドを持つ午前と仮定現在のタイムスタンプのファイルを名前として&に保存しています

function getExtension($str) { 
    $i = strrpos($str,"."); 
    if (!$i) { return ""; } 
    $l = strlen($str) - $i; 
    $ext = substr($str,$i+1,$l); 
    return $ext; 
} 

は、今私はMongoDBのわからないですが、あなたのコードからそのイメージのパスを格納する

$host->set_pic($target_path); 

ようにする必要があります。ファイルタイプ&サイズをチェックするための条件は、このコードのそれぞれの場所に置くことができます。 ありがとうございました

関連する問題