$_FILES[ "imagefile" ][ "name" ] 返回名称,但 $_FILES[ "imagefile" ][ "tmp_name" ] 返回空值?

  • 本文关键字:返回 name imagefile FILES 空值 tmp php
  • 更新时间 :
  • 英文 :


在我的例子中,我在myform上像一样包含enctype

<form id="product_add" name="product_add" accept-charset="utf-8" action="product_add_inter.php" method="post" enctype="multipart/form-data">

那么我的输入类型文件是

<input name="imagefile" class="form-control" type="file"   />

问题是在服务器端,我需要上传我的图像到识别文件夹。我试图使用从表单中获取文件

$_FILES["imagefile"]["name"]

它工作并返回了我的图像的名称。但是当我使用temp_name获取文件时,它会返回null值。

$_FILES["imagefile"]["tmp_name"]

我该怎么解决这个问题。

首先,确保PHP配置为允许上传文件。在"php.ini"文件中,搜索file_uploads指令,并将其设置为On:

file_uploads = On

你也检查过吗

echo '<pre>'; print_r($_FILES);echo '</pre>'; 

看看结果。您正在获取文件数组和tmp_name吗?检查php.ini文件中的文件上载设置。

php.ini设置

将upload_max_filesize=2M更改为8M

; Maximum allowed size for uploaded files.
upload_max_filesize = 8M 
; Must be greater than or equal to upload_max_filesize
post_max_size = 8M 

这也是解决方案PHP文件上传错误tmp_name为空

您可以使用此代码查看上传错误:

print_r($_FILES['imagefile]['error']);

CCD_ 1表示存在CCD_。转到您的php.ini并发布该变量背后的内容:

upload_tmp_dir =

我已经检查了您的代码及其绝对工作良好的

<?php
echo $_FILES["imagefile"]["name"];
?>
<form id="product_add" name="product_add" accept-charset="utf-8" action="Check.php" method="post" enctype="multipart/form-data">
<input name="imagefile" class="form-control" type="file"   />
<input type="submit" value="SUBMIT" />
</form>

请检查phpinfo(如下所示(是否打开"file_uploads"并上传_max_filesize

<?php
echo phpinfo();
?>

最新更新