使用 PHP 通过 url 上传 1000 张图片

Uploading 1000 images via url using PHP

我想通过 URL 一次点击上传 1000 张图片。我有 1000 张图像 URL 存储在 MYSQL 数据库中。

所以请任何人给我 PHP 代码,通过 URL 通过 mysql 数据库上传那 1000 张图片。

目前我正在使用下面的代码:- 它通过发布 URL 张图片来每次点击上传一张图片...

但是我想通过从数据库

中获取URLs来一次性上传1000张图片
$result = mysql_query("SELECT * FROM thumb") or die(mysql_error());

// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {

echo "<div>";
$oid = $row['tid'];
$th= $row['q'];

echo "</div>";

$thi = $th;
$get_url = $post["url"];
$url = trim('$get_url');

if($url){
    $file = fopen($url,"rb");
    $directory = "thumbnail/";
    $valid_exts = array("php","jpeg","gif","png","doc","docx","jpg","html","asp","xml","JPEG","bmp"); 
    $ext = end(explode(".",strtolower(basename($url))));
    if(in_array($ext,$valid_exts)){

        $filename = "$oid.$ext";
        $newfile = fopen($directory . $filename, "wb");
        if($newfile){
            while(!feof($file)){
                fwrite($newfile,fread($file,1024 * 8),1024 * 8);
            }
            echo 'File uploaded successfully';
            echo '**$$**'.$filename;
        }
        else{
            echo 'File does not exists';
        }
    }
    else{
        echo 'Invalid URL';
    }
}
else{
    echo 'Please enter the URL';
}

}

非常感谢.... …

您的代码已经过时并且比需要的复杂得多。这不是您获得代码的站点,因为您提出要求,这是一个学习环境。

我会给你一个例子,你可以继续:

// Select the images (those we haven't done yet):
$sItems = mysql_query("SELECT id,url FROM thumb WHERE imported=0") or die(mysql_error());
// Loop through them:
while( $fItems = mysql_fetch_assoc($sItems) ){
    $imgSource = file_get_contents($fItems['url']); // get the image
    // Check if it didn't go wrong:
    if( $imgSource!==false ){
        // Which directory to put the file in:
        $newLocation = $_SERVER['DOCUMENT_ROOT']."/Location/to/dir/"; 
        // The name of the file:
        $newFilename = basename($fItems['url'], $imgSource); 

        // Save on your server:
        file_put_content($newLocation.$newFilename);
    }
    // Update the row in the DB. If something goes wrong, you don't have to do all of them again:
    mysql_query("UPDATE thumb SET imported=1 WHERE id=".$fItems['id']." LIMIT 1") or die(mysql_error());
}

相关函数:
file_get_contents() - 获取图片内容
file_put_contents() - 将此函数中给出的内容放在指定的文件中
basename() - 给定一个 url,它只给你文件名

重要提示:

  • 您正在使用 mysql_query。这已被弃用(不应再使用),改用 PDO 或 mysqli
  • 我建议您从命令行完成这项工作,并在更新后添加回显,以便您可以监控进度