这是我的文件上传代码,此代码文件名已到达数据库,但文件未到达目标文件夹。
if(isset($_FILES['imageFile']['name'])){
$imageFile=$_FILES['imageFile']['name'];
}else{
$imageFile='';
}
$allowedExts = array("gif", "jpeg", "jpg", "png");
if($imageFile!=''){
$fileArray =explode(".",$imageFile);
$extension = end($fileArray);
if(in_array($extension,$allowedExts)){
$newFileName=round(microtime(true)).'.'.$extension;
$uploadPath = "assets/images/".$newFileName;
$uploadDone = move_uploaded_file($_FILES['imageFile']['tmp_name'],$uploadPath);
}
else{
$message='This type file is not allowed';
}
}
这是我试图获取文件的html代码。
<p>Upload Your Profile Picture: <input type="file" size=65 name="imageFile" id="imageFile"></p><br>
答案 0 :(得分:0)
为dirname(__FILE__)
添加绝对路径$uploadPath
$folder = dirname(__FILE__);
$uploadPath = $folder."/assets/images/".$newFileName;
dirname(__FILE__);
将为您提供当前文件夹名称,将其设置在您想要的位置
使用DIRECTORY_SEPARATOR
获取格式不正确的分隔符
DEFINE('DS', DIRECTORY_SEPARATOR);
并像这样使用
$uploadPath = $folder.DS.'assets'.DS.'images'.DS.$newFileName;
答案 1 :(得分:0)
使用完整的目标文件夹路径(即绝对路径)放置上载的文件。使用“ ROOT URL”变量。
如果您使用的是Windows系统,则路径应如下所示
C:/wamp or xamp/www/projectName/folderName/
对于linux系统,路径应类似于/ var / www / html / projectName
示例
$uploadPath = WWW_ROOT."/assets/images/".$newFileName;
答案 2 :(得分:0)
我的代码运行正常,问题实际上是我试图上传大小为3 MB的图像,但是在目录中,该大小定义为2 MB,因此当我尝试上传小于2 MB的图像时,它已成功上传。因此,只要发生这种类型的错误,就尝试上传小于定义的大小或从目录中增加大小。