我想按网址上传图片
'C:\wamp\www\reelstubs\app\webroot\img\movies\0bf522bb76777ba43393b9be5552b263.jpg'
但我想要一个像
这样的数组array(
'name' => '',
'type' => '',
'tmp_name' => '',
'error' => (int) 4,
'size' => (int) 0
),
请建议我怎么做?。
答案 0 :(得分:11)
也许您需要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);
答案 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"];
}
?>