2011-12-31 3 views
-2

안녕 얘들 아 내 웹 사이트에 파일 업 로더를 만들려고 노력 중이며 튜토리얼을 따라 왔지만 작동하지 않는 것 같습니다.PHP 파일 업로드

<?php 
session_start(); 
include('../../config/config.php'); 

if(isset($_SESSION['id'])) { 

$filename = $_FILES["file"]["name"]; 
$filesize = $_FILES["file"]["size"]; 

$name = $_POST['name']; 
$price = "$" . $_POST['price']; 
$photo = $_POST['file']; 
$description = nl2br($_POST['description']); 

$file_ext = getExt($photo); 

    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. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"],"/upload/" . $_FILES["file"]["name"]); 
     echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
     } 
    } 

} else { 

header("Location: ../../index.php"); 

} 


?> 

내가 임시 파일 벌금을 만들 것 같다하지만 난 그것을 이동하지 않습니다 이유는 확실하지 않다 : 저는 현재 다음 코드를 사용하고 있습니다. 지금은 이미지 파일로 코드를 테스트하고 있습니다.

   <form method="post" action="actions/add.php" enctype="multipart/form-data"> 
        </br> 
        Listing name: <input type="text" name="name" /></br></br> 
        Listing Photo: <input type="file" name="file"/></br></br> 
        Price: $<input type="text" name="price"/></br></br> 
        Information:</br> 
        <textarea class="add" name="description"></textarea> 

        </br></br> 

        <input class="add" type="submit" name="submit"/> 
       </form> 

편집 :

일부 오류 : 어떤 도움

Warning: move_uploaded_file(upload/Corgi 004.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/stationr/public_html/admin/actions/add.php on line 42 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/chroot/tmp/phpLXObbt' to 'upload/Corgi 004.jpg' in /home/stationr/public_html/admin/actions/add.php on line 42 

감사

또한 여기 내 양식 코드입니다.

+3

파일 업로드 및 PHP와 관련하여이 사이트에서 기타 많은 질문이 있습니까? 오른쪽에있는 링크를 모두 확인하십시오. –

+0

http://nz.php.net/manual/en/features.file-upload.php – zerkms

+0

오류보고 사용 설정, 디렉토리 사용 권한 확인 등. 너무 현지화되었습니다. – mario

답변

1
$filename = $_FILES["file"]["name"]; 
$filesize = $_FILES["file"]["size"]; 

$name = $_POST['name']; 
$price = "$" . $_POST['price']; 
//$photo = $_POST['file']; 
$description = nl2br($_POST['description']); 

//$file_ext = getExt($photo); 

    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 />"; 

$newname = dirname(__FILE__).'/upload/'.$filename; 

if (file_exists($newname)) 
    { 
    echo $_FILES["file"]["name"] . " already exists. "; 
    } 
else 
    { 
    move_uploaded_file($_FILES["file"]["tmp_name"],$newname); 
    echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
    } 
} 
+0

이 코드를 사용해보십시오. –