필자는 학생이 맨 마지막에 문서를 업로드하도록 요구하는 등록 양식을 만들려고 노력하고 있습니다. 그러나 jQuery를 통해 양식 값을 선택하면 PHP 문서가 업로드 된 양식을 가져올 수 없습니다. 어떤 아이디어?PHP가 파일을 가져올 수 없습니다.
<form id="joinUs" enctype="multipart/form-data" method="post">
<!--various form fields-->
<input type="file" name="transcript" id="transcript">
<div class="button" id="submit">Submit!</div>
</form>
jQuery를 : 양식
$("#submit").click(function(){
//firstName, lastName, grade, studentID, email, phone are all form values
var data = "firstName="+firstName+"&lastName="+lastName+"&grade="+grade+"&studentID="+studentID+"&email="+email+"&phone="+phone;
$.ajax({
type: "POST",
url: "join_submit.php",
data: data,
success: function() {
location.href="http://mvcsf.com/new/success.php";
}
});
join_submit.php
$allowedExtensions = array("pdf");
$max_filesize = 20000;
$upload_path = "docs/transcripts";
$filename = $_FILES["transcript"]["name"];
$filesize = $_FILES["transcript"]["size"];
$extension = $_FILES["transcript"]["type"];
if ($_FILES["transcript"]["error"] > 0) {
echo "Error: " . $_FILES["transcript"]["error"] . "<br />";
}
else if((in_array($extension, $allowedExtensions)) && ($filesize < $max_filesize)) {
move_uploaded_file($_FILES["transcript"]["tmp_name"], $upload_path . $filename);
}
나는이 달리고, 나는 오류 없어. 나는 또한 인쇄 된 것을 제외하고 파일 이름을 출력하려고 시도했다.
가능한 복제본 [jQuery와 비동기 적으로 파일을 업로드하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously-with-jquery) – hjpotter92
FormData()로 파일을 전달하십시오. 다른 파일은 다른 끝에서 얻지 못할 것입니다 –
마음에 오는 유일한 것은 '20000'보다 크거나 작은 파일로 테스트 했습니까? 그 크기는 20,000 바이트가 아닙니다. 그렇다면 업로드에서 멈추는 것이 하나 있습니다.둘째, $ upload_path = "docs/transcripts"; 끝에'$ upload_path = "docs/transcripts /";와 같이 슬래시를 추가하고 폴더에 쓰기 권한이 있는지 확인하십시오. 폴더. –