这是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