2011-06-29 57 views
0

給出可能重複:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select警告:SUBSTR()預計參數1是字符串數組中

我試圖用the second function in this post檢查一個網址是PHP中的圖像。我得到它在我的家用電腦上運行WAMP,但是當我上傳到我的虛擬主機,它給了我兩個錯誤:

Warning:substr()期望參數1是字符串,數組給定在.../checkifimage上線22 .PHP

警告:SUBSTR()預計參數1是串,資源在.../checkifimage.php給出在第22行

+3

嘗試的var_dump看到什麼是$ wrapper_data [$ HH] –

+2

你應該做的var_dump()你最好的朋友,這是我的 – Gerep

+0

這給了我這樣的: 陣列(0){} 警告:SUBSTR() (4)類型(流) 警告:substr()期望參數1是字符串,資源給定在... /第24行 資源(4)類型(流) 預期參數1是字符串, checkifimage.php on line 24 (http://codepad.org/KI8GIuly) 這對我來說毫無意義。 – ahota

回答

2

stream_get_meta_data返回的數組中的條目wrapper_data被定義爲混合,我不認爲你可以假設它會包含。它可能包含空項或其他陣列...因爲你明確地想找到可能的字符串:

if(is_array($wrapper_data)){ 
    foreach(array_keys($wrapper_data) as $hh){ 
     if (is_string($wrapper_data[$hh]) && 
      substr($wrapper_data[$hh], 0, 19) == "Content-Type: image") // strlen("Content-Type: image") == 19 
     { 
     fclose($fp); 
     return true; 
     } 
    } 
} 

會照顧的問題...但我同意的var_dump(),看看究竟你正在什麼通過將幫助你弄清楚。

相關問題