【发布时间】:2010-04-10 11:36:41
【问题描述】:
我正在使用class.upload.php 将图片上传到服务器。这是我的表格:
<form action="<?="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];?>" method="post" enctype="multipart/form-data">
<table style="width: 100%; padding-top: 20px;">
<tr>
<td>Image file:</td>
<td><input type="file" name="image_file" /></td>
</tr>
<tr>
<td> </td>
<td align="right"><input type="submit" name="add_new" value="Add image" /><td></td>
</tr>
</table>
</form>
在 php 代码中我这样做:
if( array_key_exists('add_new', $_POST) )
{
echo 'add new is in array';
echo '<pre>';
print_r($_POST);
print_r($_FILES);
echo '</pre>';
$handle = new Upload($_FILES['image_file']);
...
}
这是 print_r 的输出:
Array
(
[image_file] => somefile.png
[add_new] => Add image
)
Array
(
)
如您所见,第二个数组为空 ($_FILES),因此无法上传图片。为什么?
- 操作系统:Linux
- PHP 版本:5.2.12
- GD 版本:2.0.34
- 支持的图片类型:png jpg gif bmp
- open_basedir : /home/httpd/vhosts/%site%/httpdocs:/tmp
【问题讨论】:
-
奇怪。你用的是什么版本的PHP?
-
@Pekka,我刚刚更新了帖子。
-
文件是否正在上传?你能从大文件的加载时间看出这一点吗?
-
@Pekka,不。页面加载速度非常快。
-
@Ockonal 是否适用于所有浏览器?