Php 如何允许网站用户上传媒体文件?
我目前正在学习一个基本媒体文件上传表单的教程。我曾尝试将其添加到我的网站,但当我尝试使用它上载图像时,我总是收到消息“上载文件时出错,请重试!” 我已将以下html文件放在我的服务器上:Php 如何允许网站用户上传媒体文件?,php,html,file-upload,image-uploading,Php,Html,File Upload,Image Uploading,我目前正在学习一个基本媒体文件上传表单的教程。我曾尝试将其添加到我的网站,但当我尝试使用它上载图像时,我总是收到消息“上载文件时出错,请重试!” 我已将以下html文件放在我的服务器上: <DOCTYPE! html> <html> <head> </head> <body> <form enctype="multipart/form-data" action="uploader.php" method="POST">
<DOCTYPE! html>
<html>
<head>
</head>
<body>
<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
</body>
</html>
选择要上载的文件:
然后,我创建了uploader.php文件,如下所示:
<?php
// Where the file is going to be placed
$target_path = "../uploads/";
/* Add the original filename to our target path.
Result is "uploads/filename.extension" */
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
?>
我已将这些文件存储在同一目录中。然后我创建了另一个名为uploads的目录,它是可写的
为什么这不起作用
编辑:我现在可以上传高达1MB的文件,但任何大于1MB的文件都无法上传。正如您在HTML脚本中所看到的,我已将最大文件大小设置为10MB,因此这应该可以工作。知道为什么没有吗?它会起作用的。我签入了我的桌面 将
value=“100000”
更改为value=“1000000”
像
MAX\u FILE\u SIZE隐藏字段(以字节为单位)必须位于
文件输入字段,其值为可接受的最大文件大小
通过PHP
有关详细信息,请单击
用户需求(如他在评论中所问)
在文件名后面加上time()
。有很多方法可以做到。但是,这个你可以用
$target_path = $target_path .time() .basename( $_FILES['uploadedfile']['name']);
它会起作用的。我签入了我的桌面 将
value=“100000”
更改为value=“1000000”
像
MAX\u FILE\u SIZE隐藏字段(以字节为单位)必须位于
文件输入字段,其值为可接受的最大文件大小
通过PHP
有关详细信息,请单击
用户需求(如他在评论中所问)
在文件名后面加上time()
。有很多方法可以做到。但是,这个你可以用
$target_path = $target_path .time() .basename( $_FILES['uploadedfile']['name']);
uploads文件夹位于写入此代码的同一文件夹中或从该文件夹中取出?是的,它位于同一文件夹中。然后,给出
$target_path=“uploads/”
而不是此$target_path=“../uploads/”
很遗憾,我已经尝试过了。从PHP中得到的错误是什么?uploads文件夹位于编写代码的同一文件夹中,或者位于该文件夹之外?是的,它位于同一文件夹中。然后,给出$target_path=“uploads/”
而不是此$target_path=“../uploads/”不幸的是,我已经尝试过了。PHP的错误是什么?谢谢你的帮助。我现在可以通过网站上传文件了。唯一出现的另一个问题是,它总是上载同名文件,并覆盖原始文件。例如,我上传了一张图片,它上传的名字是'image.jpeg'。然后我上传了一张不同的图片,它还上传了一张名为“image.jpeg”的图片,覆盖了之前的图片。我怎样才能阻止这一切的发生?而且,我看到了你的个人资料。你总共问了13个问题,只选择了2个答案(包括这一个,算幸运了)。所以,它来自双手。你应该通过点击适当的答案来奖励他们。他们通过帮助你的所有问题来给你时间,这是很棘手的。希望你能理解。。!!干杯@用户2910074对不起,我最近才意识到这是可能的!我现在已经开始确保我这样做了。我会回去为那些我没有的人做这件事这就是精神。。很乐意帮忙。干杯享受@User2910074还有一个问题-文件大小是否有不能超过的限制(即使将零添加到该变量)?我发现我目前只能上传某些文件。谢谢你的帮助。我现在可以通过网站上传文件了。唯一出现的另一个问题是,它总是上载同名文件,并覆盖原始文件。例如,我上传了一张图片,它上传的名字是'image.jpeg'。然后我上传了一张不同的图片,它还上传了一张名为“image.jpeg”的图片,覆盖了之前的图片。我怎样才能阻止这一切的发生?而且,我看到了你的个人资料。你总共问了13个问题,只选择了2个答案(包括这一个,算幸运了)。所以,它来自双手。你应该通过点击适当的答案来奖励他们。他们通过帮助你的所有问题来给你时间,这是很棘手的。希望你能理解。。!!干杯@用户2910074对不起,我最近才意识到这是可能的!我现在已经开始确保我这样做了。我会回去为那些我没有的人做这件事这就是精神。。很乐意帮忙。干杯享受@User2910074还有一个问题-文件大小是否有不能超过的限制(即使将零添加到该变量)?我发现我目前只能上传某些文件。
$target_path = $target_path .time() .basename( $_FILES['uploadedfile']['name']);