|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
exit来实现结束后面的PHP语句的执行,缩小调试范围,特别是数据库交互的程序,先输出个SQL语句看看,对了,再分析怎么会插入/删除不成功呢?这样对查错很有帮助。 curl_setopt
(PHP 4 >= 4.0.2)
curl_setopt -- 为CURL挪用设置一个选项
描写
bool curl_setopt (int ch, string option, mixed value)
curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。
以下选项的值将被作为长整形利用(在option参数中指定):
CURLOPT_INFILESIZE: 当你上传一个文件到近程站点,这个选项告知PHP你上传文件的巨细。
CURLOPT_VERBOSE: 假如你想CURL呈报每件不测的工作,设置这个选项为一个非零值。
CURLOPT_HEADER: 假如你想把一个头包括在输入中,设置这个选项为一个非零值。
CURLOPT_NOPROGRESS: 假如你不会PHP为CURL传输显示一个历程条,设置这个选项为一个非零值。
注重:PHP主动设置这个选项为非零值,你应当仅仅为了调试的目标来改动这个选项。
CURLOPT_NOBODY: 假如你不想在输入中包括body局部,设置这个选项为一个非零值。
CURLOPT_FAILONERROR: 假如你想让PHP在产生毛病(HTTP代码前往大于等于300)时,不显示,设置这个选项为一人非零值。默许行动是前往一个正常页,疏忽代码。
CURLOPT_UPLOAD: 假如你想让PHP为上传做筹办,设置这个选项为一个非零值。
CURLOPT_POST: 假如你想PHP去做一个正轨的HTTP POST,设置这个选项为一个非零值。这个POST是通俗的 application/x-www-from-urlencoded 类型,多半被HTML表单利用。
CURLOPT_FTPLISTONLY: 设置这个选项为非零值,PHP将列出FTP的目次名列表。
CURLOPT_FTPAPPEND: 设置这个选项为一个非零值,PHP将使用近程文件取代掩盖它。
CURLOPT_NETRC: 设置这个选项为一个非零值,PHP将在你的 ~./netrc 文件中查找你要创立毗连的近程站点的用户名及暗码。
CURLOPT_FOLLOWLOCATION: 设置这个选项为一个非零值(象 'Location: ')的头,办事器会把它当作HTTP头的一局部发送(注重这是递归的,PHP将发送形如 'Location: '的头)。
CURLOPT_PUT: 设置这个选项为一个非零值去用HTTP上传一个文件。要上传这个文件必需设置CURLOPT_INFILE和CURLOPT_INFILESIZE选项.
CURLOPT_MUTE: 设置这个选项为一个非零值,PHP关于CURL函数将完整缄默。
CURLOPT_TIMEOUT: 设置一个长整形数,作为最大延续几何秒。
CURLOPT_LOW_SPEED_LIMIT: 设置一个长整形数,掌握传送几何字节。
CURLOPT_LOW_SPEED_TIME: 设置一个长整形数,掌握几何秒传送CURLOPT_LOW_SPEED_LIMIT划定的字节数。
CURLOPT_RESUME_FROM: 传递一个包括字节偏移地址的长整形参数,(你想转移到的入手下手表单)。
CURLOPT_SSLVERSION: 传递一个包括SSL版本的长参数。默许PHP将被它本人勉力切实其实定,在更多的平安中你必需手工设置。
CURLOPT_TIMECONDITION: 传递一个长参数,指定怎样处置CURLOPT_TIMEVALUE参数。你可以设置这个参数为TIMECOND_IFMODSINCE 或 TIMECOND_ISUNMODSINCE。这仅用于HTTP。
CURLOPT_TIMEVALUE: 传递一个从1970-1-1入手下手到如今的秒数。这个工夫将被CURLOPT_TIMEVALUE选项作为指定值利用,或被默许TIMECOND_IFMODSINCE利用。
以下选项的值将被作为字符串:
CURLOPT_URL: 这是你想用PHP取回的URL地址。你也能够在用curl_init()函数初始化时设置这个选项。
CURLOPT_USERPWD: 传递一个形如[username]:[password]作风的字符串,感化PHP去毗连。
CURLOPT_PROXYUSERPWD: 传递一个形如[username]:[password] 格局的字符串去毗连HTTP代办署理。
CURLOPT_RANGE: 传递一个你想指定的局限。它应当是'X-Y'格局,X或Y是被除外的。HTTP传送一样撑持几个距离,用逗句来分隔(X-Y,N-M)。
CURLOPT_POSTFIELDS: 传递一个作为HTTP “POST”操作的一切数据的字符串。
CURLOPT_REFERER: 在HTTP恳求中包括一个'referer'头的字符串。
CURLOPT_USERAGENT: 在HTTP恳求中包括一个'user-agent'头的字符串。
CURLOPT_FTPPORT: 传递一个包括被ftp 'POST'指令利用的IP地址。这个POST指令告知近程办事器去毗连咱们指定的IP地址。 这个字符串可所以一个IP地址,一个主机名,一个收集界面名(在UNIX下),或是‘-'(利用体系默许IP地址)。
CURLOPT_COOKIE: 传递一个包括HTTP cookie的头毗连。
CURLOPT_SSLCERT: 传递一个包括PEM格局证书的字符串。
CURLOPT_SSLCERTPASSWD: 传递一个包括利用CURLOPT_SSLCERT证书必须的暗码。
CURLOPT_COOKIEFILE: 传递一个包括cookie数据的文件的名字的字符串。这个cookie文件可所以Netscape格局,或是堆存在文件中的HTTP作风的头。
CURLOPT_CUSTOMREQUEST: 当停止HTTP恳求时,传递一个字符被GET或HEAD利用。为停止DELETE或其它操作是无益的,更Pass a string to be used instead of GET or HEAD when doing an HTTP request. This is useful for doing or another, more obscure, HTTP request.
注重: 在确认你的办事器撑持号令先不要去如许做。
以下的选项请求一个文件描写(经由过程利用fopen()函数取得):
CURLOPT_FILE: 这个文件将是你放置传送的输入文件,默许是STDOUT.
CURLOPT_INFILE: 这个文件是你传送过去的输出文件。
CURLOPT_WRITEHEADER: 这个文件写有你输入的头局部。
CURLOPT_STDERR: 这个文件写有毛病而不是stderr。
实例代码: 已测
复制代码 代码以下:
<?php
@header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
@header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// always modified
@header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
@header("Cache-Control: post-check=0, pre-check=0", false);
@header("Pragma: no-cache");
@header("content-type:text/html; charset=utf-8");
$url = 'http://s.jb51.net';
$querystring = $_SERVER["QUERY_STRING"];
$currentUrl = $_SERVER['SERVER_NAME'];
if($querystring != '') $querystring = $querystring . "&";
$querystring = $querystring . "SiteURL=" . $currentUrl;
if($querystring != '')
{
$url = $url . "?" . $querystring;
}
$ch = curl_init();
$timeout = 60; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$handles = curl_exec($ch);
//上面是交换,可以联合办事器伪静态设置
$handles = preg_replace("/\?page=([0-9]+)&categoryId=([0-9]+)/i","/fenlei/category-$1-$2.html",$handles);
$handles = preg_replace("/\?categoryId=([0-9]+)/i","/fenlei/category--$1.html",$handles);
$handles = preg_replace("/\?page=([0-9]+)/i","/fenlei/category-$1.html",$handles);
$handles = preg_replace("/infodetail\.aspx\?ID=([0-9]+)/i","/fenlei/$1.html",$handles);
$handles = str_replace("infolist.aspx","/fenlei/index.html",$handles);
$handles = str_replace("unionlist.aspx","unionlist.html",$handles);
echo $handles;
?>
用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。 |
|