分類:php

讓瀏覽器下載檔案後自動重新整理

0

遇到一個特殊的情況
因為頁面有做 CSRF 的防護,所以當有一些背景動作之後,當前的頁面會因為 CSRF 的問題導致無法運作。
但是頁面中有一個功能是 匯出,所以需要在使用者完成下載檔案的動作之時,必須將頁面重新整理才可以確保不會被 CSRF 陷害。

但是,正常來說在開始送出檔案之後,所有的內容都是檔案內容。
因此無法順利地在使用者完成檔案下載之後才寫重新整理的語法。而如果想要先寫相關設定之後再送出檔案,卻會因為不確定使用者要花費多少的時間才可以完成下載檔案的動作,因此也不是十分容易達成。

後來,在萬能的 stackoverflow 找到了一個神奇的解決方案。
(繼續閱讀…)

WordPress 要拋棄 php 了嗎? 並不會!

0

WordPress 不會拋棄 php!

在今年初的時候,網路上發布了一篇文章 WordPress 4.3 will be rewritten in Node.js ,很快的就被證實為這是一個愚人節新聞。
但這一個年都還沒有過完,官方就發布了 Calypso 這一個專案,一個基於 JavaScript 為基礎製作而成的管理工具 ( 目前僅支援 OSX )。
如果你沒有擁有 MAC 產品也不用擔心,目前 WordPress.com 也讓你使用這新專案的成果來管理你的內容。 (繼續閱讀…)

PHP serialize、json_encode、var_export 序列化的正確性與效率

2

這一篇嚴格上來說與 WordPress 沒有很強烈的相關,但其中要探討的問題,在客製化 WordPress 或是利用 php 開發程式都有很中強烈的關係。

於程式語言當中,我們有 布林值、整數、字串、陣列、物件 等等各式各樣的變數形態可以使用,但當我們要將這變數儲存起來使用的時候,如果你是存在資料庫當中,那缺少了陣列與物件這兩種形態可以使用。如果是要存入檔案當中,那更加的淒慘,因為只剩下字串這一個選項可以選擇了。
也因此就有所謂的序列化這樣的技巧,將各式各樣的變數轉換成文字已利儲存。
不過當一個變數儲存之後,相對的還要再拿來使用,所以可以正確的還原變數也是在選擇的時候很重要的一個基準。

選擇 serialize 會是最容易處理的。
(繼續閱讀…)

經緯度距離計算方法

2

因為一些專案的需求,需要計算兩個 GPS 的點之間的距離。
因此拜 G神 的偉大能力,讓我找到了 經緯度計算距離公式 這一篇文章。

大致上,由兩點的經緯度去算換其距離,就是球面座標的距離計算。
其實這東西以前大學時代就有學過了,不過公式我是已經忘的一乾二淨了。因此還是要在找尋一下資料還解決問題啦。
不過,簡單的正圓球面座標系統的計算法,對於地球來說是有一點點的不正確,因為地球其實是一個橢圓形的物體。不過網路就這麼神奇與偉大的,已經有人 Thaddeus Vincenty 研究出來橢圓球面的計算法 Vincenty’s formulae
(繼續閱讀…)

PHP4 的末日到來了~

0

這樣的標題下的好像很嚴重,但其實也還好啦!
不過就是PHP的官方團隊將停止對 php4 做維護,但是使用中的 php4 依舊可以很順利的運行。

我也只是一個無聊寫寫個人網頁的小小網頁開發者,對php4或php5也沒有深入的研究,當然不知道這樣的停止維護會有什麼樣的衝擊,而我只知道,目前php4的進度是4.4.7,但我的主機商的版本為4.4.4。

而我慶幸的知道,我的網站在php5底下也是可以順利運作的,因為我自己的電腦上的本機測試,使用的是AppServ 2.5.8來完成的,所以php4與5的轉換目前引響不到我。

header Location 的小小注意事項

0

之前的文章中提到過,我自己寫的簡單留言版系統招到廣告文的入侵,我真的很討厭,也小小訝異我這小小的站也會被發文機器人所光顧。
其實這不是我要說的重點啦!重點是我明明有加驗證碼機制,為何還是被入侵呢?
在我無意間的發現,在某些情況下錯誤的驗證碼也是可以繼續執行完程式的,這與我程式設計的流程有關。
(繼續閱讀…)