PHP通过网址上传的图像文件[关闭](PHP upload an image file throug

2019-08-03 14:49发布

我想通过网址上传图片像

'C:\wamp\www\reelstubs\app\webroot\img\movies\0bf522bb76777ba43393b9be5552b263.jpg'

但是,我要像一个数组

array(
   'name' => '',
   'type' => '',
   'tmp_name' => '',
   'error' => (int) 4,
   'size' => (int) 0
),

请建议我如何获取?

Answer 1:

也许你需要http://php.net/manual/en/function.file-get-contents.php和http://php.net/manual/en/function.file-put-contents.php

组合在一起,你可以尝试;

// Your file
$file = 'C:\wamp\www\reelstubs\app\webroot\img\movies\0bf522bb76777ba43393b9be5552b263.jpg';

// Open the file to get existing content
$data = file_get_contents($file);

// New file
$new = 'C:\wamp\www\reelstubs\app\webroot\img\movies\newimage.jpg';

// Write the contents back to a new file
file_put_contents($new, $data);


Answer 2:

     The enctype attribute of the <form> tag specifies which content-type to use when 
    submitting the form.
    "multipart/form-data" is used when a form requires binary data, like the contents of a
     file, to be uploaded
     so please use the post method for uploading a file because post method can handle unlimited data. but get method not not handle more than 8mb data . 
        <html>
          <body>
                <form action="upload_file.php" method="post"
                enctype="multipart/form-data">
                <label for="file">Filename:</label>
                <input type="file" name="file" id="file"><br>
                <input type="submit" name="submit" value="Submit">
                </form>

                </body>
                </html>
    you can handle the array on upload_file.php page .
upload_file.php

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br>";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br>";
  echo "Type: " . $_FILES["file"]["type"] . "<br>";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>


文章来源: PHP upload an image file through url [closed]