PHP를 통해 파일을 업로드하는 것은 이번이 처음입니다.PHP 기본 업로드 파일 스크립트
<form role="form" action="api/upload.php" id="uploadForm" method="post" enctype="multipart/form-data">
<input id="fileToUpload" name="fileToUpload" type="file" class="file" />
<button type="submit" name="submit" id="submit">Upload</button>
</form>
이제 여기에 PHP 스크립트는 참조에 'API/upload.php로 ":
<?php
$target_dir = "files\\";
if(isset($_POST["submit"])) {
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
}
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo $uploadOk . "Sorry, your file was not uploaded.";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["name"], $target_file)) {
echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else{
echo "Sorry, there was an error uploading your file.";
}
}
?>
이 논리 오류가 될 수 있습니다
여기 내 HTML입니다. 나는 잘 모르겠다. 그럼에도 불구하고 "죄송합니다. 파일을 업로드하는 중에 오류가 발생했습니다."라는 메시지가 계속 나타납니다. 내가 밖으로 에코 $ uploadOk
, 그것은 누군가가 내 오류를 발견하고 내가 그것을 해결하는 데 도움 주실 래요 1.
로 남아있다? 난 그냥 간단한 파일 업로드를하려고합니다.
미리 감사드립니다.
분명히'move_uploaded_file()'작업이 실패했습니다. 함수에 대한 인수의 런타임 값은 무엇입니까? 대상 디렉토리가 존재합니까? PHP 프로세스가 그것에 쓸 수 있습니까? – David
오류 메시지가 잘못되었습니다. 귀하의 실제 메시지는 "귀하의 파일이 업로드되었지만 그것을 옮기는 데 문제가있었습니다"입니다. 이는 이동 호출이 실패한 이유를 조사해야 함을 의미합니다. 그리고 전체 uplaod 확인 작업이 필요하다는 점에 유의하십시오. 단순히 업로드가 실패하지 않는다고 가정합니다. 이유 때문에 $ _FILES에'[ 'error']'매개 변수가 있습니다. $ _FILES의 데이터를 확인한다고해서 업로드가 성공했다는 의미는 아닙니다. 업로드에 실패하면 $ _FILES이 (가) 계속 채워집니다. '[ 'error']'가 0 (일명 UPLOAD_ERR_OK)이 아니라면, 다른 $ _FILES 정보를 믿을 수 없습니다. –
양식이 기본 페이지에 있습니다. PHP 스크립트가 폴더에 있습니다. '파일'이라는 다른 폴더가 있습니다. –