我正在做一个页面,用户可以在其中删除他上传的文件。而且我正在尝试删除它,但它似乎不起作用。
首先,我正在创建将包含文件的目录。
我正在这样创建它:
mkdir($filepath , 0777 , true);
创建文件的部分非常完美。回到删除页面,我正在尝试这样做:
unlink("PROOT . 'files' . DS . $dir . DS . $settings->name");
PROOT
是文件的根,因为我正在进行面向对象的编程,并且出于安全原因也正在这样做,所以DS
是分隔符。
来自链接的参数的vardump
看起来像这样的/framework/files/4/peep(2).jpg
,文件的链接看起来像这样的http://localhost/framework/files/4/peep(2).jpg
,我100%确信没有问题PROOT
或DS
。
答案 0 :(得分:1)
有两个问题。
首先,您在连接前后加上引号,这使除$dir
和$settings->name
之外的所有内容都变为文字。
第二,您应该用于根目录的变量是$_SERVER['DOCUMENT_ROOT']
,而不是PROOT
。
应该是:
unlink($_SERVER['DOCUMENT_ROOT'] . 'files' . DS . $dir . DS . $settings->name);