Php 当用户访问页面时更改文件扩展名
我有一个页面,比如test.html,我想把它改成test.php,当用户离开页面时,有什么办法吗Php 当用户访问页面时更改文件扩展名,php,jquery,Php,Jquery,我有一个页面,比如test.html,我想把它改成test.php,当用户离开页面时,有什么办法吗 我知道如何使用php使用rename来更改它。但是当用户离开页面时如何调用它?我想到的第一件事是使用beforeunload事件,在浏览器卸载页面以呈现另一个页面之前触发,进行ajax调用并让php完成其余操作 jQuery: window.onbeforeunload = function() { $.post( 'rename-file.php', {
我知道如何使用php使用rename来更改它。但是当用户离开页面时如何调用它?我想到的第一件事是使用beforeunload事件,在浏览器卸载页面以呈现另一个页面之前触发,进行ajax调用并让php完成其余操作 jQuery:
window.onbeforeunload = function() {
$.post(
'rename-file.php',
{file: "this.html"}
).done(response) {
console.log('Response: ' + response);
}
}
PHP:
行吗?这是必须看到的东西
onbeforeunload事件可能不适用于所有浏览器,这是缺点之一
你必须考虑的另一件事是:这真的有必要吗?要将我使用的同一页重命名为另一个扩展名,我知道重命名过程可能不可能,因为服务器使用该文件进行渲染
最后但并非最不重要的一点是安全性,上面的代码只是一个基本示例,但请记住,安全性是幸福的关键。请展示您迄今为止所做的尝试……我认为beforeunload不允许使用AJAX。是的,我在我的一个应用程序中使用了它,它可以工作:p
<?php
$oldname = $_POST['file'];
$newname = str_replace('.html', '.php', $oldname);
if(rename ( $oldname , $newname )) {
echo 'File renamed successfully';
} else {
echo 'File could not be renamed';
}