javascript - 尝试生成一个临时txt文件然后将其删除

标签 javascript php post

我有一个网站,我希望用户能够以文本文件的形式下载一些数据,而不将该文件永久保存在我的服务器上。我尝试的方法是使用 JavaScript 发送 POST,使用 PHP 生成并保存文本文件。成功后,JavaScript 将在单独的窗口中打开该文件。几秒钟的延迟后,它将发送一个包含要删除的文件的 POST。

我已经完成了大部分工作,但由于某种原因,当我尝试删除该文件时,我不断收到错误 - 没有这样的文件或目录。我不知道为什么,特别是因为使用测试文件在同一目录中删除效果很好。这是我在 javascript 方面使用的内容:

////CREATE FILE
    function exportGroup() {

$.post("../Modules/Export_Mod/export_mod.php",
{ submit:'export',
  groupIndex: groupSelect.value,
  userRole: 'admin',
  serial: <?php echo $serial;?>
},
function(data,status){

//open created file in new window  
window.open("../Modules/Export_Mod/"+data);

removeExport(data);
});

};



 //////REMOVE FILE   
    function removeExport(filename) {
///After 1 second, send post to delete file
setTimeout(function() {
            $.post("../Modules/Export_Mod/export_mod.php",
            { submit:'removeExport',
                file: filename


            },
            function(data,status){  
            data;

            });
 }, 1000);

}

和我的 PHP:

//I'm creating the file successfully with this
...
$filename = $groupName."_group_export.txt"; 
$content = $header.$dataStr; 
$strlength = strlen($content); 
$create = fopen($filename, "w"); 
$write = fwrite($create, $content, $strlength);
$close = fclose($create); 

但是当我稍后尝试使用此删除第二个(或更多)时:

if (($_POST)&&($_POST['submit']=='removeExport')){

$file = $_POST['file'];

unlink($file);   ///works when using an already-existing file in the same directory ... unlink('test.txt');

}

我收到错误。我想知道的第一件事是我是否以正确的方式处理这个问题。如果没有,有更好的方法吗?然后我想知道的第二件事是为什么我会收到此错误以及我需要更改什么才能使其正常工作。

最佳答案

我会检查服务器权限,看看正在运行的 php 脚本是否能够删除创建的文件。如果你使用的是基于 UNIX 的脚本,我会运行

ls -l /usr/var/

对存储文件的目录执行命令,查看已分配给它们的权限。

关于javascript - 尝试生成一个临时txt文件然后将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43267581/

相关文章:

javascript - CareersController 中的 ActionController::UnknownFormat#create for rails 4

javascript - 无法在 Node js中使用util.format()解析mysql准备好的语句中的整数

javascript - 我们应该何时或如何将参数传递给 URL?

javascript - 将响应 Request.post token 保存在变量中

java - 使用 android 发布数据时出错

javascript - Jquery 变量未设置

javascript - 更新 TodoList 上的项目 Angularfire

php - 自动缩小和缓存CSS

php - 在 PHP 中为多个客户端应用一个或多个数据库

javascript - 在继续之前确保异步 GET/POST 请求已完成