A. php替換回車換行符的三種方法
目錄
小小的回車換行,在不同的平台有著不同的實現。
為什麼要這樣,世界是多樣的!
所以,程序在不同的平台上,需要作不同的處理來替換 回車換行 符。
下面介紹3種PHP中替換 回車換行 的方法,
注意, 最後一種 才是最優最方便的哦~~~
這種方式 效率最差 。
這種方式效率其次,不過寫法略長。
這里不得不重新看一下PHP的 預定義常量 ,
PHP_EOL 就是其中的一個,代表PHP的換行符,
這個常量會根據平台不同而不同,在Windows下是 ,linux下是 ,而Mac下是
所以,最優方法就是:
參考資料:
B. php獲取指定網頁內容
此類方法一共有三種
第一種方法
<?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);
?>
C. php定時執行任務的幾個方法
PHP定時執行的三種方式實現
1、windows 的計劃任務 2、linux的腳本程序 3、讓web瀏覽器定時刷新
具體實現
1、windows計劃任務
PHP很少在win伺服器上跑,具體實現也不再深究,看網上實現的原理大概是寫bat腳本,然後讓window任務添加執行這個bat腳本。
2、linux 的腳本實現
這里主要使用到crontab這個命令,
使用方式 :
復制代碼 代碼如下:crontab filecrontab [ -u user ] [ -u user ] { -l | -r | -e }
說明 :
crontab是用來讓使用者在固定時間或固定間隔執行程式之用
使用crontab寫shell腳本,然後讓PHP調用shell,這個是利用linux的特性,應該還不算PHP自身語言的特性
3、PHP實現定時執行計劃任務
使用php讓瀏覽器刷新需要解決幾個問題
PHP腳本執行時間限制,默認的是30m 解決辦法:set_time_limit();或者修改PHP.ini 設置max_execution_time時間(不推薦)
如果客戶端瀏覽器關閉,程序可能就被迫終止,解決辦法:ignore_user_abort即使關閉頁面依然正常執行
如果程序一直執行很有可能會消耗大量的資源,解決辦法使用sleep使用程序休眠一會,然後在執行
PHP定時執行的代碼:
<?php ignore_user_abort();//關掉瀏覽器,PHP腳本也可以繼續執行. set_time_limit(3000);// 通過set_time_limit(0)可以讓程序無限制的執行下去 $interval=5;// 每隔5s運行 //方法1--死循環 do{ echo '測試'.time().'<br/>'; sleep($interval);// 等待5s }while(true); //方法2---sleep 定時執行 require_once './curlClass.php';//引入文件 $curl = new httpCurl();//實例化 $stime = $curl->getmicrotime(); for($i=0;$i<=10;$i++){ echo '測試'.time().'<br/>'; sleep($interval);// 等待5s } ob_flush(); flush(); $etime = $curl->getmicrotime(); echo '<hr>'; echo round(($etime-stime),4);//程序執行時間
測試的時候發現這個效率並不是很高。
總結:
個人感覺PHP定時執行任務的效率不是很高,建議關於定時執行任務的工作還是交給shell來做吧。
D. 淺談PHP跳轉頁面(重定向)的3種方法
用戶登錄功能時往往需要重定向頁面,那麼在PHP中如何重定向頁面?下面本篇文章給大家介紹三種重定向網頁跳轉頁面的方法。
第一種:利用header()函數進行重定向,這也是我用的較多的。(注意!locationhe和「:」之間不能有空格,否則無作用!)
第二種:利用HTML 頭部中的 meta標簽,定義http-equiv=refresh 和content=」跳轉花費的時間(秒為單位);url=跳轉地址」
或者
第三種:利用javascript進行跳轉
推薦學習:《 PHP視頻教程 》
E. php怎樣讀取excel表格內容
常用的用PHP讀取EXCEL的方法有以下三種,各自有各自的優缺點。個人推薦用第三種方法,因為它可以跨平台使用。x0dx0ax0dx0a1. 以.csv格式讀取x0dx0ax0dx0a將.xls轉換成.csv的文本格式,然後再用PHP分析這個文件,和PHP分析文本沒有什麼區別。x0dx0ax0dx0a優點:跨平台,效率比較高、可以讀寫。x0dx0ax0dx0a缺點:只能直接使用.csv的文件,如果經常接受.xls二進制文件的話需要手工轉換,不能自動化。一個文件只有一個SHEET。x0dx0ax0dx0aPHP有自帶的分析.csv函數:fgetcsvx0dx0ax0dx0aarray fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )x0dx0ax0dx0ahandle 一個由 fopen()、popen() 或 fsockopen() 產生的有效文件指針。x0dx0ax0dx0alength (可選)必須大於 CVS 文件內最長的一行。在 PHP 5 中該參數是可選的穗亮爛。如果忽略(在 PHP 5.0.4 以後的版本中鍵頃設為 0)該參數的話,那麼長度就沒有限制,不過可能會影響執行效率。x0dx0ax0dx0adelimiter (可選)設置欄位分界符(只允許一個字元),默認值為逗號。x0dx0ax0dx0aenclosure (可選)設置欄位環繞符(只允許一個字元),默認值為雙引號。該參數是在 PHP 4.3.0 中添加的。 和 fgets() 類似,只除了 fgetcsv() 解析讀入的行並找出 CSV 格式的欄位然後返回一個包含這些欄位的數組。x0dx0ax0dx0afgetcsv() 出錯時返回 FALSE,包括碰到文件結束時。x0dx0ax0dx0a注意: CSV 文件中的空行將被返回為一個包含有單個 null 欄位的數組,不會被當成錯誤。x0dx0ax0dx0a當然也可以自己手動分析字元串。x0dx0ax0dx0a還可以利用fputcsv函數將行格式化為 CSV 並寫入文件指針。x0dx0ax0dx0a2. ODBC鏈接數據源x0dx0ax0dx0a優點:支持多種格式,cvs, xls等。支持讀寫,使用標准SQL語言,和SQLSERVER、MYSQL資料庫幾乎完全一樣。x0dx0ax0dx0a缺點:值支持windows伺服器x0dx0ax0dx0a3. PHP自定義類x0dx0ax0dx0a優點:跨平台。某些類支持寫操作。支持.xls二進制文件x0dx0ax0dx0a常用的類有phpExcelReader、PHPExcel。其中後者支持讀寫,但是需要php5.2以上版本。x0dx0ax0dx0aphpExcelReader是專門用來讀取文件的。返回一個數組,包含表格的所有內容。x0dx0ax0dx0a該 class 使用的方法可以參考網站下載回來的壓縮檔猜漏中的 example.php。x0dx0ax0dx0a不過我下載回來的 (版本 2009-03-30),有兩點要注意:x0dx0ax0dx0areader.php 中的下面這行要修改x0dx0ax0dx0a將 require_once 『Spreadsheet/Excel/Reader/OLERead.php』;x0dx0ax0dx0a改為 require_once 『oleread.inc』;x0dx0ax0dx0aexample.php 中x0dx0ax0dx0a修改 $data->setOutputEncoding(』CP1251′);x0dx0ax0dx0a為 $data->setOutputEncoding(』CP936′);x0dx0ax0dx0aexample2.php 中x0dx0ax0dx0a修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));x0dx0ax0dx0a為 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));x0dx0ax0dx0a不然中文會有問題。x0dx0ax0dx0a繁體的話可以修改為CP950、日文是CP932,具體可參考codepage說明。x0dx0ax0dx0a修改 $data->read(』jxlrwtest.xls』) 為自己的 excel 文件名,zip 檔中附的 jxlrwtest.xls 應該是壞了。