In this post, I share simple code to download and view images from URLs in PHP.
HTML
Create a simple HTML form
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<title>Download Image from URL in PHP</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-6">
<h1>Enter Image URL</h1>
<form action="" method="post">
<input name="url" type="text" class="form-control" placeholder="Enter URL"><br>
<button class="btn btn-success">Download Image</button>
</form>
</div>
<div class="col-md-6">
</div>
</div>
</div>
</body>
<html>
PHP
We have used file_get_contents() method here. file_get_contents() is the preferred way to read the contents of a file into a string. It will use memory mapping techniques if supported by your OS to enhance performance.
<?php
if(isset($_POST['url']))
{
$url = $_POST['url'];
$pathinfo = pathinfo($url); // To get the filename and extension
$ext = $pathinfo['extension'];
$filename = 'images/'.$pathinfo['filename'];
$img = @file_get_contents($url,true); // get the image from the url
file_put_contents($filename.'.'.$ext, $img); // create a file and feed the image
}
?>
And View Downloaded image
<?php
if(isset($filename) && isset($ext))
{
echo '<img width="300px" height="300px" src='. $filename . '.' . $ext . '>';
}
?>
Index.php
Full code for Download Image from URL in PHP
<?php
if(isset($_POST['url']))
{
$url = $_POST['url'];
$pathinfo = pathinfo($url); // To get the filename and extension
$ext = $pathinfo['extension'];
$filename = 'images/'.$pathinfo['filename'];
$img = @file_get_contents($url,true); // get the image from the url
file_put_contents($filename.'.'.$ext, $img); // create a file and feed the image
}
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<title>Download Image from URL</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-6">
<h1>Enter Image URL</h1>
<form action="" method="post">
<input name="url" type="text" class="form-control" placeholder="Enter URL"><br>
<button class="btn btn-success">Download Image</button>
</form>
</div>
<div class="col-md-6">
<div id="image">
<?php
if(isset($filename) && isset($ext))
{
echo '<img width="300px" height="300px" src='. $filename . '.' . $ext . '>';
}
?>
</div>
</div>
</div>
</div>
</body>
<html>
I hope it will help you. Thank you!

Brijpal Sharma is a web developer with a passion for writing tech tutorials. Learn JavaScript and other web development technology.