我正在尝试使用unlink在PHP中删除照片。我以前在其他服务器上使用过它,但这次不起作用。我已经为测试使用了绝对路径,但仍然不起作用:
我使用的代码如下: unlink('img1.jpg');
unlink('http://www.mysite.com/img1.jpg');
请问有没有类似的经历?
ulink函数不允许使用URL
请使用这个:
最好且更加安全的方式是使用绝对路径。但您可以动态获取此路径。
例如,使用:
getcwd();
$deleteImage = getcwd() . 'img1.jpg';
unlink($deleteImage);
请检查这个
bool unlink ( string $filename [, resource $context ] )
and
文件名
文件路径。
因此,它只接受字符串形式的文件名。
请确保文件在您执行脚本的位置可通过路径访问。这对于绝对路径不是问题,但使用相对路径可能会造成问题。
unlink($fileName);
对我来说失败了。
然后我尝试使用realpath($fileName)
函数,如下unlink(realpath($fileName));
它起作用了。
只是为了发布,以防有人发现它有用。
或者chmod o+rwd img1.jpg
为其他用户授予写入(和删除)权限。chmod 777 img1.jpg
use filesystem path,
define("WEB_ROOT",substr(dirname(__FILE__),0,strlen(dirname(__FILE__))-3));
检查文件是否存在,如果存在则删除该文件。
$filename=WEB_ROOT."img1.jpg";
if(file_exists($filename))
{
$img=unlink(WEB_ROOT."img1.jpg");
}
你正在使用URL而不是路径,这是正确的做法... 我假设你正在将图片上传到public_html。我建议你为图片创建一个文件夹。
unlink("public_html/img1.jpg");
在编写脚本的文件中,给出相对路径,从存放图像的文件夹到目标文件。 如果文件结构如下:
-your php file
-images
-1.jpg
then
unlink(images/1.jpg);
或许是文件夹权限问题。你的文件在服务器上还是在本地运行?如果在服务器上,请给图片文件夹赋予755权限。
unlink('http://www.mysite.com/img1.jpg');
无法正常工作。
请使用以下代码代替:
unlink($_SERVER['DOCUMENT_ROOT'].'img1.jpg');
//获取当前目录
或者,
unlink($_SERVER['DOCUMENT_ROOT'].'dir_name/img1.jpg');
可能存在文件权限问题,请检查。
/var/www/mysite.com/img1.jpg
? - Maerlynunlink
将不起作用,您必须使用服务器路径。 - Jojohttp://www.mysite.com/img1.jpg
粘贴到浏览器中并检查图像是否显示,如果没有显示,则路径错误。 - Moeed Farooqui