更新:此问题已解决,我的问题是错字。我正在做的事情的概念是正确的。
我检查首次显示页面时是否退出图像。打印出来:
private
当我第一次加载页面并使用HTML编写php时,此代码可以正常工作。
但在其他情况下,当我执行jQuery if (@file_get_contents($url) != false)
{
// show URL
}
else {
// Show Placeholder Image
}
或.post
调用(基本上是ajax)时,执行上面的文件检查总是失败。我打印出了URL,它指向正确的文件(我可以通过解除错误来解决这个问题)。现在,url是一个与被调用的原始文件不同的域,因此不确定它是否是跨域问题(它也是属于我的网站,因此我可以完全访问这些文件)。
由于ajax,此代码无效吗?跨域?别的什么?
此外,我尝试过.get
,file_exists
和getimagesize
也无济于事。
编辑:
以下是未消除错误时的消息:
警告:
cUrl
[function.file-get-contents]:无法打开流:HTTP请求失败!在第352行没有找到HTTP / 1.1 404
答案 0 :(得分:1)
如果PHP在这种情况下失败了,请尝试使用jQuery来实现相同的结果。 SO上还有另一个答案,它有一个小功能就是:它检查url是否指向现有文档或文件,并返回其HTTP代码。
https://stackoverflow.com/a/9377204/536425
使用async: false
和async: true
同时尝试,并查看哪一个为您完成工作。