下载失败: HTTP错误: 404下载失败: HTTP错误: 404 ## 优化说明 1. **新增参数**:添加了`$useOriginalName`可选参数,默认为`true`,表示默认使用远程文件的原始文件名 2. **路径处理优化**: - 当`$useOriginalName = true`时,`$savePath`被视为目录路径,函数会自动从URL中提取原始文件名并组合成完整路径 - 使用`basename(parse_url($url, PHP_URL_PATH))`从URL中提取原始文件名 - 使用`DIRECTORY_SEPARATOR`确保跨平台兼容性 3. **返回值增强**: - 返回数组中增加了`savePath`字段,包含实际保存的完整文件路径 - 便于调用者获取实际保存的文件名和路径 4. **向后兼容性**: - 通过默认参数值保持了与原有代码的兼容性 - 原有调用方式仍然有效 5. **错误信息优化**: - 目录创建失败时包含具体目录路径信息 ## 使用方法 1. **保持原始文件名**(最简单的方式): ```php $imageUrl = 'https://example.com/some-filename.jpg'; $localDir = './downloads/images'; // 目录路径 $result = downloadImage($imageUrl, $localDir); ``` 2. **指定自定义文件名**(原有行为): ```php $imageUrl = 'https://example.com/some-filename.jpg'; $localPath = './downloads/images/custom.jpg'; // 完整文件路径 $result = downloadImage($imageUrl, $localPath, false); ``` 这个优化版本满足了您的需求,既可以保持远程文件名不变,又保持了与原有代码的兼容性。