0

也许我很愚蠢,或者误解了 WAMP 限制或浏览器限制,但我已经使用 scandir 函数递归地使用 Ajax 创建了一个 PHP 文件浏览器视图,它可以很好地显示来自我们的网络共享 (\computername\share) 的文件.

我可以在访问http://localhost时启动文件,但是如果我从同一台 localhost 机器访问 http://[our_external_ip_address] 则文件不会打开。状态栏中的路径在两者上显示相同(例如 file://computername/share/filename.zip)。我最终想将文件放在与我们的 Web 主机位于同一域的网络共享上。

请帮忙。我对 PHP 和 JS 相当称职,但是当涉及到网络主机之类的东西时,我感到很吃力。TIA。

詹姆士

4

1 回答 1

1

非常感谢 DaveRandom - 该解决方案允许从外部 Web 客户端启动来自 UNC 路径的 PDF / Word / Zip 文件。

文件 1: - index.php

<?php
    $filename= *** insert UNC path to file *** // e.g. \\share\computername\New Document.doc
    $extension= pathinfo($filename, PATHINFO_EXTENSION); // Gets extension for file
    $displayFilename= *** insert shorten filename *** // e.g. New Document.doc
?>


<a href="filehandler.php?name=<?php echo $filename; ?>&ext=<?php echo $extension; ?>&shortname=<?php echo $displayFilename; ?>"><?php echo $displayFilename; ?></a>

文件 2:-filehandler.php

<?php
$filename = $_GET['name'];
$extension = $_GET['ext'];
$shortfilename = $_GET['shortname'];
if ($extension == "pdf")
{
    header("Content-type: application/pdf"); // act as a pdf file to browser
}
if ($extension == "doc")
{
    header("Content-type: application/msword"); // act as a doc file to browser
}
if ($extension == "zip")
{
    header("Content-type: application/zip"); // act as a zip file to browser
}
header("Content-Disposition: inline; filename='$shortfilename'"); 

$file = readfile($filename);
echo $file;
?>
于 2012-04-13T09:13:31.157 回答