2013-03-18 176 views
0

我想知道是否有人可以提供幫助,因爲我不確定在哪裏尋找。PHP代碼兼容性

我有一箇舊網站運行在共享服務器上,我幾乎沒有控制 。我有一個腳本在我的其他網站上運行良好,並且希望將其添加到此舊版網站的 ,但它無法正確顯示時間。我所有其他的 網站都運行在PHP 5+上,但是這是我現在發現的 運行PHP 4.4.8的第一個PHP腳本。

因此,我已經將問題縮小到更大的腳本中的功能,並認爲這是不兼容性所在。該代碼基本上將提供的數據 並將其轉換爲天,小時,分鐘&秒。

function time_left ($e_time) { 
    $e_time = strtotime($e_time); 
    $e_time = substr($e_time, 0, 10); 
    $time_stamp = explode("-", date('n-d-Y-H-i-s', $e_time)); 
    $e_time = mktime($time_stamp[3], $time_stamp[4], $time_stamp[5], $time_stamp[0], $time_stamp[1], $time_stamp[2]); 
    $server_time = time(); 
    $diff_time = ($e_time - $server_time); 
    if ($diff_time < 0) $diff_time = 0; 
    unset($time_stamp); 

    # get days remaining 
    $time_stamp[1] = floor($diff_time/60/60/24); 
    if($time_stamp[1] <= 0){$time_stamp[1] = "";} else {$time_stamp[1] .= "d ";} 

    # get hours remaining 
    $time_stamp[3] = floor(($diff_time - $time_stamp[1]*60*60*24)/60/60); 
    if($time_stamp[3] <= 0){$time_stamp[3] = "";} else {$time_stamp[3] .= "h ";} 

    # get minutes remaining 
    $time_stamp[4] = floor(($diff_time - $time_stamp[1]*60*60*24 - $time_stamp[3]*60*60)/60); 
    if($time_stamp[4] <= 0){$time_stamp[4] = "";} else {$time_stamp[4] .= "m ";} 

    return $time_stamp[1] . $time_stamp[3] . $time_stamp[4]; 

} 

任何人都可以發現上述代碼中的任何內容,您認爲這可能與PHP 4.4不兼容?

目前如果我回顯原始時間數據變量,它會以原始形式顯示它,但當它通過上面的功能 時,它不顯示任何內容。正如我所說我沒有任何問題,在運行PHP 5+的服務器上的這種編碼

非常感謝您的任何幫助!

*新增

好吧,我想我已經分離出的問題是什麼,是的strtotime

原始輸入該得到的strtotime是這樣的:2013-03-18T21:38:58.000Z

目前因爲劇本是PHP 4.4下運行,如果我贊同這一點:

$ e_time =的strtotime($ e_time);

它總是返回一個-124的值,但我不知道爲什麼?

+4

您正在創建一個名爲'time'的函數,它與名爲'time'的內置函數衝突。即使這是正確的,你的函數將是無限遞歸的(它在第6行調用'time()')。你確定這個工作正在運行PHP5嗎? – 2013-03-18 20:26:55

+0

@ColinMorelli哈哈不錯。我沒有看到。 – ITroubs 2013-03-18 20:28:05

+0

道歉現在已經編輯,以顯示正確的版本。 – onelove 2013-03-18 20:39:46

回答

2

刪除

unset($time_stamp); 

此行。

不確定爲什麼當你想在之後對其進行操作時將其取消。希望有幫助

+0

不確定是否誠實,因爲它是由別人寫的,但會給你一個嘗試的建議 - 非常感謝。 – onelove 2013-03-18 20:41:07

+0

嘗試過,但遺憾的是仍然無法正常工作 – onelove 2013-03-18 20:44:57

+0

$ e_time的樣本值是多少? – psychobunny 2013-03-18 20:52:51