這是WordPress Answers上Why doesn't update_post_meta work for certain strings?問題的變體。我把它帶到了這裏,因爲我懷疑這更像是一個純粹的PHP問題,而不僅僅是一個WordPress問題。這兩個PHP字符串分配有什麼不同?
我的問題是根據各地的下面的代碼:
$upload = wp_handle_upload ($_FILES [WPSM_MAIL_META_ATTACHMENT], array ('test_form' => false));
$path = 'C:\xampp\htdocs\wordpress/wp-content/uploads/2011/12/ReSharper-6.1-License.txt';
var_dump($path);
$path = $upload['file'];
var_dump($path);
die();
update_post_meta (34, WPSM_MAIL_META_ATTACHMENT, $path);
的update_post_meta
呼籲更新後在WordPress數據庫中的WPSM_MAIL_META_ATTACHMENT
列中沒有。 34.第2行中的字符串文字賦值給出的$path
與第4行中的數組成員賦值完全相同,但代碼原樣,WPSM_MAIL_META_ATTACHMENT
列更新爲空字符串。如果我註釋掉第4行,因此僅使用文字賦值,WPSM_MAIL_META_ATTACHMENT
列將更新爲正確的文件路徑值。
我只能想象,分配給$path
的兩個不同的字符串在某些方面有所不同,我用我的noob調試工具var_dump
和die
不可見。我如何才能診斷上述兩種情況之間的差異?或者,作爲妥協,我能做些什麼來修改$path = $upload['file']
任務,以便得到與字面賦值相同的結果?
在瀏覽器窗口中的輸出這個代碼後執行是完全如下,轉載的是,在同一行,富達的緣故:
string(78) "C:\xampp\htdocs\wordpress/wp-content/uploads/2011/12/ReSharper-6.1-License.txt" string(78) "C:\xampp\htdocs\wordpress/wp-content/uploads/2011/12/ReSharper-6.1-License.txt"
你打算在$混合斜線測試值路徑變量? – scunliffe 2011-12-17 04:48:53