當前位置:首頁 » 編程語言 » php輸出文件

php輸出文件

發布時間: 2022-07-25 05:13:00

php是怎樣在瀏覽器里輸出內容

1. 我們從未手動開啟過PHP的相關進程,它是隨著Apache的啟動而運行的;2. PHP通過mod_php5.so模塊和Apache相連(具體說來是SAPI,即伺服器應用程序編程介面);3. PHP總共有三個模塊:內核、Zend引擎、以及擴展層;4. PHP內核用來處理請求、文件流、錯誤處理等相關操作;5. Zend引擎(ZE)用以將源文件轉換成機器語言,然後在虛擬機上運行它;6. 擴展層是一組函數、類庫和流,PHP使用它們來執行一些特定的操作。比如,我們需要mysql擴展來連接MySQL資料庫;7. 當ZE執行程序時可能會需要連接若干擴展,這時ZE將控制權交給擴展,等處理完特定任務後再返還;8. 最後,ZE將程序運行結果返回給PHP內核,它再將結果傳送給SAPI層,最終輸出到瀏覽器上。
深入探討
等等,沒有這么簡單。以上過程只是個簡略版,讓我們再深入挖掘一下,看看幕後還發生了些什麼。
1. Apache啟動後,PHP解釋程序也隨之啟動;
2. PHP的啟動過程有兩步;
3. 第一步是初始化一些環境變數,這將在整個SAPI生命周期中發生作用;4. 第二步是生成只針對當前請求的一些變數設置。
PHP啟動第一步
不清楚什麼第一第二步是什麼?別擔心,我們接下來詳細討論一下。讓我們先看看第一步,也是最主要的一步。要記住的是,第一步的操作在任何請求到達之前就發生了。
1. 啟動Apache後,PHP解釋程序也隨之啟動;
2. PHP調用各個擴展的MINIT方法,從而使這些擴展切換到可用狀態。看看php.ini文件里打開了哪些擴展吧;3. MINIT的意思是「模塊初始化」。各個模塊都定義了一組函數、類庫等用以處理其他請求。
一個典型的MINIT方法如下:
PHP_MINIT_FUNCTION(extension_name){
}
PHP啟動第二步
1. 當一個頁面請求發生時,SAPI層將控制權交給PHP層。於是PHP設置了用於回復本次請求所需的環境變數。同時,它還建立一個變數表,用來存放執行過程中產生的變數名和值。
2. PHP調用各個模塊的RINIT方法,即「請求初始化」。一個經典的例子是Session模塊的RINIT,如果在php.ini中啟用了Session模塊,那在調用該模塊的RINIT時就會初始化$_SESSION變數,並將相關內容讀入;3. RINIT方法可以看作是一個准備過程,在程序執行之間就會自動啟動。
一個典型的RINIT方法如下:
PHP_RINIT_FUNCTION(extension_name) {
}
PHP關閉第一步
如同PHP啟動一樣,PHP的關閉也分兩步:
1. 一旦頁面執行完畢(無論是執行到了文件末尾還是用exit或die函數中止),PHP就會啟動清理程序。它會按順序調用各個模塊的RSHUTDOWN方法。
2. RSHUTDOWN用以清除程序運行時產生的符號表,也就是對每個變數調用unset函數。
一個典型的RSHUTDOWN方法如下:
PHP_RSHUTDOWN_FUNCTION(extension_name) {
}
PHP關閉第二步
最後,所有的請求都已處理完畢,SAPI也准備關閉了,PHP開始執行第二步:
1. PHP調用每個擴展的MSHUTDOWN方法,這是各個模塊最後一次釋放內存的機會。
一個典型的RSHUTDOWN方法如下:
PHP_MSHUTDOWN_FUNCTION(extension_name) {
}

② php中輸出文件的絕對路徑

echo $_SERVER['DOCUMENT_ROOT']; //在我的電腦上輸出地是D://website

如果還想輸出名稱 那就這樣寫:
echo $_SERVER['PHP_SELF']; //我電腦上輸出時 /test/a.php

網路一下 php $_SERVER 你可以查看到很多信息。

③ PHP循環輸出指定目錄下的所有文件和文件夾路徑例子(簡單實用)

如果做一個在線的文件管理系統的話,那麼首先必須知道怎麼讀取目錄和文件,其實這個功能幾行代碼就可以實現了。
輸出效果:
實現代碼:
復制代碼
代碼如下:
<?php
$dir
=
"D:/";
//要獲取的目錄
echo
"**********
獲取目錄下所有文件和文件夾
***********<hr/>";
//先判斷指定的路徑是不是一個文件夾
if
(is_dir($dir)){
if
($dh
=
opendir($dir)){
while
(($file
=
readdir($dh))!=
false){
//文件名的全路徑
包含文件名
$filePath
=
$dir.$file;
//獲取文件修改時間
$fmt
=
filemtime($filePath);
echo
"<span
style='color:#666'>(".date("Y-m-d
H:i:s",$fmt).")</span>
".$filePath."<br/>";
}
closedir($dh);
}
}
?>
這只是最基礎的效果,弄懂了,想做出其他的需求也很簡單了。

④ php讀取文件並輸出

直接echo就可以了……
echo file_get_contents($requestUrl);
(各種錯誤處理啥的您自己看著辦吧)

⑤ php怎麼讀取excel 文件數據並輸出

PHPExcel

PHPExcel是用來操作Office Excel 文檔的一個PHP類庫,它基於微軟的OpenXML標准和PHP語言。可以使用它來讀取、寫入不同格式的電子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。

  • PHP讀取示例代碼

//獲取上傳的excel臨時文件
$path=$_FILES["file"]["tmp_name"];
//將臨時文件移動當前目錄,可自定義存儲位置

move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
//將獲取在伺服器中的Excel文件,此處為上傳文件名
$path=$_FILES["file"]["name"];
//調用readExcel函數返回一個
二維數組
$exceArray=readExcel($path);

//創建一個讀取
excel函數
functionreadExcel($path){
//引入PHPExcel類庫
include'Classes/PHPExcel.php';
include'Classes/PHPExcel/IOFactory.php';

$type='Excel5';//設置為Excel5代表支持2003或以下版本,
Excel2007代表2007版
$xlsReader=PHPExcel_IOFactory::createReader($type);
$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly(true);
$Sheets=$xlsReader->load($path);
//開始讀取上傳到伺服器中的Excel文件,返回一個
二維數組
$dataArray=$Sheets->getSheet(0)->
toArray();
return$dataArray;
}

⑥ php讀取文件夾並輸出

<?php
$dir = "./images/"; //要獲取的目錄
echo "********** 獲取目錄下所有文件和文件夾 ***********<hr/>";
//先判斷指定的路徑是不是一個文件夾
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh))!= false){
//文件名的全路徑 包含文件名
$filePath = $dir.$file;
echo "<img src='".$filePath."'/>";
}
closedir($dh);
}
}
?>

⑦ PHP文本文件輸出問題

PHP文本文件輸出,參考如下:
<?php
Header( "Content-type: application/octet-stream ");
Header( "Accept-Ranges: bytes ");
header( "Content-Disposition: attachment; filename=test.txt ");
header( "Expires: 0 ");
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0 ");
header( "Pragma: public ");
echo "測試/r/n";
echo "測試/r/n";
echo 輸入的內容為文本文件的內容。
?>

⑧ php遍歷輸出文件夾下所有txt文件

可以,使用glob函數可以非常容易搞定,支持通配符。

<?php
header('Content-type:text/html;charset=utf-8');
$i=1;
foreach(glob('/file/*.txt')as$txt)
{
echo'第'.$i.'個文件'.basename($txt).'的內容是:';
echofile_get_contents($txt);
$i++;
echo'<hr/>';
}

⑨ 怎麼用php輸出html文件

把你代碼中,echo 背景顏色那裡修改下,引號裡面又包含了引號,還有就是,你確定你有使用fopen打開了一個存在的文檔嗎?下面是可以運行的。

<?php
$f = fopen("test.txt", "r");
while(!feof($f))
{
$line = fgets($f);
$pieces = explode(".", $line);
for ($i=0;$i<count($pieces)-1;$i++)
{
//echo "<pre>".$li++.':'.$pieces[$i].'.'."</pre>";
echo "<table><tr><th bgcolor=318bb0>";
echo $li++.':'.$pieces[$i].'.';
echo "</th></tr></table>";
}
}
?>

⑩ 請問怎麼php輸出一個文檔

<tbody>
<?php
$f=file_get_contents("names.txt");
$a1=explode(PHP_EOL,$f);
forEach($a1 as $v1){
echo "<tr>";
$a2=explode("|",$v1);
forEach($a2 as $v2){
echo "<td>$v2</td>";
}
echo "</tr>";
}
?>
</tbody>

熱點內容
android數字滾動 發布:2025-01-28 10:18:51 瀏覽:565
dag見證伺服器是虛擬ip嗎 發布:2025-01-28 10:07:04 瀏覽:605
dz上傳的圖片不顯示 發布:2025-01-28 09:37:42 瀏覽:887
joinsql多表 發布:2025-01-28 09:23:26 瀏覽:729
php數組循環賦值 發布:2025-01-28 09:23:25 瀏覽:134
android42系統 發布:2025-01-28 09:21:59 瀏覽:902
菜單設計c語言 發布:2025-01-28 09:21:54 瀏覽:274
sql多表查詢優化 發布:2025-01-28 09:21:05 瀏覽:503
iphone6便捷訪問 發布:2025-01-28 09:05:11 瀏覽:177
四位驗證密碼是多少 發布:2025-01-28 08:56:13 瀏覽:809