问题描述
我需要为学校项目制作一个文件浏览器。但是当我点击它们打印文件时,这些文件不起作用。我认为连接文件有问题。有人能帮我吗?这是代码:
<?PHP
if (isset($_GET["dir"])) {
$path = $_GET["dir"];
} else {
$path = getcwd();
}
$path = realpath($path);
$all = scandir($path);
$all = array_splice($all,1);
foreach ($all as $file) {
if (strpos($path,getcwd()) === false) {
$path = getcwd() . "\\" . $path;
}
$fullPath = $path . "\\" . $file;
if (is_file($fullPath)) {
echo "<a class='file' href='index.PHP?dir=" . $path . "&file=" . $file . "'>[File] " . $file . "</a><br>";
} else {
echo "<a class='dir' href='index.PHP?dir=" . $fullPath . "'>[C:/xampp/htdocs] " . $file . "</a><br>";
}
}
?>
解决方法
我不明白打印文件是什么意思,如果您的意思是使用浏览器默认显示文件(如图像等),那么您需要使用正确的名称在选项卡中打开文件,但情况并非如此现在。如果文件存在,您正在使用 public int[] sort(int[] unsorted) {
int i,j,v;
for (i = 1; i < unsorted.length; i++) {
v = unsorted[i];
j = i - 1;
while (j >= 0 && unsorted[j] > v) {
unsorted[j + 1] = unsorted[j];
j--;
}
unsorted[j + 1] = v;
}
return unsorted;
}
,但我在您的 php 代码中看不到任何处理此问题的方法。
我建议对代码进行两项更改。
第一,请更改
&file=$file
到 $fullPath = $path . "\\" . $file;
由于 $fullPath = $path . '/' . $file;
,php 函数 //
失败
第二,使用 is_file
代替 [C:/xampp/htdocs]
,这将打印相同的值,但将是特定于操作系统的。