2014-10-15 1 views
0

다른 모든 솔루션 :정의되지 않은 색인 : 파일. 시도 내가 양식 upload.php로이

session_start(); 
<form action="../../banking/upload_file.php" method="post" enctype="multipart/form-data" id="bank"> 
    <br /><br /> 
    <label for="file">Select File:</label><br /> 
    <input type="file" name="file" id="file" /> 
    <input type="submit" name="submit" value="Upload" /> 
</form> 

을 내가 upload_file.php 파일이 :

session_start(); 
$filsuc = 0; 
if(isset($_REQUEST['submit'])){ 
if ($_FILES["file"]["error"] > 0) 
    { 
    $fil = $_FILES["file"]["name"]; 
    if($_FILES["file"]["error"] == 4) 
    echo "<div align=center>Please ensure that you pick a file</div>"; 
    elseif($_FILES["file"]["error"] == 1) 
    echo "<div align=center>File is too large, maximum limit is 2MB</div>"; 
    else 
    echo "<div align=center>Error: " . $_FILES["file"]["error"] . "</div><br />"; 
    } 
else 
    { 
    $filsuc = 1; 
    $fil = $_FILES["file"]["name"]; 
    echo "<div align=center>"; 
    echo "<br>Thank you, the file has been stored in: " . "upload/" . $fil; 
    echo"<br><br><br><input type=button onclick='location.href=\"banking.php?fil=$fil\"' value=\"Click here to continue\">"; 
    echo "</div>"; 
    //echo "<br><br>Click <a href=\"banking.php?fil=$fil\">here</a> to continue."; 

    } 


     move_uploaded_FILES($_FILES["file"]["tmp_name"], 
     "upload/" . $fil); 
     echo "<div align=center>"; 
     echo " <br>OR "; 
     echo"<br><br><br><input type=button onclick='location.href=\"upload.php\"' value=\"Click here to go back to start\">"; 
     if($filsuc == 1) 
     echo "<br><br><img src=\"pics/fileuploadblur.jpg\" />"; 
     echo "</div>"; 
    // echo "<br><br><br><a href=\"upload.php\">Back to start</a> "; 

} 

내가 if(isset($_REQUEST['submit']))을 주석 처리하면 나는 오류 정의되지 않은 인덱스를 얻을 : 파일을. 그렇지 않으면 빈 결과 페이지가 표시됩니다. 내 데이터가 내 upload_file.php 파일로 전달되지 않는다고 가정합니다.

제안 사항?

+0

당신이'업로드 /'디렉토리에 쓰기 권한이 있습니까? –

+0

안녕하세요, 가능합니다. 문제는 내 양식에서 내 Session 변수로 읽지 못한다는 것입니다. 그냥 알아 냈어. – Corrie

+0

문제는 양식 제출 인 것으로 보입니다. 양식이 올바르게 전송되지 않아'isset()'이 실패합니다. 이 코드가 파일에 있습니까? 아니면 다른 비트가 있습니까? ''태그 등이 누락 된 것 같습니다. – Kami

답변

0
move_uploaded_FILES($_FILES["file"]["tmp_name"], 
     "upload/" . $fil); 

> 함수 다음에이 기능을 변경

move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/" . $fil); 
+0

안녕하세요. 회신 해 주셔서 감사합니다. 그러나 이것은 불행하게도 작동하지 않습니다. – Corrie

+0

어떤 오류가 발생하는지 –

+0

또한 처음에'$ filsuc'를 정의하면 파일을 선택하지 않고 업로드 버튼을 누르는 경우'Undefined variable : filsuc in ... \ upload_file.php in 32' 오류가 발생합니다. –

0

작성하십시오

$fil = $_FILES["file"]["name"]; 

after 

if(isset($_REQUEST['submit'])){ 
+0

양식 데이터가 읽히지 않는다는 것을 깨달았습니다. 어떤 아이디어? – Corrie

+0

일반적으로 모든 페이지에서 html 태그 앞에 세션 변수를 선언해야합니다. – chandu577