将与 URL 图像文件完全相同的图像文件名保存到 PHP 中的文件夹中
Saving image file name exactly as URL image file into folder in PHP
我以前访问过这个 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 文件名的动态。例如,如果我有一个像这样的图像 url:https://cf.dropboxstatic.com/static/images/brand/glyph-vflK-Wlfk.png
,我希望它将图像保存到具有确切图像名称的目录中,在本例中为 glyph-vflK-Wlfk.png
。
这可以吗?
据我了解,您要执行的操作如下:
$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);
有一个函数,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()
。
我会这样做
$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;
我以前访问过这个 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 文件名的动态。例如,如果我有一个像这样的图像 url:https://cf.dropboxstatic.com/static/images/brand/glyph-vflK-Wlfk.png
,我希望它将图像保存到具有确切图像名称的目录中,在本例中为 glyph-vflK-Wlfk.png
。
这可以吗?
据我了解,您要执行的操作如下:
$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);
有一个函数,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()
。
我会这样做
$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;