Php 从网页打开应用程序中的本地PDF(UNC路径)

Php 从网页打开应用程序中的本地PDF(UNC路径),php,html,Php,Html,我有一个网页,可以创建指向本地服务器上Excel&PDF文件的链接。我成功地打开了Excel文件,但是没有打开PDF。请考虑下面的代码: $fileLink = sefs1/Standards/Cable Trays.pdf $fileName = Cable Trays } else if($fileType == "pdf") { echo "<td><a href='file://".$fileLink."'>".$fileName."</a>

我有一个网页,可以创建指向本地服务器上Excel&PDF文件的链接。我成功地打开了Excel文件,但是没有打开PDF。请考虑下面的代码:

$fileLink = sefs1/Standards/Cable Trays.pdf
$fileName = Cable Trays

} else if($fileType == "pdf") {
    echo "<td><a href='file://".$fileLink."'>".$fileName."</a></td>";
}
// Print table
while($queryTableInfo->fetch()){
    $fileType = pathinfo($fileLink, PATHINFO_EXTENSION);
    echo "<tr>";
        // Format the link depending on file type
        if(!empty($fileLink)) {
            if($fileType == "xls" || $fileType == "xlsx" || $fileType == "xlsm") {
                echo "<td><a href='ms-excel:ofe|u|file:///".$fileLink."'>".$standardNum."</a></td>";
 //STACK OVERFLOW ISSUE BEGIN
            } else if($fileType == "pdf") {
                echo "<td><a href='".$fileLink."'>".$standardNum."</a></td>";
 //STACK OVERFLOW ISSUE END
            } else {
                echo "<td>".$standardNum."</td>";
            }
        } else {
            echo "<td>".$standardNum."</td>";
        }
        $filename = 'filename.html';

        //Additional Information
        echo "<td>".$description."</td>";
        echo "<td>".$revNum."</td>";
        echo "<td>".$issueDate."</td>";
    echo "</tr>";
}

$queryTableInfo->close();
$fileLink=sefs1/Standards/Cable Trays.pdf
$fileName=电缆槽
}else if($fileType==“pdf”){
回声“;
}
如何在用户的默认PDF应用程序中打开PDF

编辑:请参见下面代码的扩展:

$fileLink = sefs1/Standards/Cable Trays.pdf
$fileName = Cable Trays

} else if($fileType == "pdf") {
    echo "<td><a href='file://".$fileLink."'>".$fileName."</a></td>";
}
// Print table
while($queryTableInfo->fetch()){
    $fileType = pathinfo($fileLink, PATHINFO_EXTENSION);
    echo "<tr>";
        // Format the link depending on file type
        if(!empty($fileLink)) {
            if($fileType == "xls" || $fileType == "xlsx" || $fileType == "xlsm") {
                echo "<td><a href='ms-excel:ofe|u|file:///".$fileLink."'>".$standardNum."</a></td>";
 //STACK OVERFLOW ISSUE BEGIN
            } else if($fileType == "pdf") {
                echo "<td><a href='".$fileLink."'>".$standardNum."</a></td>";
 //STACK OVERFLOW ISSUE END
            } else {
                echo "<td>".$standardNum."</td>";
            }
        } else {
            echo "<td>".$standardNum."</td>";
        }
        $filename = 'filename.html';

        //Additional Information
        echo "<td>".$description."</td>";
        echo "<td>".$revNum."</td>";
        echo "<td>".$issueDate."</td>";
    echo "</tr>";
}

$queryTableInfo->close();
//打印表
而($queryTableInfo->fetch()){
$fileType=pathinfo($fileLink,pathinfo_扩展名);
回声“;
//根据文件类型格式化链接
如果(!empty($fileLink)){
如果($fileType==“xls”| |$fileType==“xlsx”| |$fileType==“xlsm”){
回声“;
//堆栈溢出问题开始
}else if($fileType==“pdf”){
回声“;
//堆栈溢出问题结束
}否则{
回显“$standardNum.”;
}
}否则{
回显“$standardNum.”;
}
$filename='filename.html';
//补充资料
回显“$description.”;
回显“$revNum.”;
回显“$issueDate.”;
回声“;
}
$queryTableInfo->close();
href中的file://和file:///对我不起作用


Excel链接起作用。PDF链接没有。我还希望在用户的默认PDF应用程序中而不是在web浏览器中打开它。希望这更清楚

我们发现UNC链接到PDF的正确href结构是:

echo "<td><a href='file://///".$fileLink."'>".$standardNum."</a></td>"
echo“”
这就是文件:有五(5)个斜杠。这解决了Internet Explorer和Edge的问题。但是,使用Chrome,您必须让用户在其机器上安装此插件或类似插件:

在Firefox上,我发现没有有效的解决方案可以让它通过“一步安装”和不牺牲站点设计来部署。在我的例子中,这是一个内部网,所以我对用户的机器有一点控制,可以要求它在新机器的下一个操作系统映像中将这个插件烘焙到Chrome中


对于现有的机器,Chrome插件的安装对于任何有经验的用户来说都足够简单。

不是有效的PHP<代码>$error=“基本字符串文字问题”@riggsfully这些变量是从我代码另一个区域的mysqli查询中提取的。您是指我如何在上面快速定义它们,还是我在href中的语法不正确?@SamiAji请注意,我们只能帮助修复我们所看到的内容。如果这不是您的实际代码,那么它没有多大用处。向我们展示伪代码是危险的:)特别是如果您不仔细检查它是否正常:)我会尝试
echo”“