HTML 폼과 간단한 PHP 스크립트를 통해 기본 업로드를 시도하지만 move_uploaded_file 함수는 항상 false를 반환합니다. 나는 디렉토리에서 "chmod 777"을 실행했다. (나는 실제로이 작업을 할 때 안전을 더 다룰 것이다. "그리고"upload "디렉토리는 실제로 htdocs 폴더에있다. (우분투 서버와 리눅스 민트에서는/var/www). move_uploaded_file이 Linux Mint의 Apache 서버에서 작동하지 않습니다.
<?php
if ($_FILES["file"]["error"] == 0){
if (file_exists("upload/" . $_FILES["file"]["name"])){
echo $_FILES["file"]["name"] . " already exists. ";
}else{
if(move_uploaded_file($_FILES["file"]["tmp_name"],"/var/www/upload/" . $_FILES["file"]["name"])){
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}else{
echo "Failed to move uploaded file";
}
}
}else{
echo "Return Code: " . $_FILES["file"]["error"];
}
?>
난 작은 JPEG를 업로드하려고
, 나는 "파일을 이동하지 못했습니다"GET ...<html>
<body>
<form action="upload_file.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>
</body>
</html>
... 그리고 upload_file.php : 여기
양식입니다 어떤 생각?
** 많은 양의 보안 예방 조치를 취하지 않았다면 파일 저장에'[ 'name']'매개 변수를 사용하지 마십시오. 그 이름 값은 원격 사용자의 제어하에 완전히 있으며, 사용자가 서버의 모든 파일을 쓸어 넘길 때 맹목적으로 사용합니다. 예 : 그들은 업로드를 해킹하고 그들의 파일 이름을'../../../../../ etc/passwd' 할 수 있습니다. –
전체 오류보고를 사용 가능하게하고 오류 메시지를 파일에 기록하십시오. 자세한 내용을보아야하므로 필요한 추측 량이 줄어 듭니다. –