10个经典的PHP实例教程源码.pdf
文本预览下载声明
1.PHP获取跳转的URL真实地址源码
function curl_post_302($url,$data=null) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 获取转向后的内容
$data = curl_exec($ch);
$Headers = curl_getinfo($ch);
curl_close($ch);
if($data != $Headers){
return $Headers[url];
}else{
return false;
}
}
2.php开启多进程的方法源码
?php
/*
* php开启多进程的方法
* author
* date 2015-04-19
file:///C|/Users/Administrator/Desktop/新建文本文档.txt [2015/4/21 14:54:25]
* version 1
**/
$IP=;//Windows電腦的IP
$Port=5900; //VNC使用的Port
$ServerPort=9999;//Linux Server對外使用的Port
$RemoteSocket=false;//連線到VNC的Socket
function SignalFunction($Signal){
//這是主Process的訊息處理函數
global $PID;//Child Process的PID
switch ($Signal)
{
case SIGTRAP:
case SIGTERM:
//收到結束程式的Signal
if($PID)
file:///C|/Users/Administrator/Desktop/新建文本文档.txt [2015/4/21 14:54:25]
{
//送一個SIGTERM的訊號給Child告訴他趕快結束掉嘍
posix_kill($PID,SIGTERM);
//等待Child Process結束,避免zombie
pcntl_wait($Status);
}
//關閉主Process開啟的Socket
DestroySocket();
exit(0); //結束主Process
break;
case SIGCHLD:
/*
當Child Process結束掉時,Child會送一個SIGCHLD訊號給Parrent
當Parrent收到SIGCHLD,就知道Child Process已經結束嘍 ,該做一些
結束的動作*/
file:///C|/Users/Administrator/Desktop/新建文本文档.txt [2015/4/21 14:54:25]
unset($PID); //將$PID清空,表示Child Process已經結束
pcntl_wait($Status); //避免Zombie
break;
default:
}
显示全部