javascript - 由于 if isset 无法执行函数
问题描述
我正在尝试制作像Monsta FTP这样的网络 ftp 浏览器。目前我正在尝试制作一个将当前目录切换到我单击的目录的功能。
这是它目前的样子:
<?php
if(isset($_POST['file_name'])) {
$file_name = $_POST['file_name'];
ftp_chdir($ftp_conn, $file_name);
echo "<p>".ftp_pwd($ftp_conn)."<p>";
}
// connect to the FTP server
$ftp_server = "xxxxxxxxx";
$ftp_username = "xxxxxxxxx";
$ftp_userpass = "xxxxxxxxx";
$ftp_conn = ftp_connect($ftp_server, 21) or die("Could not connect to $ftp_server");
if ($ftp_conn === false) {
echo "Unable connect to the ftp server.<br>";
} else {
echo "Succesfully connected to the ftp server.<br>";
}
//login to the FTP server
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
if ($login === true) {
echo "Succesfully logged in to the ftp server.";
} else {
echo "Unable to log in to the ftp server.";
}
//get a list of all files and folders
$contents = ftp_nlist($ftp_conn, '/');
echo "<ul>";
for ($i = 0 ; $i < count($contents) ; $i++) {
echo "<li><a href=\"#\" onclick=\"post(this.id);\" id=\"".$contents[$i]."\">".$contents[$i]."</a></li>";
}
echo "</ul>";
// close connection
ftp_close($ftp_conn);
?>
<!DOCTYPE html>
<html>
<head>
<title>FTP file menager</title>
</head>
<body>
<script src="js/jquery.js"></script>
<script src="js/functions.js"></script>
</body>
</html>
JS(functions.js):
function post(vally) {
var name = vally;
$.post('index.php', {file_name:name}, function(data) {});
console.log('posted');
}
当我单击具有文件夹名称的链接之一时,我在控制台中得到“发布”,这意味着 JQuery(我正在使用从jquery.com下载的 JQuery 3.2.1 )发布了数据,但我没有收到任何警报或来自 PHP 的回声。我尝试if ()
在与 ftp 服务器建立连接之前和之后放置,但我仍然一无所获。
有谁知道为什么我的代码不起作用?
解决方案
尝试删除ftp_close($ftp_conn);
,因为它会在加载 js 之前关闭 ftp 连接,因此 php 无法再执行 ftp 命令,除非您在isset()
.
推荐阅读
- python - 图像处理中的方差和梯度之间有什么关系吗?
- python - 如何可视化选择性搜索的分割图像?
- java - 处理服务器响应时减少执行时间?
- react-native-android - 在 Mobx 状态树中更新地图类型模型导致内存泄漏
- javascript - React Native - Jest - Enzyme 抛出 Jest 无法解析错误
- grafana - 警报/Azure 监视器:“tsdb.HandleRequest() 响应错误 &{请求失败状态:400 错误请求 A 0xc001403600 [] [] []}”
- java - 从多个数据源读取,在 Spring 批处理中进行处理和写入
- excel - 优化复制粘贴值的 Excel VBA 宏
- php - 如何在php中删除名称上有特定单词的文件
- mysql - Flask 应用程序中的第二个请求是否有解决“MySQL 连接不可用”的解决方案?