首页 > 编程技术 > php

php上传图片失败原图

发布时间:2016-11-25 17:41

php上传图片失败原图

一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.
但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.
这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time

在php.ini里查找
max_execution_time
默认是30秒.改为
max_execution_time = 0
0表示没有限制

另一种方法是可以在php程序中加入
set_time_limit();
来设定页面最久执行时间.
set_time_limit(0);//0表示没有限制

2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。
php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为
post_max_size = 150M

3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
查找upload_max_filesize,默认为8M改为
upload_max_filesize = 100M

另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

数据库是用UTF-8的话,你那个文本是使用什么编码呀?

用mb_convert_encoding或iconv来转换一下编码。两个编码要一致才不会出现乱码的。还有就是数据库连接方面,如果你有加了set names应该是全部的连接都要那样去加,要不然,会显示乱码的。

下在的例题如果不进行编码转换就会有问题.

       $fileName = "qtgz/qtgongzi.txt";
              $fContent   =   file($fileName);
              //将当前元素的值付给$a_content   list把数组元素的值付给一些变量
              foreach($fContent   as   $a_content) {
              list($QT_sfz,$QT_xm,$QT_bz,$QT_je) = explode( ",",$a_content);
              if($QT_sfz!= "" and $QT_xm !="" and $QT_bz !="" and $QT_je !=""){
              echo $QT_xm;
              //取得时间插入到数据库中
              $QT_sj = date("Ym");
              $query = "insert into qita(QT_sfz,QT_xm,QT_bz ,QT_je,QT_beizhu,QT_sj) values('$QT_sfz','$QT_xm','$QT_bz','$QT_je','$QT_beizhu','$QT_sj')";
              //echo $query;
                     $rst = $aa->excu($query);

php curl_init函数用法

首先,在C\windows里的php.ini中我打开了extension=php_curl.dll的功能,然后也重启了apapche,以下是我写的抓取百度中PHP的信息:
<?php
  //初始化curl
  $ch = curl_init() or die (curl_error());
  echo "测试一下";
  //设置URL参数
  curl_setopt($ch,CURLOPT_URL,"http://www.baidu.com/s?wd=php");
  //要求CURL返回数据
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  //执行请求
  $result = curl_exec($ch) or die (curl_error());
  //取得返回的结果,并显示
  echo $result;
  echo curl_error($ch);
  //关闭CURL
  curl_close($ch);
?>
可为什么没反应呢?连测试的文字都没有,要是我把echo "测试一下";放到第一行就可以输出,我估计是curl_init()函数还没有运行!

你看看PHP的phpinfo()中有没有CURL扩展支持!

把php_curl.dll拷到c:\windows\和c:\windows\system32里面 重启apache
之后再试试看

不是php_curl.dll这个文件
是把php目录中的libeay32.dll,ssleay32.dll拷到c:\windows\system32里面 重启apache

本文的作用是为了全方位的避免因使用UTF-8编码而产生的乱码问题,不包含具体的乱码解决方案和编码转换的内容。对于UTF-8编码的深入了解,请参阅:《PHP匹配UTF-8中文字符的正则表达式》
1、编辑器:不要使用任何微软的编辑器,什么Frontpage,Web Designer,记事本,写字板什么的,能丢的全部丢开,因为这些编辑器会在你的UTF-8文档前面产生BOM,关于BOM的具体说明,可以在 这里 找到,当年我直接拿记事本转UTF-8覆盖原文件,造成大量代码损毁,至今记忆犹新。
2、MySQL数据库:注意建库,建表,建字段(注意有三处)的时候,都要选用utf8_general_ci的整理格式(Collation),在PHP使用mysql_connect()函数连接数据之后,需要加上一句:
mysql_query('set names "utf8"');
3、PHP:
使用mb库,不要使用iconv库。
使用preg而不要使用ereg来处理字符。
使用htmlentities()函数,html_entity_decode()函数的时候要带上第三个参数:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
$str = "<a href='test'>中文</a>";
echo htmlentities($str,ENT_COMPAT,"UTF-8"); //显示(源代码里面) &lt;a href='test'&gt;涓?

Column count doesn't match value count at row 1

mysql_query("insert into lz_members(username,password,email,adminid,groupid,timeoffset,customshow,posts,gender) value('$uid','$pwd','$mail','$lastip','0','10',9999,2,$post,$sex)") or die(mysql_error());

仔细检查可以发现是insert into的字段与value个数不相等所选成的.

标签:[!--infotagslink--]

您可能感兴趣的文章: