How can I upload an image from a URL in PHP

How can I upload an image from a URL in PHP

In this tutorial, i will tell you how to upload image from URL in PHP.

You have to enter complete path of image in text box and then click submit to upload image with new file name.

I write here basic simple script to upload an image file from URL.

Before goint with this post, you will need to know about file_get_contents and file_put_contents methods in PHP.

It will take only two step to upload image from URL.

  • Create a HTML Form to enter file URL.
  • Create a PHP File to upload image from URL.
Step 1: Create a HTML Form - fileupload.html

I have created a html file fileupload.html with simple form to take image url entered by user and post form data to upload_image.php for uploading.

  1. <html>
  2. <head>
  3. <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
  4. </head>
  5. <body>
  6. <div class="row">
  7. <form method="post" action="upload_image.php">
  8. <div class="col-md-6">
  9. <input type="text" class="form-control" name="image_path" placeholder="Enter Image URL">
  10. </div>
  11. <div class="col-md-6">
  12. <input type="submit" class="btn btn-primary" name="post_image" value="Submit">
  13. </div>
  14. </form>
  15. </div>
  16. </body>
  17. </html>
Step 2: Create a PHP File - upload_image.php
  1. <?php
  2. if(isset($_POST['post_image']))
  3. {
  4. $image_url=$_POST['image_path'];
  5. $data = file_get_contents($image_url);
  6. $new = 'images/myimage.jpg';
  7. $upload =file_put_contents($new, $data);
  8. if($upload) {
  9.     echo "<img src='images/myimage.jpg'>";
  10. }else{
  11.     echo "Please upload only image files";
  12. }
  13. }
  14. ?>

As you notice i have used file_get_contents that returns file in a string and it is similar to file().

And file_put_contents method is used to write string to a file and if file filename already exists then appends the data to the file.

I have created a images directory where all the uploaded files will be save.

Phone: (+91) 8800417876
Noida, 201301
Attention Required! | Cloudflare

Sorry, you have been blocked

You are unable to access ressim.net

Why have I been blocked?

This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

What can I do to resolve this?

You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.