php 下载时重命名文件
php rename files when downloading
遇到问题并不断出错,目前有一个这种格式的数组....
$espn_ar["pid_6254"] = "2977742";
$espn_ar["pid_8269"] = "9614";
我正在使用它创建 url 路径来下载一些图像并命名它们
foreach ($espn_ar as $value){
$imageUrl = "https://a.espncdn.com/combiner/i?img=/i/headshots/nfl/players/full/$value.png&h=107&w=80&scale=crop";
$imageName = "images/mfl_.$value.png";
$imageFile = file_get_contents($imageUrl);
file_put_contents($imageName, $imageFile);
}
使用上面的数组示例命名文件
mfl_2977742.png
mfl_9614.png
但我希望文件以每个数组项中“pid_”后面的值命名,所以我想要的文件名是
mfl_6254.png
mfl_8269.png
使用我的示例,谁能告诉我如何在将每个图像命名为“pid_”后的数字时更改值
在您的 foreach
循环中包含密钥并提取您的文件名的编号
foreach ($espn_ar as $key => $value) {
$imageName = sprintf('images/mfl_%s.png', str_replace('pid_', '', $key));
// etc
}
遇到问题并不断出错,目前有一个这种格式的数组....
$espn_ar["pid_6254"] = "2977742";
$espn_ar["pid_8269"] = "9614";
我正在使用它创建 url 路径来下载一些图像并命名它们
foreach ($espn_ar as $value){
$imageUrl = "https://a.espncdn.com/combiner/i?img=/i/headshots/nfl/players/full/$value.png&h=107&w=80&scale=crop";
$imageName = "images/mfl_.$value.png";
$imageFile = file_get_contents($imageUrl);
file_put_contents($imageName, $imageFile);
}
使用上面的数组示例命名文件
mfl_2977742.png
mfl_9614.png
但我希望文件以每个数组项中“pid_”后面的值命名,所以我想要的文件名是
mfl_6254.png
mfl_8269.png
使用我的示例,谁能告诉我如何在将每个图像命名为“pid_”后的数字时更改值
在您的 foreach
循环中包含密钥并提取您的文件名的编号
foreach ($espn_ar as $key => $value) {
$imageName = sprintf('images/mfl_%s.png', str_replace('pid_', '', $key));
// etc
}