又一次Apache服务器的问题
时间:2007-10-31
来源:互联网
学习PHP难免总是会遇到一些莫名其妙的问题,就是搞不懂为什么,明明自己设置的都是正确的,但就是出问题,这不,今天我又遇到了一个这样的问题,浪费了我好几个小时,才弄明白是哪里出了问题,真是郁闷死了。
今天直接找了一个上传文件的php源代码进行测试,总是显示错误,提示为错误代码是2。我就在网上找了找资料。
<!--使用POST上传文件示例:upload_file_post.php---------------------------->
<form enctype="multipart/form-data" action="receive_file_post.php" method="post">
您的大名: <input type=text name=user><br>
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
上传文件: <input name="userfile" type="file"><br><br>
<input type="submit" value="开始上传">
</form>
其中,
<?php
$upload_dir = './upload_files/';
if (!move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_dir.$_FILES['userfile']['name']))
echo "文件上传失败,错误信息:".$_FILES['userfile']['error']."<br>";
else
echo "文件".$_FILES['userfile']['name']."上传成功<br>";
?>
以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称为 userfile(名称可随意命名)
不就是错误代码1吗,哦,原来是upload_max_filesize限制值太小了,二话不说,改为10M了。哈哈。。。。。。测试,晕,还是不行。我就继续找php.ini设置的资料。看到下面的东西:
PHP上传文件涉及到的参数PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP、apache等的一些参数. 下面,我们简要介绍一下PHP文件上传涉及到的一些参数:
算了,呆会再研究,先让同学玩吧,去买饭了,不然呆会餐厅没饭了,呵呵。。肚子饿了!
回来了,继续研究那个烦人的问题。我上传个小文件吗。上传个WORD文档,才两百多K,哦耶!成功一次。弄个1M多的压缩包,又成功了,再试试我那歌曲了。哎!还是不成功。看了看那首歌有5M多,上传个小店的歌曲了。我找了个2M多的歌曲上传,还是不成功。再试个不到2M的歌吧,居然成功了。看来是不能上传大于2M的东西了。奇怪啊,不大对啊,我设置的限制是10M 啊,远远大于了。难道是我设置没成功。我又看了看设置,没有问题的。
。。。。。。。。。。。。
我不停的想啊,累死了,2M........这不就是php.ini设置上传限制的默认值吗,我改了怎么没有成功呢。哦??可能是服务器得重启一下,以前也经常遇到非重启服务器才能解决问题的情况。于是我就重启的Apache(我用的是这个),再试试了。成功了!!这次真的是搞定了。
以前在配置PHP环境的时候,也遇到过类似的情况,感觉配置的环境没有问题,可就是测试不成功,一般都是需要重启Apache等服务器了。所以呢,以后,已更改类似php.ini等文件后,一定要记得重启服务器。
[ 本帖最后由 honeyxiaoyi 于 2007-10-30 19:28 编辑 ]
今天直接找了一个上传文件的php源代码进行测试,总是显示错误,提示为错误代码是2。我就在网上找了找资料。
<!--使用POST上传文件示例:upload_file_post.php---------------------------->
<form enctype="multipart/form-data" action="receive_file_post.php" method="post">
您的大名: <input type=text name=user><br>
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
上传文件: <input name="userfile" type="file"><br><br>
<input type="submit" value="开始上传">
</form>
其中,
- 请注意<form enctype="multipart/form-data"......>这是一个标签,我们要实现文件的上传,必须指定为multipart/form-data,否则服务器将不知道要干什么。
- 值得注意的是文件upload_file_post.php中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置其Value(值)可以限制上载文件的大小。
- MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。
<?php
$upload_dir = './upload_files/';
if (!move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_dir.$_FILES['userfile']['name']))
echo "文件上传失败,错误信息:".$_FILES['userfile']['error']."<br>";
else
echo "文件".$_FILES['userfile']['name']."上传成功<br>";
?>
以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称为 userfile(名称可随意命名)
- $_FILES['userfile']['name'] 客户端机器文件的原名称。
- $_FILES['userfile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
- $_FILES['userfile']['size'] 已上传文件的大小,单位为字节。
- $_FILES['userfile']['tmp_name'] 文件被上传后在服务端储存的临时文件名。
- $_FILES['userfile']['error'] 和该文件上传相关的错误代码
- 值:0; 没有错误发生,文件上传成功。
- 值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
- 值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
- 值:3; 文件只有部分被上传。
- 值:4; 没有文件被上传。
不就是错误代码1吗,哦,原来是upload_max_filesize限制值太小了,二话不说,改为10M了。哈哈。。。。。。测试,晕,还是不行。我就继续找php.ini设置的资料。看到下面的东西:
PHP上传文件涉及到的参数PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP、apache等的一些参数. 下面,我们简要介绍一下PHP文件上传涉及到的一些参数:
- file_uploads
- upload_tmp_dir
- upload_max_filesize
- post_max_size
- max_input_time
- memory_limit
- max_execution_time
- 对于linux主机,可能在/etc/httpd/conf.d/access.conf/下面里面还有php.conf 文件,这个文件可能会解决一些系统的文件大小限制问题
算了,呆会再研究,先让同学玩吧,去买饭了,不然呆会餐厅没饭了,呵呵。。肚子饿了!
回来了,继续研究那个烦人的问题。我上传个小文件吗。上传个WORD文档,才两百多K,哦耶!成功一次。弄个1M多的压缩包,又成功了,再试试我那歌曲了。哎!还是不成功。看了看那首歌有5M多,上传个小店的歌曲了。我找了个2M多的歌曲上传,还是不成功。再试个不到2M的歌吧,居然成功了。看来是不能上传大于2M的东西了。奇怪啊,不大对啊,我设置的限制是10M 啊,远远大于了。难道是我设置没成功。我又看了看设置,没有问题的。
。。。。。。。。。。。。
我不停的想啊,累死了,2M........这不就是php.ini设置上传限制的默认值吗,我改了怎么没有成功呢。哦??可能是服务器得重启一下,以前也经常遇到非重启服务器才能解决问题的情况。于是我就重启的Apache(我用的是这个),再试试了。成功了!!这次真的是搞定了。
以前在配置PHP环境的时候,也遇到过类似的情况,感觉配置的环境没有问题,可就是测试不成功,一般都是需要重启Apache等服务器了。所以呢,以后,已更改类似php.ini等文件后,一定要记得重启服务器。
[ 本帖最后由 honeyxiaoyi 于 2007-10-30 19:28 编辑 ]
作者: honeyxiaoyi 发布时间: 2007-10-30
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28