導航:首頁 > 編程語言 > php導出網頁數據

php導出網頁數據

發布時間:2024-04-11 22:20:55

php怎樣抓取網頁代碼中動態顯示的數據

你是想抓別人網頁上ajax動態載入的數據吧?

1、要找到它的ajax載入的URL地址

2、利用PHP的file_get_contents($url)函數讀取那個url地址。

3、對抓取到的內容進行分析或正則過濾。

㈡ 想通過PHP實現讀取txt文本每次刷新網頁隨機獲取5行數據並輸出

如果文件不是太大的話,可以這樣寫:
<?php

$arr=file('a.txt'); //文本文件,請修改合適的名字和位置
$n=count($arr);
for ($i=0;$i<5;$i++) echo $arr[rand(0,$n)]."<br>';
?>

㈢ thinkPHP怎樣使用PHPExcel導出網站數據為excel

第一步:先去下載PHPExcel插件壓縮包,解壓後只用到Classes文件夾裡面的文件就行。
第二步:然後把Classes文件夾名稱改為PHPExcel (也可以不用改),再放在thinkPHP指定的第三方類庫目錄文件夾Vendor下面,第三方類庫目錄在ThinkPHP/Library 裡面


第三步:整理數據,整理成適合excel表格式的數據,不多說直接給代碼

publicfunctionexport(){//導出Excel表數據整理
$xlsData=M('table')->select();//查找需要導出的數據
$xlsCell=array(//設置excel文檔的格式第一行就相當於標題
array('id','ID號'),
array('title','標題'),
array('time','時間'),
array('content','內容')
);

$newArray=array();//自定義數組
foreach($xlsDataas$k=>$v)
{//然後把所有查找到的數據根據設置第一行的標題相對應放進數組裡面
$newArray[$k]['id']=$v['id'];
$newArray[$k]['title']=$v['title'];
$newArray[$k]['time']=date('Y-m-d',$v['time']);
$newArray[$k]['content']=$v['content'];
}
$xlsName='Excel表數據'//設置Excel表文件名稱
$this->exportExcel($xlsName,$xlsCell,$newArray);//調用PHPExcel插件,這步的函數也需要自定義
}

/**
*@param$xlsName名稱
*@param$xlsCell參數(標題數組)
*@param$newArray內容(數據數組)
*/
publicfunctionexportExcel($xlsName,$xlsCell,$newArray){

$xlsTitle=iconv('utf-8','gb2312',$xlsName);//文件名稱需要轉碼避免亂碼出錯
$xlsCell_num=count($xlsCell);
$newArray_num=count($newArray);

vendor("PHPExcel.PHPExcel");//關鍵,利用thinkphp內置函數嵌套PHPExcel插件,如果在第二步沒有改文件夾名稱就這樣:vendor("Classes.PHPExcel");點之前表示插件文件夾,點之後的表示PHPExcel.php文件的名稱不要後綴名
$objPHPExcel=newPHPExcel();//實例化PHPExcel

$column_key='A'//excel表的每個單元格都是A1,A2,A3....類似的,大寫字母代表列,數字代錶行,那麼第一行就是標題了
foreach($xlsCellas$k=>$v){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($column.Ƈ',$v);//有多少標題列先寫進第一行
$column_key++;//這樣循環的好處就是不用限定有多少列,可以根據你的數據表欄位有多少就導出多少列
}
for($i=0;$i<$newArray_num;$i++){//第一層循環表示多少行
$column_key='A'
for($j=0;$j<$xlsCell_num;$j++){//第二層表示列
$objPHPExcel->getActiveSheet(0)->setCellValue($column_key.($i+2),$newArray[$i][$xlsCell[$j][0]]);//($i+2)表示從第二行開始,第一行已經設置為標題了
$column_key++;
}
}
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
header("Content-Disposition:attachment;filename=$xlsTitle.xls");//attachment新窗口列印inline本窗口列印
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');//Excel5為xls格式,excel2007為xlsx格式
$objWriter->save('php://output');
exit;
}

運行後的效果文件圖

㈣ php獲取指定網頁內容

一、用file_get_contents函數,以post方式獲取url

<?php

$url='http://www.domain.com/test.php?id=123';

$data=array('foo'=>'bar');

$data= http_build_query($data);

$opts=array(

'http'=>array(

'method'=>'POST',

'header'=>"Content-type: application/x-www-form-urlencoded " .

"Content-Length: " .strlen($data) ." ",

'content'=>$data

)

);

$ctx= stream_context_create($opts);

$html= @file_get_contents($url,'',$ctx);

二、用file_get_contents以get方式獲取內容

<?php

$url='http://www.domain.com/?para=123';

$html=file_get_contents($url);

echo$html;

?>

三、用fopen打開url, 以get方式獲取內容

<?php

$fp=fopen($url,'r');

$header= stream_get_meta_data($fp);//獲取報頭信息

while(!feof($fp)) {

$result.=fgets($fp, 1024);

}

echo"url header: {$header} <br>":

echo"url body: $result";

fclose($fp);

?>

四、用fopen打開url, 以post方式獲取內容

<?php

$data=array('foo2'=>'bar2','foo3'=>'bar3');

$data= http_build_query($data);

$opts=array(

'http'=>array(

'method'=>'POST',

'header'=>"Content-type: application/x-www-form-

urlencoded Cookie:cook1=c3;cook2=c4 " .

"Content-Length: " .strlen($data) ." ",

'content'=>$data

)

);

$context= stream_context_create($opts);

$html=fopen('http://www.test.com/zzzz.php?id=i3&id2=i4','rb',false,$context);

$w=fread($html,1024);

echo$w;

?>

五、使用curl庫,使用curl庫之前,可能需要查看一下php.ini是否已經打開了curl擴展

<?php

$ch= curl_init();

$timeout= 5;

curl_setopt ($ch, CURLOPT_URL,'http://www.domain.com/');

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,$timeout);

$file_contents= curl_exec($ch);

curl_close($ch);

echo$file_contents;

?>

㈤ php獲取指定網頁內容

此類方法一共有三種

  1. 第一種方法

<?php

$c = curl_init();

$url = 'www.badcatxt.com';

curl_setopt($c, CURLOPT_URL, $url);

curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($c);
curl_close($c);

$pos = strpos($data,'utf-8');

if($pos===false){$data = iconv("gbk","utf-8",$data);}

preg_match("/<title>(.*)</title>/i",$data, $title);

echo $title[1];

?>

第二種方法:使用file()函數

<?php

$lines_array = file('http://www.badcatxt.com/');

$lines_string = implode('', $lines_array);

$pos = strpos($lines_string,'utf-8');

if($pos===false){$lines_string = iconv("gbk","utf-8",$lines_string);}

eregi("<title>(.*)</title>", $lines_string, $title);

echo $title[1];

?>

第三種方法:使用file_get_contents

<?php

$content=file_get_contents("http://www.badcatxt.com/");

$pos = strpos($content,'utf-8');

if($pos===false){$content = iconv("gbk","utf-8",$content);}

$postb=strpos($content,'<title>')+7;

$poste=strpos($content,'</title>');

$length=$poste-$postb;

echo substr($content,$postb,$length);

?>

閱讀全文

與php導出網頁數據相關的資料

熱點內容
許志安演的電影有哪些 瀏覽:822
odbc文件夾是什麼 瀏覽:391
男主用鐵鏈囚禁女主的小說 瀏覽:913
sift演算法harris演算法 瀏覽:241
python命令行模式 瀏覽:459
新媽媽韓國電影中的輔導老師是誰 瀏覽:389
php郵箱驗證代碼 瀏覽:404
光貓偽裝命令 瀏覽:175
安卓高端機為什麼都用曲屏 瀏覽:419
老電影大全 戰爭片 瀏覽:971
有沒有小電影得網址網站 瀏覽:378
奧特曼電影排行榜前十名 瀏覽:580
安卓光遇賬號過期怎麼找回 瀏覽:476
現金寶寶app在哪裡能下載 瀏覽:277
二戰女教師慰安婦電影 瀏覽:270
傳說對決錄像在哪個文件夾 瀏覽:136
不用充錢就能看電視劇的網站 瀏覽:562
卧式空氣壓縮機 瀏覽:137
合川排課管理系統源碼 瀏覽:439