New Ribbon
用Canva設計超快超質感(第2版):商業設計、簡報、影片、網頁、電子書與AI應用最速技 AI繪圖工具 × AI視覺設計平台,從圖像生成到專業設計! 最強職場助攻!ChatGPT + AI 高效工作術 短影音制霸:打造TikTok、YT Shorts、IG Reels成功方程式與AI高效創作力 Canva+AI創意設計與品牌應用250招:從商業技巧、社群祕技到AI圖文影音特效 快快樂樂學威力導演2024.影音剪輯與AI精彩創作 Power Automate自動化超效率工作術 Midjourney AI圖像魔導書:搭配ChatGPT魔法加倍 超人氣FB+IG+LINE社群經營與行銷力(第二版) 翻倍效率工作術:不會就太可惜的 Excel × ChatGPT 自動化應用 AppInventor2零基礎入門班中文版(第六版) Python零基礎入門班(第四版) C語言學習聖經 用Canva設計超快超質感:平面、網頁、電子書、簡報、影片製作與AI繪圖最速技 PHP8/MySQL網頁程式設計自學聖經 翻倍效率工作術 - 不會就太可惜的Power BI大數據視覺圖表設計與分析(第三版) 社群經營一定要會的影音剪輯與動畫製作術 Notion高效管理250招:筆記×資料庫×團隊協作,數位生活與工作最佳幫手 Office 2021高效實用範例必修16課(附500分鐘影音教學/範例檔) Excel自學聖經(第二版):從完整入門到職場活用的技巧與實例大全

 

  挑戰php第9章的問題

kay

kay
更新時間:2009/4/25 上午 08:57:57

 

第一:
在php_file8中為什麼會顯示「.」、「..」的資料夾 ?
第二:
關於file函數的狀態指標解釋可否再多一點,尤其是,當設為1時,會將<php.ini>檔中……「include_path」……」?
第三:
對於flock中LOCK_NB的解釋不太懂,尤其是「若已被鎖定則不等待跳過」。
第四:
在php_file18中
我試過不加'b',結果也是可以,為什麼?
還有,請問filesize()中參數是檔名,還是路徑?
第五:
fpassthur()函式,不是說回傳值為byte嗎?但是在17例子中,為什麼用 fpassthru($filename);就會讀出文字,還有,為什麼不需要用echo呢?

文淵閣工作室

文淵閣工作室
更新時間:2009/4/27 上午 10:23:05

 

Q1:
在php_file8中為什麼會顯示「.」、「..」的資料夾 ?
A1:
請參考 9-14 頁中的註,這二個代表相對路徑的資料夾。

Q2:
關於file函數的狀態指標解釋可否再多一點,尤其是,當設為1時,會將<php.ini>檔中……「include_path」……」?
A2:
include_path 的設定類似系統中規定一些特定路徑,在執行命令或檔案時若在目前的目錄下找不到時,一定要去找的目錄。例如我們在 Windows 的命令列中下 「dir」 的指令,無論在哪個資料夾或位置執行,都一定會執行,因為 dir 的指令的路徑已經包含在 Windwos 所指定要搜尋的目錄中。回到 PHP,若您有在 php.ini 設定某一個路徑為必要搜尋的路徑,即將路徑加在 php.ini 的 include_path 設定中(要注意的是,若有多個路徑 在 UNIX 下用冒號分隔,在 Windows 下用分號分隔。),在使用 file() 的狀態指標可以設為 1,也就是指定的檔案在目前的資料夾找不到時,也會進入 include_path 所指定的路徑中找尋。

Q3:
對於flock中LOCK_NB的解釋不太懂,尤其是「若已被鎖定則不等待跳過」。
A3:
即發現所要處理檔案已遭鎖定,則跳過往下執行。

Q4:
在php_file18中
我試過不加'b',結果也是可以,為什麼?
還有,請問filesize()中參數是檔名,還是路徑?
A4:
1.fopen 中對於指定檔案為二進市與文字檔的功能,只有在二進制和文字檔之間有差異的系統才有用。自 PHP 4.3.2 起,對所有區別二進制和文本模式的平台預設模式都被設為二進制模式。但是為了能全面考量移植時會出現的問題,官方手冊強烈建議在用 fopen() 打開文件時總是使用 b 來標記。
2.filesize()中參數為路徑,我們使用檔名表示檔案與程式頁同一路徑。


Q5:
fpassthur()函式,不是說回傳值為byte嗎?但是在17例子中,為什麼用 fpassthru($filename);就會讀出文字,還有,為什麼不需要用echo呢?
A5:
fpassthur()一執行即會將指定檔案的內容顯示在頁面上,在範例中並沒有回傳,是直接執行而顯示結果,所以不用 echo。
而 stream_get_contents() 執行後結果不會馬上顯示在頁面上,而是將結果回傳,所以我們必須使用 echo 將結果顯示在頁面上。




 

 

Re:挑戰php第9章的問題

請輸入姓名。

已超出字元數目的最大值。


請輸入電子郵件。

格式無效。


請輸入內容。