2011-12-02 4 views
0

사용자가 내 웹 사이트의 폴더에 pdf 파일을 업로드하도록하고 싶습니다. (참고 : 이것은 학습을 목적으로하므로 보안이 필요하지 않습니다.) 아래에있는 코드는 제출할 때 응답을 표시하지 않습니다. 내가 업로드하려는 pdf 파일을 갖고 싶은 폴더는 PHP 스크립트와 같은 디렉토리에 있습니다. 그 폴더를 잘못 참조 할 가능성이 있습니까? 감사합니다.PHP를 통해 웹 사이트의 폴더에 파일 업로드

<form method = "POST" action = "<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post"> 
Email:<br /> <input type = "text" name="email" value=""/><br /> 
Resume:<br /><input type = "file" name="resume" value=""/><br /> 
<p><input type="submit" name ="submit" value="Submit Resume" /></p> 
</form> 


if(isset($_POST['submit'])) 
{ 
    define ("FILEREPOSITORY","./resume/"); 

    if (is_uploaded_file($_FILES['resume']['tmp_name'])) { 
     if ($_FILES['resume']['type'] != "application/pdf") { 
      echo "<p>Resume must be in PDF Format.</p>"; 
     } 
    }else { 
     $name = $_POST['email']; 

     $result = move_uploaded_file($_FILES['resume']['tmp_name'], FILEREPOSITORY."/$name.pdf"); 

     if ($result == 1) { 
      echo "<p>File successfully uploaded.</p>"; 
     } 
     else { 
      echo "<p>There was a problem uploading the file.</p>"; 
     } 

    } 

} 
+0

속성 이름과 값 사이에는 공백이 없어야합니다. 'type = "text"'는'type = "text"'이어야합니다. – Kenaniah

+0

* 정확히 같은 * URL에 양식을 게시하는 경우 해당 작업을 생략하십시오. 페이지를 가져 오는 데 사용되는 요청 URI를 기본값으로 사용합니다. – Kenaniah

+3

@Kenaniah 그건 중요하지 않습니다 (첫 번째 의견과 두 번째 의견의 경우). – jli

답변

3

논리적 인 오류가 있습니다. 귀하의 else 성명은 내면 if 성명의 일부 여야합니다. 바깥 성명은 아닙니다.

0

당신이 php.ini 파일 업로드를위한 업로드 폴더와 최대 크기에 대한 권한을 확인하는 것이 좋습니다 ... 그 제한 사항을 초과하는 파일을 업로드하고 오류 메시지가 나타나지 않는 것을 여러 번 경험했습니다 .. 또한 귀하의 이전 게시물에 의해 제안 된대로 귀하의 다른 논리가 일치하지 않습니다.

0

당신이받은 오류를 제공하는 것이 큰 도움이 될 것입니다.

move_uploaded_file() 

은 대상 폴더에 쓸 수있는 권한이있는 경우에만 작동합니다.

+0

모든 사용 권한이 777로 설정되었습니다. –

관련 문제