Category Archives: PHP

[PHP]Heredoc string quoting

note一下,不需要使用跳脫字元的字串

output:

My name is " MyName" . I am printing some Foo. Now, I am printing some Bar2. This should print a capital ‘A’: A

Continue Reading

[PHP]file_get_contents取得完整內容

在處理檔案時,有時候會需要抓取整個檔案全部的內容,PHP提供了file_get_contents這個函式可以一次抓取完整檔案內容

因為file_get_conntents的參考路徑是"使用者執行程式的目錄",因此假設寫成工具在global或者是換個目錄執行就會找不到檔案,加入FILE_USE_INCLUDE_PATH參數可以加進該PHP檔案的路徑位置,因此可以從該檔案的原始路徑去參照

另外一般寫一些crawler多少都會用到截取某個網頁某個區塊的功能(使用file_get_contents抓取網頁雖然方便,但是效能與安全性都非常糟,所以建議還是使用curl)

Continue Reading

[PHP]上傳檔案

首先php.ini中有幾點必須注意到的是:

file_uploads 項目是否設定為On(預設)。 upload_max_filesize 為上傳檔案的最大限制。

如果想要使上傳的檔案大小上限增加時,除了將上述的upload_max_filesize加大以外,另外還需要考慮到:

max_execution_time 最大執行時間,預設為30秒。 memory_limit 記憶體限制,預設為8M。 post_max_size POST的資料量限制,預設為8M。

首先需要在html form表單中增加一個enctype="multipart/form-data",

並多加一個hidden元素來控制上傳檔案的大小,

(hidden以Byte為單位)

在input加入multiple屬性就可以一次上傳多個檔案

檔案上傳後會有五種資訊輸出: $_FILES[‘myfile’][‘name’] 這是使用者上傳的原始檔案名稱。 $_FILES[‘myfile’][‘size’] 為檔案大小,單位為Byte。 $_FILES[‘myfile’][‘tmp_name’] 為檔案上傳完畢後於伺服器中暫存的位置。 $_FILES[‘myfile’][‘type’] 為檔案的MIME格式。 $_FILES[‘myfile’][‘error’] 檔案上傳的錯誤代碼。 $_FILES[‘myfile’][‘error’] 錯誤訊息分為四種回傳值: 檔案大小超出 php.ini:upload_max_filesize 限制 檔案大小超出 MAX_FILE_SIZE 限制 檔案僅被部分上傳 檔案未被上傳

上傳檔案時只需要將檔案的副檔名分離出來,再將暫存的檔案複製到想要的路徑就可以了!

Continue Reading

[PHP]開啟及寫入檔案

模式 名稱 功用 r Read 開啟檔案,以供讀取,從檔案開頭開始 r+ Read 開啟檔案,以供讀取及寫入,從檔案開頭開始 w Write 開啟檔案,並寫入(覆寫) w+ Write 開啟檔案,以供讀取及寫入(覆寫) x Cautious write 開啟檔案並寫入,假如檔案已存在,不會開啟開檔,fopen()會回傳false x+ Cautious write 開啟檔案,供讀取及寫入,假如檔案已存在,不會開啟開檔,fopen()會回傳false a Append 開啟檔案,以供新增內容,接續在目前已有的內容之後開始寫入,假如檔案不存在,會建立一個新檔 a+ Append 開啟檔案,以供新增及讀取內容,接續在目前已有的內容之後開始寫入,假如檔案不存在,會建立一個新檔 寫入檔案 讀取檔案

Continue Reading