gpt4 book ai didi

javascript - 通过ajax执行位于服务器上的php脚本

转载 作者:行者123 更新时间:2023-11-30 11:56:46 24 4
gpt4 key购买 nike

我在服务器上托管了一个网站,现在我想要的是在有人按下网站中的提交按钮时运行一个 .php 脚本(也位于同一台服务器上)。

以下是ajax代码

$.ajax({url: "/test.php",
success: function(response){
console.log("Success",response);
}
});

我的 test.php 包含

<?php
//exec('sudo -u www-data python /var/www/html/test.py');
echo "PHP Script Ran";
mkdir("/var/www/html/test", 0700);
?>

当我导航到 ip_address/test.php 时,echo 消息正确显示,但 mkdir 命令似乎没有执行,因为没有创建文件夹在我服务器的目录中。

我还想知道,当有人在我的网站上按下提交按钮时,我如何运行这个 test.php 脚本。

Javascript代码是

var $ = jQuery;
var timestamp = Number(new Date());
var form = document.querySelector("form");
var database = firebase.database();
form.addEventListener("submit", function(event) {
var ary = $(form).serializeArray();
var obj = {};
for (var a = 0; a < ary.length; a++) obj[ary[a].name] = ary[a].value;
console.log("JSON",obj);
firebase.database().ref('users/' + timestamp).set(obj);
database.ref('users/' + timestamp).once('value').then(function(snapshot) {
console.log("Received value",snapshot.val());
$.ajax({
url: "/test.php",
success: function(response){
console.log("Success",response);
}
});
});
});

如有任何帮助,我们将不胜感激。谢谢

最佳答案

在这种情况下,建议在 try...catch 函数中使用 mkdir 并捕获错误(如果是这种情况)。

另一方面mkidr将返回一个 bool 值:true 如果目录创建成功或 false 在失败的情况下。

1.版本

try {
mkdir("/var/www/html/test", 0700, true);
} catch ($ex Exception) {
echo $ex->getMessage();
}

2.版本

if (!mkdir("/var/www/html/test", 0700, true)) {
echo 'Failed to create folder...';
}

如果 mkdir 无法创建文件夹,您需要检查两件事:文件夹是否存在以及它是否具有正确的权限。我的意思是,如果用户组设置为 apache(因为 apache,通过网络浏览器正在执行 mkdir 命令),其次如果 apache (www-data) 具有执行此命令的必要权限。

关于javascript - 通过ajax执行位于服务器上的php脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37720024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com