我似乎遇到了问题
strpos()
由于某种原因,它总是在不应该返回的时候返回 false
。
这就是问题发生的地方:
if ( strpos( $attachment_url, $upload_dir_paths['baseurl'] ) !== false ) {
//some code here
}
我制作了
var_dump
和 $attachment_url
的 $upload_dir_paths['baseurl']
并比较了这两个值,以确保“针”位于“大海捞针”中,而且事实上确实如此。
var_dump($upload_dir_paths['baseurl']); //needle
var_dump($attachment_url); //haystack
上面
var_dump
的结果:
string(39) "//localhost:3000/wp-content/uploads"
string(67) "//localhost:3000/wp-content/uploads/2016/10/stunning-photograph.jpg"
有谁知道为什么
if
语句总是返回false
?
我认为问题出在变量 $upload_dir_paths['baseurl'] 上。
字符串“//localhost:3000/wp-content/uploads”由 35 个字符组成,与您问题的 39 个字符不同。
我认为有一些“隐藏”字符无法由您的浏览器/终端呈现。
如何解决问题?
也许可以尝试变量 $upload_dir_paths['baseurl'] 上的函数“trim”。应该可以解决问题。