如何使用PHP从URL下载多个图像并将其保存在我的文件夹中?

时间:2018-12-06 11:29:44

标签: php image url

我想从其他URL获取图像并将其保存在当前文件夹中,因此以后无法获取它们,这是我的代码: 在我的#upload.html中,我做到了:

<html>
<body>
<div>
<form method="post" action="upload_image.php">
<input type="text" name="img_url" placeholder="Enter Image URL">
<input type="submit" name="get_image" value="Submit">
</form>
</div>
</body>
</html>

在我的#upload_image.php文件中,我编写了以下代码:

<?php
if(isset($_POST['get_image']))
{
$url=$_POST['img_url'];
$data = file_get_contents($url);
$new = 'new_image.jpg';
file_put_contents($new, $data);
echo "<img src='new_image.jpg'>"; } ?>

顺便问一下,这是我第一次来这里,谢谢您的回答

1 个答案:

答案 0 :(得分:1)

这对您有好处吗? 您可以将图像URL放在文本区域的每一行中,然后获取文本区域的行并循环获取图像。 我还添加了一个随机数,以使用不同的图片名称,但是您可以在文件名中添加任意内容

upload_image.php中的php

<?php 
if(isset($_POST['get_image']))
{
    $text = trim($_POST['images_url']);
    $textAr = explode("\n", $text);
    $textAr = array_filter($textAr, 'trim'); // remove any extra \r characters left behind

    foreach ($textAr as $url) {
        $data = file_get_contents($url);
        $new = 'new_image_'.rand(10, 3000).'.jpg';
        file_put_contents('upload/'.$new, $data);
        echo '<img src="upload/'.$new.'">'; 
    } 

} 
?>

HTML表单

 <form method="post" action="upload_image.php">
     <textarea name="images_url" placeholder="insert one url per row"></textarea>
      <input type="submit" name="get_image" value="Submit">
 </form>