用户完全在页面时更改文件扩展名

时间:2015-09-28 17:01:52

标签: php jquery

我有一个页面,例如test.html,我想将它更改为例如test.php,当用户离开页面时,有没有办法这样做?

我知道如何使用重命名来改变它。但是当用户离开页面时如何调用它?

1 个答案:

答案 0 :(得分:0)

我想到的第一件事就是使用beforeunload事件,在浏览器卸载页面之前触发另一个事件,进行ajax调用并让php完成剩下的工作。

jQuery的:

window.onbeforeunload = function() {
    $.post(
        'rename-file.php', 
        {file: "this.html"}
    ).done(response) {
        console.log('Response: ' + response);
    }
}

PHP:

<?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';
}

会起作用吗?这是必须要看的东西......

onbeforeunload事件可能不适用于所有浏览器,这是其中一个缺点。

你必须要考虑的其他事情是:这真的有必要吗?要重新命名我使用的另一个扩展名,因为服务器使用该文件进行渲染,因此知道重命名过程可能是不可能的。

最后但并非最不重要的是,安全性,上面的代码只是一个基本的例子,但请记住,安全是幸福的关键。