PHP根据完整的URL检查我的服务器上是否存在文件

时间:2010-03-16 20:41:53

标签: php

我有一个应用程序,可以生成存储在我服务器上的目录中的PDF文件形式的发票。在邮寄这张发票之前,我想确保我存储在我的数据库中的URL(不是服务器路径)确实指向一个有效的PDF文件。

在db中为该字段写入一个值可能会出错,但是例如缺少文件名;意味着该文件不在指定的目录中。

AFAIK file_exists只检查服务器路径,但不检查URL。

我总是可以存储服务器路径,或者组装它,但我想知道我是否可以根据以文件名结尾的完整http url进行检查?

编辑:是的CURL也发生在我身上,但对于这么简单的任务来说,这似乎并不重要吗?也许我应该只存储服务器路径。

3 个答案:

答案 0 :(得分:0)

您可以通过打开网址using PHP+cURL as described here来验证请求,并检查返回的HTTP状态代码。

答案 1 :(得分:0)

您可以使用以下内容:

$file = 'http://mysite.co.za/files/invoice.pdf';
$file_exists = (@fopen($file, "r")) ? true : false;

在尝试检查网址上是否存在图片

时为我工作

答案 2 :(得分:-2)


您可以使用 file_get_contents() fopen()

功能