Javascript 如何检查pdf文件是否存在?

Javascript 如何检查pdf文件是否存在?,javascript,php,jquery,pdf,Javascript,Php,Jquery,Pdf,我正在尝试检查arXiv中是否存在pdf文件。有两个例子 第一个是pdf文件,第二个不是,返回一个 有没有办法检查url是否为pdf格式。我在中尝试了这些答案,但是它们都不起作用,并且两个URL都返回true(即文件存在)。有没有办法找到哪个url是JavaScript/jQuery甚至PHP中的pdf文件 使用PHP可以解决这个问题吗?使用PHP,您可以检查文件是否存在 对于远程文件,请检查请求的标头 您可以使用此代码通过Url检查远程服务器文件是否存在 您可能需要使用并检查200,即:

我正在尝试检查arXiv中是否存在pdf文件。有两个例子

第一个是pdf文件,第二个不是,返回一个

有没有办法检查url是否为pdf格式。我在中尝试了这些答案,但是它们都不起作用,并且两个URL都返回true(即文件存在)。有没有办法找到哪个url是JavaScript/jQuery甚至PHP中的pdf文件


使用PHP可以解决这个问题吗?

使用PHP,您可以检查文件是否存在

对于远程文件,请检查请求的标头

您可以使用此代码通过Url检查远程服务器文件是否存在

您可能需要使用并检查
200
,即:


它返回正确的结果

function getHTTPCode($url) {

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, true);   
    curl_setopt($ch, CURLOPT_NOBODY, true);   
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_TIMEOUT,10);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)');
    $output = curl_exec($ch);
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    return $httpcode;
}


@user3741635远程服务器文件检查,我建议您始终在服务器端进行。您的答案和我的答案有什么主要区别?复制我的答案并不酷。除了浏览器代理之外,它似乎是一样的。如果我知道已经有卷曲解,我就不会发布我的答案。您在我测试我的答案时发布了您的答案。您应该在发布之前进行检查。@PedroLobito,我认为您的答案不起作用,因为它对两个URL都返回false。应该是这样的,两个PDF都有403状态码。看起来像。htaccess正在重写所有请求,并且没有设置错误页,所以。。。所有请求将收到200个答复。。。在浏览器中尝试。。。然后,您可以解析响应以查看它是否是html。。。如果不是,那么它可能是你的pdf。
<?php

$url = 'http://arxiv.org/pdf/1207.41021.pdf';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, true);    // we want headers
curl_setopt($ch, CURLOPT_NOBODY, true);    // we don't need body
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); // we follow redirections
curl_setopt($ch, CURLOPT_TIMEOUT,10);
$output = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);


if($httpcode == "200"){
    echo "file exist";
}else{
    echo "doesn't exist";
}
function getHTTPCode($url) {

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, true);   
    curl_setopt($ch, CURLOPT_NOBODY, true);   
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_TIMEOUT,10);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)');
    $output = curl_exec($ch);
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    return $httpcode;
$url = 'http://arxiv.org/pdf/1207.41021.pdf';
if(getHTTPCode($url)==200) {
 echo  'found';
} else {
 echo  'not found';
}