//=============== PDF File Upload=====================
if (isset($_FILES["pdfile"])) {
$filename = $_FILES['pdfile']['name'];
$dir = "../pdfs/students/".$filename;
$tmp_name = $_FILES['pdfile']['tmp_name'];
$file1 = explode('.',$filename);
$ext = $file1[1];
$allow = array('pdf');
if(in_array($ext, $allow))
move_uploaded_file($filename, $dir);
}
else
die("There is no file to upload.");
//=============== End Pdf File Upload=====================
//=============== Image File Upload=====================
if(isset($_FILES['profile']['tmp_name'])){
$dir = "../images/students/".$id.".jpg";
$file = $_FILES['profile']['tmp_name'];
if(move_uploaded_file($file, $dir)){
echo "Image Uploaded Successfully";
$pic = mysqli_query($con, "update students set profile ='$id.jpg' where id = $id ")or die(mysqli_error($con));
}
else{
echo "Error Occured";
}
}
//=============== End Image File Upload=====================
PDF 文件没有上传到目录中。我不知道为什么上传个人资料图片的相同代码可以正常工作。帮我解决这个问题。
回答1
抱歉,我第一次没有看到我的代码。错误是 move_upload_file($filename, $dir) 处的 $tmp_name。将 $filename 替换为 $tmp_name ,它工作正常。
//=============== PDF File Upload=====================
if (isset($_FILES["pdfile"])) {
$filename = $_FILES['pdfile']['name'];
$dir = "../pdfs/students/".$filename;
$tmp_name = $_FILES['pdfile']['tmp_name'];
$file1 = explode('.',$filename);
$ext = $file1[1];
$allow = array('pdf');
if(in_array($ext, $allow))
move_uploaded_file($filename, $dir);
}
else
die("There is no file to upload.");
//=============== End Pdf File Upload=====================
回答2
更改此行
move_uploaded_file($filename, $dir);
对此
move_uploaded_file($tmp_name, $dir);
回答3
if (isset($_FILES["pdfile"])) {
$filename = $_FILES['pdfile']['name'];
$dir = "../pdfs/students/".$filename;
$tmp_name = $_FILES['pdfile']['tmp_name'];
$file1 = explode('.',$filename);
$ext = $file1[1];
$allow = array('pdf');
if(in_array($ext, $allow))
move_uploaded_file($filename, $dir);
}
move_uploaded_file 应该是:
move_uploaded_file($tmp_name, $dir);
更多提示:
<?php
if (isset($_FILES["pdfile"])) {
$filename = $_FILES['pdfile']['name'];
$tmp_name = $_FILES['pdfile']['tmp_name'];
$dir = "../pdfs/students/" . $filename;
$file1 = explode('.',$filename);
// use end() to get last
// for example: filename.jpg.pdf
$ext = end($file1);
$allow = array('pdf');
if(in_array($ext, $allow))
move_uploaded_file($tmp_name, $dir);
}