該函數相關介紹:http://php.net/manual/zh/function.tempnam.php
tempnam函數能夠在指定目錄產生一個具有唯一文件名的文件名。通常應用於自定義SESSION文件名的情況。
這個函數還是非常有用的。例如如果我們要使用curl僞造一個session,那麼就可以這樣用。
相關資料:http://www.phpjx.com/show_5919.html
<?php
function vlogin($url,$request){
session_start();
$cookie_jar = tempnam('./tmp','cookie');//在當前目錄下生成一個隨機文件名的臨時文件
$ch = curl_init($url); //初始化curl模塊
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);//post方式提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);//要提交的內容
//把返回$cookie_jar來的cookie信息保存在$cookie_jar文件中
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
$xianshi=curl_exec ($ch);
curl_close($ch); //get data after login
$curl="http://phpjx.local.com/login/session/show.php";//要抓取數據的頁面,該頁面有session判斷權限
$ch=curl_init($curl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "sitename=phpjx.com&siteurl=http://www.phpjx.com");
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
$xianshi=curl_exec($ch);
curl_close($ch);
return $xianshi;
}
$url="http://phpjx.local.com/login/session/check.php";//我們向該頁面傳值,用來生成session,接着傳遞到想要抓取的那個頁面
$request="username=yansy";
echo vlogin($url, $request)
?>