2012-01-06 2 views
0

나는 다음과 같은 구조의 페이지가 있습니다PHP로 파일을 업로드 한 후 작업을 수행 하시겠습니까?

1. Text 

2. Form with SUBMIT button that allows users to upload files 

3. PHP code to handle the files 

내가 좋아하는 것 (2)를 완료하기를 나는 또한 같은에서 활동을 계속하고 싶습니다 3에 가기 전에 (제출 칠 사용자 대기) page ... 지금 사용자가 SUBMIT을 클릭하면 upload.php 스크립트로 리디렉션됩니다.

PHP를 처음 사용하는 사람이라면이 작업을 수행하는 가장 간단한 방법은 무엇입니까? 시간 내 주셔서 감사합니다. 아래

코드 :

HTML (I이 페이지에서 모든 것을 유지하고 싶습니다) :

<html> 
<body> 

<form action="upload_file.php" method="post" enctype="multipart/form-data"> 
<br /> 
<label for="file">Upload Files:</label> 
<br /> 
<br /> 
<input type="file" name="file1" id="file" /> 
<input type="file" name="file2" id="file" /> 
<input type="file" name="file3" id="file" /> 
<br /> 
<br /> 
<input type="submit" name="submit" value="Submit" /> 
</form> 

</body> 
</html> 


<?php 




//$result = $storageClient->putBlob('testcontainer', 'example.txt', 'C:/example.txt'); 
// I'll be uploading each of the three uploaded files here 
// Syntax: putBlob (ContainerName, NameInStorage, FileLocation) 

?> 

스크립트 : 당신이 사용하는 경우에만 PHP를 달성 할 수

<?php 
error_reporting(E_ALL); 


for ($i=1; $i<4; $i++) 
    { 
    $file = "file" . $i; 
    if (($_FILES[$file]["size"] < 20000)) 
     { 
     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 />"; 


     $moved = move_uploaded_file($_FILES[$file]["tmp_name"], "C:/inetpub/wwwroot/PHP_Ramp/upload/" . $_FILES[$file]["name"]); 

     if ($moved) { 
      echo "Move: Success <br/>"; 
     } 
     else { 
      echo "Move Failed <br/>"; 
     } 


      echo "Stored in: " . "C:/inetpub/wwwroot/PHP_Ramp/upload/" . $_FILES[$file]["name"]; 
      } 
     } 

    else 
     { 
     echo "Invalid file"; 
     } 

} 
?> 
+2

지금까지 시도한 코드를 게시하고 어디에서 오류/문제가 발생했는지 나타낼 수 있습니까? – Clive

+1

태그에 Javascript를 추가해야 할 수도 있습니다. – Michael

+0

질문을 명확히하십시오. PHP가 작동하는 방식은 업로드가 완료되면 스크립트가 실행된다는 것입니다. 따라서 "스크립트를 실행하기 전에 업로드를 완료하고 싶습니다."라는 질문은 부적합합니다. – dtech

답변

1

. 프로세스가 동일한 페이지 (새로 고침없이)에있게하려면 AJAX (자바 스크립트)를 사용해야합니다. jQuery ajax 섹션을 읽으십시오.

파일을 업로드 할 때 pure ajax (xmlhttprequest 객체는 파일 업로드를 지원하지 않음)를 사용하여 파일을 업로드 할 수 없으므로 플러그인을 찾아 보거나 숨겨진 IFRAME을 사용할 수 있습니다. 양식이 타겟팅 될 것입니다. 같은 파일의 이름을 폼의 행동에

+0

프리맨에게 감사드립니다! – SB2055

1

1) ...

2) 버튼을 버턴을 이름이 = 같은 페이지)

3 "제출"말을 제출하는 이름 보내기

if(isset($_POST['submit'])) 
{ 
    write file handliig code here.. 
    all file processing code you were doing in that redirected php script do here.. 
} 
+0

Rajat :) 감사합니다. – SB2055

관련 문제