2012-05-21 2 views
0

내가 파일 입력 필드와 형태가 해당 경로 이름을 가져 :폴더에 이미지를 업로드하고

$image_tmpname = $_FILES['ImageFile']['name']; 
$imgdir = "blogImages/"; 
$imgname = $imgdir.$image_tmpname; 

$blogs = new Blogs(); 

move_uploaded_file($_FILES['ImageFile']['tmp_name'], $imgname); 
    $insert = $blogs->insertBlog($heading, $article, $date, $imgname); 

: 다음 제출에이 이미지 파일로 물건을 할

<tr align="left"> 
    <td>Image :</td> 
    <td align="left"> 
     <input type="file" name="ImageFile" size="18"> 
    </td> 
</tr> 

을 이미지를 저장하고자하는 디렉토리는 blogImages이며 위와 같은 디렉토리에 있습니다.

Blogs'. Insert blog takes all the info and inputs the data to a mysql table. The code for insertBlog` 당신은 내가 클래스 내에서 insertBlog라는 함수를 호출 위에서 알 수 있습니다

입니다 : 사용자가 양식을 채우고 때

, 그것은 MySQL을 올바르게 다른 모든 정보를 저장
function insertBlog($heading, $article, $date, $imgname){ 
     $query = "INSERT INTO Blogs (BlogTitle, MainArticle, PostDate, Image) VALUES ('$heading', '$article', '$date', '$imgname')";   
     $oDatabase = new database; 
     $connection = $oDatabase->Connect(); 
     if (!mysql_select_db($oDatabase->Name(), $connection)) 
      $oDatabase->ShowError("Blogs.insertBlog"); 

     if (!(@ mysql_query ($query, $connection))) 
      $oDatabase->ShowError("Blogs.insertBlog"); 

     return (mysql_insert_id()); 
    } 

이미지 정보와 별개로 또한 실제 이미지는 blogImages 폴더에 저장되지 않습니다. 그렇다면이 스크립트를 사용하여 이미지를 blogImages 폴더에 업로드하고 mysql 테이블에 경로를 저장하십시오. 지금은 데이터베이스에 이미지를 저장하지 않고 단지 blogImages/ 값을 MySQL 테이블의 이미지 경로 필드에 넣지 않습니다.

+0

업로드가 실제로 성공했는지 확인 했습니까? 'if ($ _FILES [ 'ImageFile'] [ '오류']! == UPLOAD_ERR_OK) {die ("Upload failed"); }'. –

+0

업로드가 안되기 때문에 실제로 blogImages 폴더로 이동하면 – RSM

+0

실제로 업로드되지 않았거나 사용 권한/경로 문제가 발생했습니다. 귀하의 코드는 성공할 때마다 가정합니다. 이는 나쁜 생각입니다. 오류를 넣기 시작하면 checking.move_uploaded_file은 실패하면 false를 반환합니다. 업로드가 실패한 경우 0이 아닌 오류 코드가 표시됩니다. –

답변

1

파일을 전송하려면 multipart/form-dataenctype을 HTML로 지정해야합니다.

<form enctype="multipart/form-data" action="" method="POST"> 
관련 문제