PHP中的上传文件问题
我以前做过几次上传图片,我从来没有遇到过问题。我只是复制了脚本,它工作得很好,但是在我复制之后,我不知道为什么它一直显示我没有使用正确的扩展。你能找出错误吗 这是表单脚本:PHP中的上传文件问题,php,file,image-uploading,Php,File,Image Uploading,我以前做过几次上传图片,我从来没有遇到过问题。我只是复制了脚本,它工作得很好,但是在我复制之后,我不知道为什么它一直显示我没有使用正确的扩展。你能找出错误吗 这是表单脚本: <tr height="30"> <td> </td> <td align="right">Gambar Barang </td> <
<tr height="30">
<td> </td>
<td align="right">Gambar Barang </td>
<td><input type="file" name="gambar" /></td>
</tr>
有几种情况可能导致文件上载失败:
- 上传表单是否有enctype=“多部分/表单数据”
- php.ini中的文件_uploads=On吗李>
- php.ini中的最大发布/上传限制是多少
- 您是否检查了上载文件夹的权限
- 上传表单是否有enctype=“多部分/表单数据”
- php.ini中的文件_uploads=On吗李>
- php.ini中的最大发布/上传限制是多少
- 您是否检查了上载文件夹的权限
您的代码工作正常,只需确保您的表单使用:
方法class='post'
和(如Reto所述)-enctype=“多部分/表单数据”
i、 e.大致如下:
表单具有enctype=“multipart/form data”,文件上传已打开,我认为上传文件夹的权限没有问题。但是,我对如何检查最大post/upload有点困惑,但我确实发现内存限制是256M,上传文件大小是4M。他说的是上传最大文件大小,所以请尝试echo$gambar\u ext;要查看您是否比较了正确的部分,请检查目录的chmod及其文件夹权限,您可以在FTP中将其视为文件夹属性,也可以尝试检查in_数组($gambar_ext,$expensions)的值。表单具有enctype=“multipart/form data”,文件上载处于打开状态,我认为上传文件夹的权限没有问题。但是,我对如何检查最大post/upload有点困惑,但我确实发现内存限制是256M,上传文件大小是4M。他说的是上传最大文件大小,所以请尝试echo$gambar\u ext;要查看您是否比较了正确的部分,请检查目录的chmod及其文件夹权限,您可以在FTP中将其视为文件夹属性,也可以尝试检查in_数组($gambar_ext,$expensions)的值。哦,是的,我很糟糕,我检查了enctype,但格式错误。。非常抱歉,谢谢你的提醒哦,是的,我的错,我检查了加密类型,但格式不对。。非常抱歉,谢谢你的提醒
$errors= array();
$uploaddir = 'images/';
$uploadfile = $uploaddir . basename($_FILES['gambar']['name']);
$gambar = $_FILES['gambar']['name'];
$gambar_size = $_FILES['gambar']['size'];
$gambar_type = $_FILES['gambar']['type'];
$gambar_tmp = $_FILES['gambar']['tmp_name'];
$gambar_ext=strtolower(end(explode('.',$_FILES['gambar']['name'])));
$expensions= array("jpeg","jpg","png");
if(in_array($gambar_ext,$expensions)=== false){
$errors[]="extension not allowed, please choose a JPEG or PNG file.";
}
if($gambar_size > 4097152){
$errors[]='File size must be excately 4 MB';
}
if(empty($errors)==true){
copy($_FILES['gambar']['tmp_name'], $uploadfile);
}else{
print_r($errors);
}