在我的例子中,我在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();
?>