2016-07-23 118 views
-2

如何使用url路径删除文件? 我PHP-使用域路径删除/取消链接文件

$file_with_path = "http://www.myweb.com/uploads/audio.mp3"; 
if (file_exists($file_with_path)) { 
    unlink($file_with_path); 
} 

我不使用“/uploads/audio.mp3”或类似的目录路径由于一些原因。

在此先感谢!

+1

“绝对路径”表示您__本地___文件系统上的绝对路径,而不是域名。通常使用'$ _SERVER ['DOCUMENT_ROOT']'。 –

+0

我的错,我刚编辑它。 – killertoge

+0

您__不能删除具有域路径的文件。这绝对是__insecure__ –

回答

1

unlink告诉操作系统删除给定的文件。操作系统通过文件系统路径识别文件 - 它不以任何方式与URL进行交互。由网络服务器将URL转换为文件系统路径,这是一个完全不同的软件。虽然理论上有一种方式可以告诉Web服务器删除文件(通过发送HTTP DELETE请求),但没有任何Web服务器会遵守这一点 - 这太不安全了。控制谁可以访问文件系统相对比较容易;控制谁可以向Web服务器发送请求是非常困难的。

总之,你必须弄清楚文件的文件系统路径是什么,并在该路径中使用unlink(和file_exists)。