PHP函數tempnam()

該函數相關介紹: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)
?>


可以自行百度一下相關資料。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章