我正在使用jqueryfiletree在Web服务器上显示文件的文件夹。我也有php来解析csv并在页面上显示它。如何将选定的jqueryfiletree文件传递给页面中的php,以便显示所选的csv?这就是我到目前为止所拥有的:
Javscript:
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.easing.js" type="text/javascript"></script>
<script src="jqueryFileTree.js" type="text/javascript"></script>
<link href="jqueryFileTree.css" rel="stylesheet" type="text/css"
media="screen" />
<script type="text/javascript">
$(document).ready( function() {
$('#fileTreeDemo_1').fileTree({ root: '../data/', script:
'connectors/jqueryFileTree.php' }, function(file) {
alert(file);
var file = "<?php echo $file;?>";
});
});
</script>
</head>
<body>
<h1>Select a file to view</h1>
<div class="menuleftcontent">
<div id="fileTreeDemo_1" class="demo"></div>
</div>
</td><td>
PHP
<div class="maincontent">
<?php
$row = 1;
if (($handle = fopen($file, "r")) !== FALSE) {
echo '<table border="1">';
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
if ($row == 1) {
echo '<thead><tr>';
}else{
echo '<tr>';
}
for ($c=0; $c < $num; $c++) {
//echo $data[$c] . "<br />\n";
if(empty($data[$c])) {
$value = " ";
}else{
$value = $data[$c];
}
if ($row == 1) {
echo '<th>'.$value.'</th>';
}else{
echo '<td>'.$value.'</td>';
}
}
if ($row == 1) {
echo '</tr></thead><tbody>';
}else{
echo '</tr>';
}
$row++;
}
echo '</tbody></table>';
fclose($handle);
}
?>
</div>
答案 0 :(得分:0)
到目前为止我可以看到两个问题。首先,你没有用分号来结束这一行的行:
var file = "<?php echo $file;?>";
(我已添加)。
另外,你的php中没有定义$ file。你不能尝试在javascript中定义它(我担心这是你想要做的事情吗?)。
最佳选择是发出一个AJAX请求,以便您可以将其发送到服务器端并在那里使用(这是您想要的?)。当然,您可以将数据回复到前端。
这是一个粗略的想法:
$('#fileTreeDemo_1').fileTree({ root: '../data/', script:
'connectors/jqueryFileTree.php' }, function(file) {
$.post('myphpfile.php', {file:file}, function(response){
// handle response
});
});
然后在php中,检查if(isset($_POST['file']))
等帖子