2014-07-26 7 views
0

나는 PHP를 사용하여 사진을 업로드하려고 노력해왔다. 제출할 때보고있는 것은 페이지가 무한정로드됩니다.사진을 PHP로 업로드하기

최종 결과 사진이 디렉토리에 업로드되지 않습니다.

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Photo Upload</title> 
    </head> 
    <body> 
     <form action="upload.php" method="post" enctype="multipart/form-data"> 
      <label for="file">Filename:</label> 
      <input type="file" name="file" id="file"><br> 
      <input type="submit" name="submit" value="Submit"> 
     </form> 
    </body> 
</html> 

PHP 스크립트 :

<style> 
    .sucess{ 
     color:#088A08; 
    } 
    .error{ 
     color:red; 
    } 
</style> 

<?php 
$file_exts = array("jpg", "bmp", "jpeg", "gif", "png"); 
$upload_exts = end(explode(".", $_FILES["file"]["name"])); 
if ((($_FILES["file"]["type"] == "image/gif") 
     || ($_FILES["file"]["type"] == "image/jpeg") 
     || ($_FILES["file"]["type"] == "image/png") 
     || ($_FILES["file"]["type"] == "image/pjpeg")) 
    && ($_FILES["file"]["size"] < 2000000) 
    && in_array($upload_exts, $file_exts)) 
{ 
    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>"; 
// Enter your path to upload file here 
     if (file_exists("uploads/" . 
      $_FILES["file"]["name"])) 
     { 
      echo "<div class='error'>"."(".$_FILES["file"]["name"].")". 
       " already exists. "."</div>"; 
     } 
     else 
     { 
      move_uploaded_file($_FILES["file"]["tmp_name"], 
       "uploads/" . $_FILES["file"]["name"]); 
      echo "<div class='sucess'>"."Stored in: " . 
       "uploads/" . $_FILES["file"]["name"]."</div>"; 
     } 
    } 
} 
else 
{ 
    echo "<div class='error'>Invalid file</div>"; 
} 
?> 

내가 Here에서이 코드 샘플을 찍은 다음

는 HTML 코드입니다.

여기에 무슨 문제가 있는지 이해할 수는 없지만 경로와 관련이 있다고 생각하지만 확실하지 않습니다.

일부 도움을 주실 수 있습니다.

* 코드를 수정하여 '업로드'로 변경했습니다. 이제 작동합니다!

+0

'경로 '가 모두'c : \\'로 시작하기 때문일 수 있습니다. 유씨가 그렇게 할 수 있다고 생각하지 마십시오. 업로드하려면 실제 서버를 사용해야합니다. – putvande

+0

첨부 된 링크를 확인하면 동일한 내용도 포함되어 있습니다. 거기에 잘못 가고 있습니까? – Priyabrata

+0

그들은'wamp'를 사용합니다. 로컬 호스트가 설치되어 있습니까? – putvande

답변

1

을 그때 이제까지 환경 로컬 또는 서버

예에서 작업 아무 문제가 없을 것 대신에 절대 경로를 사용 상대 경로를 체크 아웃 : \ 사용자 \ Priyabrata \의 PhpstormProjects \는 FileUpload/업로드/당신이 배를 변경해야하므로 그것은 당신이 서버에 호스팅 할 때

일부 호스팅 제공 업체에 대한 액세스를 제공하지 않습니다 작동합니다

를 사용하여 업로드/어 허가권이 쓰기 가능하고 축하합니다.

1

C:\\Users\\Priyabrata\\PhpstormProjects\\FileUpload/uploads/ 같은 결과가 나왔습니다. 문제가 생길 수 있습니다.

사용하는 실제 서버 링크로 교체

..

+0

서버에 업로드하기 전에 로컬 컴퓨터에서 테스트하고 싶습니다. 그 일을하는 어떤 방법이라도? – Priyabrata

+0

@ Priyabrata 그러면 로컬 호스트 디렉토리를 선택할 수 있습니다. 참조하십시오. 이걸 참조하십시오. http://stackoverflow.com/questions/8545068/how-to-save-an-uploaded-file-on-localhost –

1

내가 코드를 시도하고 나를 위해 잘 작동 (나는 우분투 오전부터 나는 다른 경로를 사용). 이중 슬래시없이 경로를 지정하십시오. (당신이 제공 한 샘플 링크 에서처럼). 대신이 C의 :; 또한 폴더가 있는지 확인)

+0

있음 php storm, 두 개의 '\'가 사용되지 않으면 슬래시가 전혀 고려되지 않습니다. 그게 바로 내가 직면 한 문제 야. – Priyabrata

관련 문제