我在使用文件上传脚本时遇到问题。奇怪的是,它适用于我设置的图像字段,但不适用于.mp3或类似文件的表单字段,我使用相同的脚本。这是我的代码:
$download = $_FILES['download']['name'];
$downloadtarget = "events/" . $name . "/";
if(move_uploaded_file($download, $downloadtarget)) {
echo 'do stuff';
}else{
echo 'don't do stuff';
我似乎总是通过文件上传获得后者“不做事”。 除了交换之外的相同脚本:
$download = $_FILES['download']['name'];
与
$download = $_FILES['picture']['name'];
在脚本的早期工作正常,文件上传没有问题。
答案 0 :(得分:0)
你遗失$_FILES['download']['tmp_name'];
尝试
move_uploaded_file($_FILES["download"]["tmp_name"],
"events/" . $_FILES["download"]["name"]);
也表格有enctype="multipart/form-data"
属性
有关文件上传的详细信息,请点击链接: - http://www.w3schools.com/php/php_file_upload.asp
答案 1 :(得分:0)
<?php
$download = $_FILES['download']['name'];
$downloadtarget = "events/" . $download . "";
$temp_name = $_FILES['download']['tmp_name'];
if(move_uploaded_file($temp_name, $downloadtarget)) {
echo 'do stuff';
} else {
echo 'don\'t do stuff';
}
?>
答案 2 :(得分:0)
尝试这样的代码
if ($_FILES["file"]["error"] == 4)
{
$file_attachement_message="No Files attached";
}
else if ($_FILES["file"]["error"] > 0){
$attachement_
error=$_FILES["file"]["error"];
$file_attachement_message="File attachement failed with error code:$attachement_error";
}
else
{
if(!is_dir('../attachements'))
{
mkdir('../attachements');
}
if (file_exists("../attachements/".$id))
{
// echo $_FILES["file"]["name"] . " already exists";
$file_attachement_message="Attached file already exists in db";
}
else
{
$info=pathinfo($_FILES['file']['name']);
$ext = $info['extension']; // get the extension of the file
$newname="$risk_id.".$ext;
["tmp_name"],"../attachements/".$_FILES["file"]["name"]);
move_uploaded_file($_FILES["file"]["tmp_name"],"../attachements/".$newname);
$file_attachement_message="and File Attached successfully";
}
}
答案 3 :(得分:0)
问题似乎是文件大小。用图片和mp3测试,没有问题。进一步阅读显示php.ini默认为2mb限制。