2013-07-26 80 views
1

我試圖比較創建日期和當前日期做一些操作取決於結果,事情是,在我的本地開發過程中,一切都很好,所有工作都像魅力,但是當我將我的腳本上傳到虛擬主機,一切都南下,下面的代碼爲什麼這兩個操作返回相同?

echo $date_modified = date ("F d Y H:i:s.", filemtime($file)); //date of modification of the file 

使我有同樣的結果

echo $current_time = date("F d Y H:i:s."); //the current time 

¿這怎麼可能?爲什麼?。

編輯

更多關於這個問題,我試了又試,調試腳本,我終於發現了,很顯然,服務器正在積極修改文本文件中的PHP腳本創建和放置「空」在文件上,¿是什麼原因?我真的不知道,但似乎這是一個與託管有關的問題,所以我想我將不得不搜索一個新的託管,因爲我真的需要創建的文件能夠緩存一些信息而不會使提供信息的Web服務過載以填充文件。

+0

Linux的兩端,還是主機/ dev環境之間的OS變化? –

+0

Mac開發,另一端是linux。但正如我在編輯上解釋的那樣,這似乎是託管網站的服務器的問題。 –

+0

「將null放在文件上」是什麼意思? –

回答

1

確保$file實際上是一個文件,並且當您嘗試打開它時,您正在使用正確的路徑。

+0

如果'$ file'不存在,'filemtime'將返回false。如果發生這種情況,'$ date_modified'和'$ current_time'將不會保持相同的值('$ date_modified'將包含「1969-12-31」)。 – traq

1

filemtime($file)正在返回上次修改文件的時間(不是「創建」,see docs),這可能是腳本上傳到您的Web主機的時間。

+0

是檢查被認爲是對文件進行修改的文件是否存在的操作? –

+0

沒有。 _「返回正在寫入文件的數據塊的時間,即文件內容發生更改的時間。」 -php.net/filemtime_正如我所說的,雖然,上傳文件(這與向服務器_寫入新文件相同)當然是。 – traq

0

更多關於這個問題,當我嘗試並試圖調試腳本,我終於發現我的腳本不是問題,顯然,服務器正在主動修改php腳本創建和放置的文本文件'null'在文件上,¿是什麼原因?我真的不知道,但似乎這是一個與託管有關的問題,所以我想我將不得不搜索一個新的託管,因爲我真的需要創建的文件能夠緩存一些信息而不會使提供信息的Web服務過載以填充文件。

我很抱歉浪費你的時間:/,我真的是。

相關問題