#php #javascript #html
#php #javascript #HTML
Вопрос:
Я использую форму для загрузки обоев, и мы вручную должны выбрать файл изображения..Я хочу сделать это из URL-адреса изображения (изображение в Интернете.. пример- www.mysite.com/images/my.jpg ), это означает, что без выбора файла изображения у меня есть такая форма —
<form action="" method="post" enctype="multipart/form-data">
<table class="grid" width="400">
<tr class="r1">
<td><label for="name">Title *:</label> </td>
<td><input name="name" type="text" id="name" value="<?php echo $name?>" size="40" /> </td>
</tr>
<tr class="r1">
<td><label for="tags">Tags*:</label></td>
<td><input name="tags" type="text" id="tags" value="<?php echo View::escape($wallpaper->tags) ?>" size="40" /> </td>
</tr>
<tr class="r1">
<td><label for="img">Wallpaper*:</label></td>
<td><input type="file" name="img" id="img" /> </td>
</tr>
<td><input type="submit" name="upload_wallpaper" id="upload_wallpaper" value="Submit" />
</tr>
</table>
</form>
Теперь я хочу загрузить изображение по URL-адресу в этом разделе формы —
<tr class="r1">
<td><label for="img">Wallpaper*:</label></td>
<td><input type="file" name="img" id="img" /> </td>
</tr>
После этого я вручную отправлю форму после этого .. я просто хочу загрузить через URL, введя URL, например *www.mysite.com/images/my.jpg * не выбирая пункт обзор и выбор файла изображения.. Я много пробовал, но мне не удалось найти решение .. спасибо!!! В любом случае?
Ответ №1:
Измените тип ввода с файла на текстовое поле. Затем на серверной части используйте curl или что-то подобное для загрузки файла изображения, который был введен (если он существует).
if (isset($_POST['img'])) {
$url = $_POST['img'];
// Curl the URL
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close ($ch);
// Save it to disk
$savePath = "/somewhere-on-your-disk/filename.jpg";
$fp = fopen($savePath,'x');
fwrite($fp, $result);
fclose($fp);
}
Комментарии:
1. Да, я пробовал <input name=»img» type=»text» id=»img» value=»» size=»40″ /> Вот так … но это не работает ..кстати, как это сделать в curl? вы можете мне помочь?
2. Я отредактировал свой ответ.. Но вы также должны добавить проверку ошибок. Убедитесь, что файл существует, прежде чем пытаться сохранить его на диск