PHP的CURL模拟POST提交数据

05/14/2012 10:07:00 AM

Download PDF

$ch = curl_init();//初始化curl

$data = 'Title=' .urlencode($title) . '&Content=' .urlencode($content) . '&ComeFrom=' .urlencode($comefrom); //数据要使用urlencode编码

curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false); 

curl_setopt($ch, CURLOPT_URL, 'http://example.com/b.php');  //提交到b.php

curl_setopt($ch, CURLOPT_POST, 1); 

curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 

curl_exec($ch);

curl_close($ch);


set_time_limit(0)

04/5/2012 10:27:00 AM

Download PDF

set_time_limit(0)

解决30秒的限制


PHP写入文件时如何换行?

03/19/2012 7:00:00 PM

Download PDF

 

$fp = fopen("a.txt",'a');   // 'a':写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

@$content = 'text';

fwrite($fp,$content);

fwrite($fp,"\x0d\x0a"); // \x0d\x0a表示\r\n

fclose($fp);

 


PHP采集程序思路大全

03/10/2012 5:31:00 PM

Download PDF

思路:



  采集程序的思路很简单大体可以分为以下几个步骤:

    1.获取远程文件源代码(file_get_contents或用fopen).

       2.分析代码得到自己想要的内容(这里用正规匹配,一般是得到分页)。

  3.跟根得到的内容进行下载入库等操作。



在这里第二步有可能要重复的操作好几次,比如说要先分析一下分页地址,在分析一下内页的内容才能取得我们想要的东西。



代码:



记的以前发部过部分的代码今天我在这里在简单的发部一下 

复制PHP内容到剪贴板 PHP代码:

@$nl=file_get_contents($rs['url']);//抓取远程内容
preg_match_all("/var url = \"gameswf\/(.*?)\.swf\";/is",$nl,$connect);
//进行正规匹配取得自己要的内容
mysql_query("insert ……插入数据库部分");



上面的代码就是所有采集要用到的代码了,当然大家也可以用fope来作,我个人喜欢用file_get_contents。



下面在共享一下我的下载图片flash到本地的办法,太简单了两行代码 复制PHP内容到剪贴板 PHP代码:

if(@copy($url,$newurl)){
echo 
'ok'
;
}



在论坛上以前还发过一个图片下载函数这会也放上来给大家 复制PHP内容到剪贴板 PHP代码:

/*本存图片函数*/
function getimg($url,$filename
){
        
/*判断图片的url是否为空,如果为空停止函数*/
        
if($url==""
){
                return 
false
;
        }
        
/*取得图片的扩展名,存入变量$ext中*/
        
$ext=strrchr($url,"."
); 
        
/*判断是否是合法的图片文件*/
    
if($ext!=".gif" && $ext!=".jpg"
){
                return 
false
;
        }
        
/*读取图片*/
        
$img=file_get_contents($url
);
        
/*打开指定的文件*/
        
$fp=@fopen($filename.$ext,"a"
);
        
/*写入图片到指点的文件*/
        
fwrite($fp,$img
);
        
/*关闭文件*/
        
fclose($fp
);
        
/*返回图片的新文件名*/
        
return $filename.$ext
;
}





共享一下个人的采集心德:



1.不采那些作防盗链了的站,其实可以作假来路但是这样的站采集成本太高



2.采集尽量快的站,最好在本地进行采集



3.采集时有很多时候可以先把一部分数据存入数据库,等以后进行下一步的处理。



4.采集的时候一定要作好出错处理,我一般都是如果采集三次没有成功就跳过。以前经常就因为一条内容不能采就卡在那里一直的采。



5.入库前一定要作好判断,检查内容的合法,过滤不必要的字符串。

 

思路一:



思路二:



 

思路三:

 

来源:http://bbs.php100.com/read-htm-tid-30592.html


echo()中引号的用法

02/28/2012 7:22:00 PM

Download PDF

 

 大部分语言中,引号引起来的内容都表示为字符。单引号也有同样的效果,比如在html中:

 <a herf="url">url</a>

 

 在PHP中单引号和双引号的区别是:双引号里的内容会被解释,单引号则表示为纯字符。如:

  

  echo "字符串";  //输出:字符串

  echo '字符串';  //输出:字符串

  $a = 10;

  echo "$a \n";   //输出:10并换行

  echo '$a \n';   //输出:$a \n  


PHP的echo问题

02/28/2012 7:21:00 PM

Download PDF

 

<?php

 

$a = 7;

echo "$a = 5";      //正常显示 7 = 5

echo "$a等于5";    //显示出错

echo "$a"."等于5"   //正常显示 7等于5

 

?>

 

出错的:echo "$a等于5"; 语句中php会把"$a等于5"看做一个变量,

可以修改为:echo "($a)等于5";

 

————–

PHP的输出函数:

  • print()函数
  • echo()函数
  • printf()函数
  • sprintf()函数

 

print()和echo()语句的作用相同,都是用来向客户端输出信息。但有2点不同,首先,echo()语句不能用在复杂表达式中,因为他返回的是void,而print()返回一个booblean值。其次,echo()能输出多个字符串,但print()只能同时输入一个字符串,但能用在更复杂的表达式中,如:

  void echo (string $arg1 [, string $...])

  echo $i,"你好"", $you", "最近怎么样?";

  print $a.$b.;   //print不能使用逗号,只能用点号来分隔

  

此外,在执行速度上,echo()更快一些。

  

printf()函数的格式如下:

 int printf(string $format[, mixed $args [, mixed $...]])

 可以看出,函数的返回值是一个整型数值,表示字符串的长度。 args表示指定的参数。

  <?php 

    printf("%s is %d years old.","Candy",20); // 输出:Candy is 20 years old.

  ?>

  

 可以使用%2$表示第二个参数,%3$表示第三个参数,但$必须转义,为\$

 <?php

    printf("the %1\$s says : %2\$s, %2\$s","dog","bark"); //输出:the dog says: bark,bark 

 ?>