【发布时间】:2021-10-20 01:24:58
【问题描述】:
所以我尝试了这个简单的上传代码,但它对我来说不能正常工作。 由于 cFos Speed 显示文件上传过程正常,正在上传 150kb 的图片,但最后文件不在目录中。 mkdir 也不会创建新文件夹。尽管我将 az rwx chmod 和 apache:apache chown 等所有权限完全授予了我正在处理的文件。 这是 html 和 ajax 的代码:
<input type="file" name="authform" id="authform" accept="image/png">
和
$(document).ready(function()
{
$("#authform").on("change", function()
{
var input = $(this);
var inputLength = input[0].files.length;
var file;
var formData = new FormData();
for (var i = 0; i < inputLength; i++)
{
file = input[0].files[i];
formData.append( 'authform[]', file);
};
$.ajax({
url: "file_upload.php",
type: "POST",
data: formData,
processData: false,
contentType: false,
});
对于file_upload.php:
<?php
if (!file_exists('uploads')) {
mkdir('uploads', 0777);
}
$filename = time()."_".$_FILES['file']['name'];
if ( 0 < $_FILES['file']['error']) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], 'downloads/user-files/' . $filename);
}
echo 'downloads/user-files/'.$filename;
die;
?>
是的!我使用了不同的目录,因为如前所述 mkdir 不起作用... 那么你们有什么建议呢?
【问题讨论】:
-
在 PHP 中设置一些适当的错误报告。然后脚本很可能会告诉你错误在哪里。
-
实际上我做得很好,但除了 mkdir 之外什么也没有显示。 "mkdir(): Permission denied' 没有显示任何关于上传过程的信息...