2013-11-25 3 views
2

PHP를 처음 사용하여 양식을 만들려고하는데 몇 개의 텍스트 필드를 업로드 한 다음 3 개의 이미지를 업로드하고 이미지를 원격 서버에 업로드 한 다음 이미지 이름을 데이터베이스에 저장합니다. 그러면 나중에 꺼내서 표시 할 수 있습니다. (p.s. SQL 주입 문제를 무시하고, 아직 그 문제를 해결할 시간이 없습니다.) 감사합니다.이 상황에서 여러 이미지를 원격 서버에 업로드하려면 어떻게합니까? 반복 또는 업로드 절차를 반복합니까?

현재 로컬 호스트에서이를 테스트 중입니다. 제 질문은입니다. 루프를 반복해야합니까, 아니면 업로드 프로세스를 3 번해야합니까? 다음은 내가 시도한 것입니다. 그러나 반복 시험은 파일을 업로드하지 않으며 단지 잘못된 파일로 바로갑니다. 또한 나는 모든 3 파일이 업로드하기 전에 유효한 파일인지 확인하고 싶습니다. 먼저 루프를 확인한 다음 다시 업로드를 반복해야합니까?

시간을내어 조언 해주세요. 루핑없이

<?php 
ini_set('display_errors', 1); error_reporting(E_ALL); 

ob_start(); 
session_start(); 
include 'connect.php'; 



if ($_POST) 
{ 
//get form data 



$Listingname = addslashes(strip_tags($_POST['Listingname'])); 
$Location = addslashes(strip_tags($_POST['Location'])); 
$nobed = addslashes(strip_tags($_POST['nobed'])); 
$zip = addslashes(strip_tags($_POST['zip'])); 
$price = addslashes(strip_tags($_POST['price'])); 
$username=addslashes(strip_tags($_POST[$_SESSION['username']])); 

if (!$Listingname||!$nobed||!$nobed||!$zip||!$price) 
    echo "Please fill out all fields"; 
    else 
    for($i=0;$i<count($_FILES["image"]["name"]);$i++) 
    {$allowedExts = array("gif", "jpeg", "jpg", "png"); 
$temp = explode(".", $_FILES["file"]["name"][$i]); 
$extension = end($temp); 
if ((($_FILES["file"]["type"] == "image/gif") 
|| ($_FILES["file"]["type"] == "image/jpeg") 
|| ($_FILES["file"]["type"] == "image/jpg") 
|| ($_FILES["file"]["type"] == "image/pjpeg") 
|| ($_FILES["file"]["type"] == "image/x-png") 
|| ($_FILES["file"]["type"] == "image/png")) 
&& ($_FILES["file"]["size"] < 400000) 
&& in_array($extension, $allowedExts)) 
    { 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else 
    { 
    echo "Upload: " . $_FILES["file"]["name"][$i] . "<br>"; 
    echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
    echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 

    if (file_exists("upload/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"][$i] . " already exists please add another file, or change the. "; 
     } 
    else 
     { 
     $photo=$_FILES["file"]["name"][$i]; 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/$photo"); 
     echo "Stored in: " . "upload/" . $_FILES["file"]["name"][$i]; 
     } 
    } 
    } 
else 
    { 
    echo "Invalid file"; 
    } 

    { 
     $username=$_SESSION['username']; 

      //register into database 
      mysqli_query($con,"INSERT INTO Listing (username,Listingname,Location,nobed,zip,price,pic1) VALUES 
       ('$username','$Listingname','$Location','$nobed','$zip','$price','$photo');") or die(mysqli_error()); 


      echo "Listing Added"; 


     } 

    } 
} 


else 
{ 

?> 

<form action="Submitlisting2.php" method="post" 
enctype="multipart/form-data"> 
Listing Name:<br /> 
<input type='text' name='Listingname'><p /> 
Location:<br /> 
<input type='text' name='Location'><p /> 
Number of Beds:<br /> 
<input type='test' name='nobed'><p /> 
Zip:<br /> 
<input type='text' name='zip'><p /> 
Price:<br /> 
<input type='text' name='price'><p /> 


<label for="file">Pic1(File must be exceed 4mb):</label> 
<input type="file" name="file[]" id="file"><br> 
<label for="file">Pic2(File must be exceed 4mb):</label> 
<input type="file" name="file[]" id="file"><br> 
<br> 
<input type='submit' name='submit' value='Submit'> 
</form> 

<?php 

} 



?> 

시도 내가 얘기하고있는 경우

<?php 
ini_set('display_errors', 1); error_reporting(E_ALL); 

ob_start(); 
session_start(); 
include 'connect.php'; 



if ($_POST) 
{ 
//get form data 



$Listingname = addslashes(strip_tags($_POST['Listingname'])); 
$Location = addslashes(strip_tags($_POST['Location'])); 
$nobed = addslashes(strip_tags($_POST['nobed'])); 
$zip = addslashes(strip_tags($_POST['zip'])); 
$price = addslashes(strip_tags($_POST['price'])); 
$username=addslashes(strip_tags($_POST[$_SESSION['username']])); 

if (!$Listingname||!$nobed||!$nobed||!$zip||!$price) 
    echo "Please fill out all fields"; 
    else 
    {$allowedExts = array("gif", "jpeg", "jpg", "png"); 
$temp = explode(".", $_FILES["file"]["name"]); 
$extension = end($temp); 
if ((($_FILES["file"]["type"] == "image/gif") 
|| ($_FILES["file"]["type"] == "image/jpeg") 
|| ($_FILES["file"]["type"] == "image/jpg") 
|| ($_FILES["file"]["type"] == "image/pjpeg") 
|| ($_FILES["file"]["type"] == "image/x-png") 
|| ($_FILES["file"]["type"] == "image/png")) 
&& ($_FILES["file"]["size"] < 400000) 
&& in_array($extension, $allowedExts)) 
    { 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else 
    { 
    echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
    echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
    echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 
    } 


    if (file_exists("upload/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " already exists please add another file, or change the. "; 
     } 
    } 
    } 
} 
    else 
     {$allowedExts1 = array("gif", "jpeg", "jpg", "png"); 
$temp1 = explode(".", $_FILES1["file1"]["name1"]); 
$extension1 = end($temp1); 
if ((($_FILES1["file"]["type"] == "image/gif") 
|| ($_FILES1["file"]["type"] == "image/jpeg") 
|| ($_FILES1["file"]["type"] == "image/jpg") 
|| ($_FILES1["file"]["type"] == "image/pjpeg") 
|| ($_FILES1["file"]["type"] == "image/x-png") 
|| ($_FILES1["file"]["type"] == "image/png")) 
&& ($_FILES1["file"]["size"] < 400000) 
&& in_array($extension1, $allowedExts1)) 
    { 
    if ($_FILES1["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES1["file"]["error"] . "<br>"; 
    } 
    else 
    { 
    echo "Upload: " . $_FILES1["file"]["name"] . "<br>"; 
    echo "Type: " . $_FILES1["file"]["type"] . "<br>"; 
    echo "Size: " . ($_FILES1["file"]["size"]/1024) . " kB<br>"; 
    echo "Temp file: " . $_FILES1["file"]["tmp_name"] . "<br>"; 

    if (file_exists("upload/" . $_FILES1["file"]["name"])) 
     { 
     echo $_FILES1["file"]["name"] . " already exists please add another file, or change the. "; 
     } 
    } 
    } 

else 

    { $photo=$_FILES["file"]["name"]; 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/$photo"); 
     echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
     } 

     else 
    { 
    echo "Pic 1 Invalid file" and die("Unable to upload pic1"); 
    } 
    } 
     { 
     $photo1=$_FILES1["file"]["name"]; 
     move_uploaded_file($_FILES1["file"]["tmp_name"], 
     "upload/$photo1"); 
     echo "Stored in: " . "upload/" . $_FILES1["file"]["name"]; 
     } 


else 
    { 
    echo "Pic 2 Invalid file" and die("Unable to upload Pic2"); 
    } 


    { 
     $username=$_SESSION['username']; 

      //register into database 
      mysqli_query($con,"INSERT INTO Listing (username,Listingname,Location,nobed,zip,price,pic1) VALUES 
       ('$username','$Listingname','$Location','$nobed','$zip','$price','$photo');") or die(mysqli_error()); 


      echo "Listing Added"; 


     } 



else 
{ 

?> 

<form action="Submitlisting2.php" method="post" 
enctype="multipart/form-data"> 
Listing Name:<br /> 
<input type='text' name='Listingname'><p /> 
Location:<br /> 
<input type='text' name='Location'><p /> 
Number of Beds:<br /> 
<input type='test' name='nobed'><p /> 
Zip:<br /> 
<input type='text' name='zip'><p /> 
Price:<br /> 
<input type='text' name='price'><p /> 


<label for="file">Filename(File must be exceed 4mb):</label> 
<input type="file" name="file" id="file"><br> 
<label for="file">Filename(File must be exceed 4mb):</label> 
<input type="file" name="file1" id="file1"><br> 
<br> 
<input type='submit' name='submit' value='Submit'> 
</form> 

<?php 

} 



?> 

답변

0

(이 매우 매우 긴 얻을 시도는 내가 루프로 생각하고 왜 한 이유는이 개 이미지를 업로드, 함께) 더 나은 사용자 경험 다음 루프가 훨씬 더 나은 다음 반복 업로드 및 AJAX 업로드를 사용할 수 있습니다.