PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Tuesday, January 11, 2022

[FIXED] Uploading 1000 images via url using PHP

 January 11, 2022     download, php, uploading     No comments   

Issue

I want to upload 1000 images in just one click via URL. I have 1000 Image URLs stored in MYSQL database.

So please any one give me PHP code to upload that 1000 images via URL through mysql database.

Currently I am using the bellow code:- It upload one image per click by posting URL of image...

But i want to upload 1000 image in one click by getting URLs from databse

$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';
}

}

Thanks a lot.... …


Solution

The code you have is outdated and a lot more complex than needed. This is not a site where you get code because you ask, this is a learning environment.

I'll give you an example on which you can continue:

// 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());
}

Relevant functions:
file_get_contents() - Get the content of the image
file_put_contents() - Place the content given in this function in a file specified
basename() - given an url, it gives you the filename only

Important:

  • You are using mysql_query. This is deprecated (should no longer be used), use PDO or mysqli instead
  • I suggest you make this work from the commandline and add an echo after the update so you can monitor progress


Answered By - Martijn
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing