【发布时间】:2012-03-26 09:11:31
【问题描述】:
我有一个星号服务器,它将通话记录放在 /var/spool/asterisk/monitor 目录中。我设法让 Apache (httpd) 显示此目录中所有内容的列表。
我有一个辅助过程,它正在下载这些录音并对其进行处理。完成该过程后,我希望它能够删除它提取的记录。
如果我必须使用 PHP,我可以,但我已经尝试过,但对它的工作知之甚少。我正在尝试下面的代码,我猜它是权限问题或其他什么,但我不知道如何更改 apache 用户以作为更高级别的用户运行(root 可以,是的,我知道后果)。
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php
if($_GET['action'] == 'delete')
{
$myfile = $_GET['filename'];
$path = getcwd();
echo($path . "/" . $myfile);
if(unlink($path . "/" . $myfile))
{
echo('Success!!!');
}
else
{
echo('Failure');
}
}
else
{
echo('doing nothing');
}
?>
</body>
</html>
另一个我可以接受的选项是能够对文件执行 HTTP DELETE 动词并让 Apache 处理它,但我也找不到关于如何设置它的好文章。
这是我在 httpd.conf 文件中的条目
Alias /recordings "/var/spool/asterisk/monitor"
<Directory "/var/spool/asterisk/monitor">
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
请帮忙。
【问题讨论】:
标签: php apache http centos delete-file