我有一个奇怪的问题与内部网目录的列表,我搜索了谷歌和stackoverflow一些通知,但没有运气。
这是一个非常简单的ajax调用:function mostra_cartella() {
$.ajax({
url:'risorse/leggi_directory.php',
data: { cliente: document.getElementById("cliente").value,
codice : document.getElementById("codice").value,
root : "/Archivio CAD-CAM/"
},
dataType:"html",
cache:false,
}).done(function(html) {
$("#cartella_file").html(html);
});
}
这是PHP文件返回文件夹列表
header('Content-Type: text/html');
$host = $_SERVER['HTTP_HOST'];
$codice = $_GET['codice'];
$cliente = $_GET['cliente'];
$root = $_GET['root'];
$path = "//".$host.$root.$cliente."/".$codice."</br>";
echo $path;
$path2 = "//192.168.0.10/Archivio CAD-CAM/GD/";
echo $path2;
echo "<div id='listato'>";
echo "<ul id='multi'>";
if($handler = opendir($path)){
while(($file = readdir($handler)) !== false) {
if ($file != "." && $file != "..") {
echo "<li>".$file."</li>";
}
}
}
else {
echo "La directory non è stata trovata o risulta vuota";
}
closedir($handler);
echo "</div>";
echo "</ul>";
?>
</html>
问题是:变量$path和$path2的结果是相同的EVER(这是我的测试)和php页面从ajax调用称为EVER。
第一次尝试:
如果使用$path2变量来创建处理程序,而不是与ajax的数据传递,一切都工作得很好,因为路径已经在PHP文件?(不知道)
第二次尝试:
如果我使用变量$path(与$path2相同的url),由ajax调用的数据组成,不返回任何东西,opendir()无法创建处理程序并给我错误:
警告:opendir(//192.168.0.10/Archivio CAD-CAM/GD/,//192.168.0.10/Archivio CAD-CAM/GD/): in C:'wamp'www'Gestionale Programmi'risorse'leggi_directory.php on line 46
这两种方法的区别是什么?
为什么一个工作,而另一个没有,即使变量$path和$path2有相同的结果?
提前感谢您的帮助
问题可能是因为您在$path
中附加了<br/>