2012-05-17 125 views
2

我去編輯這個PHP文件 - 它應該在聯繫人表單上生成這些驗證碼安全圖像 - 這些圖像無法正常工作,所以我要查看是否存在破損的路徑或我可以簡單修復的東西。php代碼變成亂碼?

但是,當我打開了它看起來像這樣的文件: http://mydomainsample.com/explosion/screenshots/Screen%20Shot%202012-05-17%20at%209.34.14%20AM.png

完整的胡言亂語。

從服務器下載文件時可能發生了什麼?我最初並沒有通過ftp訪問該站點 - 我們控制了域並將其從一臺主機轉移到另一臺主機。

我使用站點sucker在傳輸前備份網站,但它將php文件下載爲html文件。你最終以filename.php.html。

在過去這從來沒有把php變成難以理解的亂碼,所以我不明白它爲什麼現在做。

+0

我的0.02:這是一個二進制文件,可能是驗證碼圖片。不是你想要編輯的php文件 – Alfabravo

+0

開頭的'%PNG'是一個PNG文件的開始(http://en.wikipedia.org/wiki/Portable_Network_Graphics#File_header) – vimist

回答

2

問題是,你不能使用像「站點吸盤」這樣的程序來獲取PHP文件。這是因爲當你從一個URL獲得一個PHP文件時,該文件是執行,並且你得到腳本的輸出。這就是爲什麼你得到.php.html

它不會「將php變成難以理解的亂碼」,服務器運行腳本並獲得輸出。大多數情況下,輸出是HTML,您可以將其作爲文本打開。在這種情況下,腳本的輸出是一個PNG文件,因此您看到「亂碼」。將文件重命名爲.png,然後您會看到圖像。

您需要需要才能獲得FTP訪問權限以獲取PHP源代碼。

+0

我知道這是一個PNG圖像 - 但是這對我有什麼好處呢? 據我可以告訴絕對沒有,考慮到我不需要圖像本身,我需要PHP來生成它並驗證表單提交。 除非有人能想出讓png圖像對我有利的方式,否則我相信這個線程已經完成。 – timatgetdim

+0

@timatgetdim:對,對不起。您需要ftp(或ssh或其他)訪問服務器來獲取實際的PHP文件。 –

2

這是一個PNG圖像,而不是PHP源代碼。

1

該文件實際上看起來像一個PNG圖像,也許你只是下載了PHP腳本生成的輸出?