2013-09-04 2 views
0

정말 짜증나는 오류가 있습니다. > 내 스크립트가 끝난 후.PHP 스크립트가 끝난 후> (아닌가?>)

<html> 
<body> 
    <h1>Upload file to see previous upload!</h1> 
    <form action="index.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> 
    <?PHP 
      if (isset ($_FILES["file"])) { 
       $allowedExts = array("jpeg", "jpg", "png"); 
       $temp = explode(".", $_FILES["file"]["name"]); 
       $extension = end($temp); 
       if ((($_FILES["file"]["type"] == "image/jpeg") 
        || ($_FILES["file"]["type"] == "image/jpg") 
        || ($_FILES["file"]["type"] == "image/pjpeg") 
        || ($_FILES["file"]["type"] == "image/x-png") 
        || ($_FILES["file"]["type"] == "image/png")) 
        && ($_FILES["file"]["size"] < 1048576) 
        && in_array($extension, $allowedExts)) { 
        if ($_FILES["file"]["error"] > 0) { 
         echo "Error: Couldn't upload file!"; 
        } else { 
         move_uploaded_file($_FILES["file"]["tmp_name"], "files/" . $_FILES["file"]["name"]); 
        } 
       } else { 
        echo "Upload a file NAO!"; 
       } 
      } 
     ?> 
</body> 
</html> 

그래서 내 페이지에 나는 이것을 읽을 수 있습니다 : "0) { echo "Error: Couldn't upload file!"; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "files/" . $_FILES["file"]["name"]); } } else { echo "welcome!"; } } ?>"

글쎄, 무슨 생각! 그건 내 의도가 아니 었어 ... 그래서 누군가가 왜 이런 일이 일어나는지 설명 할 수 있다면 나는 감사 할 것이다.

+8

웹 페이지의 소스를 봅니다. 거기에 스크립트 코드의 다른 부분이 표시 될 것입니다. – cHao

+2

중요한지 확실하지 않지만'

+1

이것은'.php' 또는'.html' 파일에 있습니까? '.php '가 아닌 경우에는 작동하지 않습니다. –

답변

2
때문에 잘못된 파일 이름의

또는 misspelled start of php code<?PHP 대신 <?php 다음 코드는 HTML 태그의 일부로 간주되고있다 :

<?PHP 
     if (isset ($_FILES["file"])) { 
      $allowedExts = array("jpeg", "jpg", "png"); 
      $temp = explode(".", $_FILES["file"]["name"]); 
      $extension = end($temp); 
      if ((($_FILES["file"]["type"] == "image/jpeg") 
      || ($_FILES["file"]["type"] == "image/jpg") 
      || ($_FILES["file"]["type"] == "image/pjpeg") 
      || ($_FILES["file"]["type"] == "image/x-png") 
      || ($_FILES["file"]["type"] == "image/png")) 
      && ($_FILES["file"]["size"] < 1048576) 
      && in_array($extension, $allowedExts)) 
      { 

      if ($_FILES["file"]["error"] > 

주 시작 < .... 끝 >

그리고 휴식은 브라우저에서 볼 수있는 것입니다. verbatim.

파일의 이름을 .php 확장명으로 바꾸십시오.

<?php 
// PHP code here 
?> 

편집이 : 모든 의견에 대한 감사합니다, <?PHP 또는 <?php 모두 작동합니다 나타나는

, 바람직하게는 PHP 코드를 변경합니다.

편집 2 : 기본적으로 아파치가 PHP 스크립트로 모든 .php 파일을 치료하는 이야기

AddType application/x-httpd-php .php 

: 확인하는 또 다른 것은이 같은 행에 대한 아파치 설정입니다.

+0

방금 ​​확인한 후 ''이 작동합니다. 나는 그것에 약간 놀랐다. – Izkata

+0

열린 태그에 대문자 사용은 중요하지 않습니다. – Quantastical

+1

PHP는 실제로 대문자에 대해 다소 느립니다.변수 이름, 배열 키 및 일부 상수 이름 만 대소 문자를 구분합니다. – cHao

5

PHP가 전혀 처리되지 않습니다. 페이지가 .php 페이지인지 그리고 PHP 서버인지 확인하십시오. 그렇지 않으면 아파치가 사용중인 파일 확장자에 상관없이 PHP를 처리하고 있는지 확인하십시오.

<?PHP 대신 <?php 대신 소문자 PHP를 사용하는 것이 더 일반적이지만 대문자 사용은 중요하지 않습니다.

관련 문제