2012-06-02 138 views
-2

更改圖像文件擴展名是否「好」?使用PHP更改文件擴展名

例如,我有一個jpg文件輸入,我將它更改爲png。這是好的還是應該把它作爲jpg?我使用rename()來更改名稱和文件擴展名。

它與PHP有關,因爲我使用上傳腳本使用PHP進行重命名。

另一個問題是:它可以安全地做到這一點,例如文件可能會損壞嗎?

回答

3

將圖像文件擴展名從.jpg更改爲.png不會將其更改爲PNG文件。它只是改變文件的名稱。這根本不會改變文件的內容,所以它不會被破壞。它只會改變它的名字。

+0

感謝您的幫助,我認爲這是事實,但我認爲最好檢查一下 – ryanc1256

2

將文件名保留爲適當的擴展名,否則會混淆每個人,包括你自己。

不,文件不會變壞...文件名就是名稱。

決不允許用戶指定系統上文件的名稱。無論他們上傳什麼,都將其重命名爲沒有擴展名的文件,並將這些文件存儲在Web服務器的文檔根目錄之外。你不希望他們上傳.php腳本,而不是。

+0

還行。他們無法上傳除圖像以外的任何內容,因爲我在將其過濾到任何PHP文件之前通過JavaScript進行過濾,只是爲了安全起見,就像您所說的那樣。 – ryanc1256

+1

您的JavaScript毫無意義。它執行客戶端。 – Brad

+0

是的,但它並沒有對文件做任何事情,他們唯一可以上傳一個PHP腳本的時間是通過ftp,這是一個可行性,但除我以外沒有人知道它的密碼。 – ryanc1256

0

更改文件擴展名只是重命名它。該擴展僅用於定義文件包含的數據類型。

將JPEG文件重命名爲PNG是一個非常糟糕的主意。雖然有些圖片瀏覽者可能仍然能夠發現您的PNG實際上是JPEG並正確查看,但其他人則不會。

使用ImageMagickGD 2在PHP中執行任何圖像轉換。