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.
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.
- <html>
- <head>
- <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
- </head>
- <body>
- <div class="row">
- <form method="post" action="upload_image.php">
- <div class="col-md-6">
- <input type="text" class="form-control" name="image_path" placeholder="Enter Image URL">
- </div>
- <div class="col-md-6">
- <input type="submit" class="btn btn-primary" name="post_image" value="Submit">
- </div>
- </form>
- </div>
- </body>
- </html>
- <?php
- if(isset($_POST['post_image']))
- {
- $image_url=$_POST['image_path'];
- $data = file_get_contents($image_url);
- $new = 'images/myimage.jpg';
- $upload =file_put_contents($new, $data);
- if($upload) {
- echo "<img src='images/myimage.jpg'>";
- }else{
- echo "Please upload only image files";
- }
- }
- ?>
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.