我将PDF文件保存到服务器上的文件夹时遇到问题。代码一次工作,现在却没有。我想要它做的是检查是否有人在提交表单时尝试上传PDF,如果文件字段中有PDF,则上传它然后保存到mysql数据库的路径。代码如下:
if (!empty($_FILES['pdf'])){
$idir = "../files/PDF/"; //my directory file is supposed to be saved in
$randomd=rand(0000000,9999999); //creates a random number as filename
$domain = "http://".$_SERVER['HTTP_HOST'];
$file_ext = strrchr($_FILES['pdf']['name'], '.'); grabs file extension. my code checked if the file was a pdf a different way and neither seems to work.
$destination=$randomd.$file_ext; //new filename
if ($file_ext=='pdf') {
move_uploaded_file($_FILES['pdf']['tmp_name'], "$idir" . $destination);
$pdf= $domain."/files/PDF/".$destination; } else { echo("File type not supported.");
mysql_query("UPDATE tbl_listings SET pdf='$pdf' WHERE listing_id='$lid'");
}
if not empty不起作用,它总是尝试上传文件,但当我检查文件夹时,没有任何内容,并且它不会更新mysql。
答案 0 :(得分:1)
$_FILES['pdf']
永远不会为空(当表单已提交时),无论是否已选择文件,它都将始终返回一个数组。
检查$_FILES['pdf']['error']
,当没有上传文件时,它将是4
。