PHP通过url上传图像文件

时间:2012-12-06 12:35:29

标签: php image-upload

我想按网址上传图片

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

但我想要一个像

这样的数组
array(
   'name' => '',
   'type' => '',
   'tmp_name' => '',
   'error' => (int) 4,
   'size' => (int) 0
),

请建议我怎么做?。

2 个答案:

答案 0 :(得分:11)

也许您需要http://php.net/manual/en/function.file-get-contents.phphttp://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);

答案 1 :(得分: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"];
  }
?>