我正在使用 (unlink($_GET['videofile'])) 它在开发服务器上工作正常但在生产环境中不起作用

I'm using (unlink($_GET['videofile'])) and it works fine on dev server but in prod won't work

您好,我正在加载 table 服务器文件夹中的文件,每一行都有一个 "Delete" link,单击时,它应该 unlink/remove 文件从服务器。该代码在我的开发服务器上运行得非常好,但是,在生产环境中它不起作用。我检查了所有代码,代码似乎没有任何区别。我不确定我的生产服务器上是否遗漏了一些与权限相关的东西,但是当我点击 "delete" 时,文件根本没有被删除。它运行下面的函数,就好像它正在执行一样,但文件仍然存在。

addfile.php 包含:

if (unlink($_GET['videofile'])) {};

javascript函数

function deleteVideo(file_path)
    {  
        var r = confirm("Are you sure you want to delete this Video?");
        var j = document.getElementById('vid').value;
        if(r == true)

        {
            $.ajax({
              url: 'addfile.php',
              data: {'videofile' :  file_path },
              success: function (response) {
                 alert('Your file has been removed');
                 showVideos(j);

              },
              error: function () {
                 alert('There was an error removing the file, please try again');
              }
            });
        }
    }   

"delete" link 看起来像:

 deleteVideo("videopath")

在您的生产服务器中,检查您的 httpd 服务器是否具有写入视频文件夹的权限。

注意允许取消链接文件的路径,这可能非常危险。相反,在数据库中注册您的视频路径,然后仅将视频 ID 传递给函数。此外,请确保您的用户根据您的业务规则仅删除他可以删除的视频。