由于if isset而无法执行功能

问题描述 投票:0回答:1

我正在尝试制作一个像Monsta FTP这样的Web ftp资源管理器。当前,我正在尝试创建一个将当前目录切换到我单击的目录的功能。

这是当前的样子:

This is how I currently looks likePHP(index.php):

<?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的任何警报或回声。我尝试在建立与ftp服务器的连接之前和之后放置if (),但仍然无济于事。

有人对我的代码为什么不起作用有任何想法吗?

javascript php jquery ftp
1个回答
0
投票

[尝试删除ftp_close($ftp_conn);,因为它会在js被放置之前关闭ftp连接,因此php无法再执行ftp命令,除非您在isset()中打开ftp连接。

© www.soinside.com 2019 - 2024. All rights reserved.