【问题标题】:Some images among thousands return 403 Forbidden数千张图片中的一些图片返回 403 Forbidden
【发布时间】:2017-08-08 15:00:22
【问题描述】:

当从服务器下载大量图片(通过cURL / file_get_contents)时,大约 99% 的图片可以在网站上流畅显示,但其中有少数(超过 15k 的图片中大约有 15-20 张)不要出现。相反,它们会返回 403 Forbidden 错误。

所有文件和文件夹的权限都设置为777,但没有任何变化。

有其他人遇到过同样的问题并且能够解决吗?

【问题讨论】:

  • 文件名有什么奇怪的 - 例如,/或\或?或其他可能被文件名 - > URL - >文件名翻译所困扰的东西?
  • 相同的图像总是返回 403 还是随机的?
  • @ManuelOtto 总是相同的图像。但这很奇怪,因为我试图删除图像并手动重新加载它,重命名它但它总是相同的 403。
  • @manassehkatz 我刚刚仔细检查了文件名,它们似乎与其他所有完美运行的图片相同。
  • 这个问题似乎与编程无关。它可能更适合Webmasters Stack Exchange,尽管没有更多信息,他们也可能无法回答。

标签: php html image http-status-code-403


【解决方案1】:

您可以尝试创建一个返回文件内容的 php 脚本

<?php
$file = file_get_contents("path/to/file");
//You can add headers using header("..."); for make sure that images will works. 
//var_dump($file);exit; // uncomment to check is it even loading #debug
die($file);

【讨论】:

  • var_dump($file) 打印 bool(false)
  • 函数返回读取数据,失败返回FALSE。因此,您的文件路径错误或无权读取数据。您应该检查路径的来源(如果您使用的是数据库,那么可能某些行的数据有误)(或者文件的内容是“false”=>那么您将得到一个字符串“false”作为结果)
【解决方案2】:

403张图片的文件名都包含在“聊天”这个词中。这就是服务器返回 403 Forbidden 的原因。 希望有人觉得它有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 2011-01-05
    • 1970-01-01
    相关资源
    最近更新 更多