2015-01-14 7 views
0

아래의 코드는 이미지 업로드에 도움이되지만 이미지 경로를 데이터베이스에 저장하고 싶습니다. 코드 현재데이터베이스에 이미지 경로 저장

<?php 

     if (!isset($_FILES["item_file"])) 
      die ("Error: no files uploaded!"); 

     $file_count = count($_FILES["item_file"]['name']); 

     //echo $file_count . " file(s) sent... <BR><BR>"; 

     if(count($_FILES["item_file"]['name'])>0) { //check if any file uploaded 

      for($j=0; $j < count($_FILES["item_file"]['name']); $j++) { //loop the uploaded file array 

       $filen = $_FILES["item_file"]['name'][$j]; 

       // ingore empty input fields 
       if ($filen!="") 
       { 

        // destination path - you can choose any file name here (e.g. random) 
        $path = "upload/" . $filen; 

        if(move_uploaded_file($_FILES["item_file"]['tmp_name']["$j"],$path)) { 

         //echo "File# ".($j+1)." ($filen) uploaded successfully!<br>"; 
         echo $path; 

        } else 
        { 
         echo "Errors occoured during file upload!"; 
        } 
       } 

      } 
     } 


?> 

내가 echo $path 내가 변수에 개별적으로 각각의 경로를 저장하고자하는

upload/1.jpgupload/2.jpgupload/3.jpg 

입니다 얻을 결과에 의해 모든 이미지의 경로를 인쇄 한 것입니다 그런 다음 테이블에서 업데이트하십시오. 이 같은 큰

$image1=upload/1.jpg 
$image2=upload/2.jpg 
$image3=upload/3.jpg 

것 그리고 내가 그들에게

$sql = "UPDATE tablename SET image1='$image1',image2='$image2',image3='$image3' WHERE id=1"; 

를 업데이트 할 수 있습니다 테이블은이

가 가
id   image1   image2    image3 
1   upload/1.jpg  uploade/2.jpg  upload/3.jpg 

사람이 나에게 알려 주시기 바랍니다 수 있습니다 그것을 할 수있는 방법을 같이한다

답변

1

루프가 시작된 후 이미지 키를 만듭니다.

$imageKey = $j+1: 

당신은 당신의 에코 $ 경로 후 배열에하는 Pathes를 저장할 수 있습니다 : 루프 후

$image[$imageKey] = $path; 

를이 쿼리 사용할 수 있습니다 : 배열로 그들에 저장

$sql = "UPDATE tablename SET image1='".$image[1]."',image2='".$image[2]."',image3='".$image[3]."' 
WHERE id=1"; 
0

시도를 -

$uploads = array(); 
//... codes 
    if(move_uploaded_file($_FILES["item_file"]['tmp_name']["$j"],$path)) { 
     //echo "File# ".($j+1)." ($filen) uploaded successfully!<br>"; 
     //echo $path; 
     $uploads[] = $path; 
    } 
//... rest of the code 

및 검색어 -

$sql = "UPDATE tablename SET 
     image1='".!empty($uploads[0]) ? $uploads[0] : ""."', 
     image2='".!empty($uploads[1]) ? $uploads[1] : ""."', 
     image3='".!empty($uploads[2]) ? $uploads[2] : ""."'' 
     WHERE id=1"; 
0

변수 $path에 저장하는 대신 배열 $path[$j]을 사용하십시오. 처음에는 $ path를 빈 array()으로 선언하는 것을 잊지 마십시오.

$sql = "UPDATE tablename SET image1='$path[0]',image2='$path[1]',image3='$path[3]' WHERE id=1"; 
0

이 시도 당신이 SQL을 실행할 수 후

:

$path_list= array(); 
//... codes 
    if(move_uploaded_file($_FILES["item_file"]['tmp_name']["$j"],$path)) { 
     //echo "File# ".($j+1)." ($filen) uploaded successfully!<br>"; 
     //echo $path; 
     $path_list[] = $path; 
    } 
//... rest of the code 

및 SQL을

$sql = "UPDATE tablename SET image1='"[email protected]$path_list[1]."',image2='"[email protected]$path_list[2]."',image3='"[email protected]$path_list[3]."' WHERE id=1"; 
관련 문제