如何用PHP上传任何类型的文件


How to upload any type of file with PHP?

我的代码正在打印"上传文件时出现问题"。我想上传任何类型的文件。我在与代码相同的位置创建了一个名为testupload的文件夹。它本应该起作用,但我不知道我错过了什么。

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file" size="50" /> 
    <br />
    <input type="submit" value="Upload" />
</form>

upload.php:

<?php
$targetfolder = "testupload/";
$targetfolder = $targetfolder . basename($_FILES['file']['name']) ;
if (move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder)) {
    echo "The file ". basename($_FILES['file']['name']). " is uploaded";
} else {
    echo "Problem uploading file";
}
?>

很难100%确定,但通常这表明存在权限或所有权问题。

尝试使用chmod 777 ./testupload 将父目录testupload的权限更改为777

如果这解决了问题,那么就收紧权限——777将不适合生产。

1)上传的文件是否进入tmp文件夹?2) 另请尝试var_dump($_FILES)3) 你对目标文件夹的权限有问题吗4) http错误日志中有什么内容吗?

testupload目录的权限正确吗?www数据用户是否有写入的权限