php进行文件下载

<?php
// 配置部分
$urls = [
    'https://example.com/file1.jpg',
    'https://example.com/document.pdf',
    'https://another-site.com/data.csv'
];

$downloadDir = __DIR__ . '/downloads/'; // 保存文件的目录

// 创建保存目录(如果不存在)
if (!file_exists($downloadDir)) {
    mkdir($downloadDir, 0777, true);
}

// 遍历URL列表并下载文件
foreach ($urls as $url) {
    try {
        // 从URL中提取文件名
        $parsedUrl = parse_url($url);
        $pathParts = pathinfo($parsedUrl['path']);
        $fileName = $pathParts['basename'];
        
        if (empty($fileName)) {
            echo "无法从URL '{$url}' 中提取文件名,跳过。\n";
            continue;
        }
        
        // 构建本地保存路径
        $savePath = $downloadDir . $fileName;
        
        // 检查文件是否已存在
        if (file_exists($savePath)) {
            echo "文件 '{$fileName}' 已存在,跳过下载。\n";
            continue;
        }
        
        // 下载文件
        echo "正在下载 '{$fileName}'...";
        $content = file_get_contents($url);
        
        if ($content === false) {
            throw new Exception("无法下载文件");
        }
        
        // 保存文件
        $result = file_put_contents($savePath, $content);
        
        if ($result === false) {
            throw new Exception("无法保存文件");
        }
        
        echo " 完成!\n";
        
    } catch (Exception $e) {
        echo " 错误:" . $e->getMessage() . "\n";
        continue;
    }
}

echo "所有文件下载完成!\n";
?>    ```
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容