gpt4 book ai didi

javascript - 将文件上传到我的本地 apache 服务器

转载 作者:行者123 更新时间:2023-11-28 03:12:01 29 4
gpt4 key购买 nike

我阅读了一些关于文件上传的 SO 帖子,只是用它们来了解它是如何工作的。但不幸的是我无法让它工作:

代码

 <html>
<head>
<script type="text/javascript" src="lib/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="lib/jquery-validate.min.js"></script>
</head>

<script>
$(
function()
{

$(':button').click(function(){
var formData = new FormData($('form')[0]);
$.ajax({
url: 'upload.php',
xhr: function() {
var myXhr = $.ajaxSettings.xhr();
return myXhr;
},
success: function(s,e)
{
console.log('Completed'+" "+s+" "+e);
},
error: function(xhr,status,error)
{
console.log('Error '+xhr+" "+status+" "+error);
},
data: formData,
cache: false,
contentType: false,
processData: false
});
});
})
</script>
<body>
<form enctype="multipart/form-data">
<input name="file" type="file" />
<input type="button" value="Upload" />
</form>
</body>

这是我遇到的错误:

 <b>Warning</b>:  move_uploaded_file(/new  1.txt): failed to open stream:
Permission denied in <b>C:\Users\gopir\Server\Apache24\htdocs\front-
page\upload.php</b> on line <b>6</b><br /><br />

<b>Warning</b>: move_uploaded_file(): Unable to move 'C:\Users\gopir
\AppData\Local\Temp\php306E.tmp' to '/new 1.txt' in <b>C:\Users\gopir
\Server\Apache24\htdocs\front-page\upload.php</b> on line <b>6</b><br />

There was an error uploading the file, please try again!

我知道新的 1.txt 权限导致了问题。

我的疑问是

用户在上传文件时如何知道这些权限?如果他们需要上传,他们是否需要更改权限?还是我理解错了?

我不明白这里的 xhr 功能。我用谷歌搜索了它。但我不明白它和这里的需要。

请解开我的疑惑。如果这个问题不符合 SO 质量,请告诉我。我会编辑/删除它。

谢谢

忘记上传php

 <?php

$folder = "/";
$path = $folder . basename( $_FILES['file']['name']);

if(move_uploaded_file($_FILES['file']['tmp_name'], $path)) {
echo "The file ". basename( $_FILES['file']['name']). " has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
?>

最佳答案

为您的目录授予 php 写入权限,您希望将上传的文件移动到该目录。已经提供了更多信息和不同的方法here .

请查看this article for what the proper permissions of an upload directory are设置您的顶级上传目录。

个人喜欢this方法展示了如何检查某个上传目录是否已经存在,如果不存在,你如何使用 php 创建它。优点是您的 httpd 或 php 进程自动成为该创建目录的所有者(无需手动更改服务器端目录结构)并且您不会错误地将上传目录的权限更改为 0777 以获得快速和简单的解决方案。这是在顶级上传目录下组织树的好方法。

关于javascript - 将文件上传到我的本地 apache 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30135934/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com