我之前访问过这个article并发现它很有用,但我想通过根据URL名称保存图像文件名来为其添加更多功能。
这是我到目前为止所做的工作。
$contents=file_get_contents('http://www.domain.com/logo.png');
$save_path="C:/xampp/htdocs/proj1/download/[logo.png]";
file_put_contents($save_path,$contents);
基本上,在我放置方括号的地方,我想根据URL文件名获得动态。例如,如果我有一个图像网址,例如:https://cf.dropboxstatic.com/static/images/brand/glyph-vflK-Wlfk.png
,我希望将图像保存到具有确切图像名称的目录中,在本例中为glyph-vflK-Wlfk.png
。
这可能吗?
答案 0 :(得分:0)
根据我的理解,您要做的是以下内容:
$url = 'http://www.domain.com/logo.png';
$contents=file_get_contents($url);
$posSlash = strrpos($url,'/')+1);
$fileName = substr($url,$posSlash);
$save_path="C:/xampp/htdocs/proj1/download/".$fileName;
file_put_contents($save_path,$contents);
答案 1 :(得分:0)
有一个功能,basename()
:
$url="http://www.domain.com/logo.png";
$contents=file_get_contents($url);
$save_path="C:/xampp/htdocs/proj1/download/".basename($url);
file_put_contents($save_path,$contents);
您可能想要检查file_exists()
是否已存在。
答案 2 :(得分:0)
我会这样做
$url = "http://www.domain.com/logo.png";
$file = file_get_contents($url);
$path = "C:/xampp/htdocs/proj1/download/". basename($url);
return !file_exists($path) ? file_put_contents($path, $file) : false;