| |
|
|
| | Привет всем, вот такой у меня вопрос
Как организовать загрузку изображений на сервер по ссылке, допустим пользователь задает ссылку на картину и я ее загружаю как при Upload через форму. Если можно то с примером
Заранее спасибо | |
| |
|
|
| |
|
|
| |
для: buka
(25.05.2007 в 22:44)
| | | изображения придется затягивать... кодом . в лучшем случае fopen или curl . В худшем - сокетами или file_get_contents. | |
| |
|
|
| |
|
|
| |
для: Trianon
(25.05.2007 в 22:48)
| | | А можно хоть один пример простенький | |
| |
|
|
| |
|
|
| |
для: buka
(26.05.2007 в 09:06)
| | |
<?php
$fh = fopen("http://host.com/picture.jpg", "rb");
$buffer = "";
while(!feof($fh) && strlen($buffer) < 1024 * 1024) $buffer .= fread($fh, 1024);
if(!feof($fh))
{
echo("Файл не загружен до конца, так
как его размер превышает мегабайт.");
}
else
{
$fd = fopen("picture.jpg", "wb");
fwrite($fd, $buffer);
fclose($fd);
}
fclose($fh);
?>
|
| |
| |
|
|
| |
|
|
| |
для: Unkind
(26.05.2007 в 09:52)
| | | Сделайте мне приятно. :) Перепишите, пожалуйста, этот скрипт так, чтобы он не требовал столько памяти, сколько весит сам файл. | |
| |
|
|
| |
|
|
| |
для: Trianon
(26.05.2007 в 16:01)
| | |
<?php
$fh = fopen("http://host.com/picture.jpg", "rb") or die("Ошибка при загрузке");
$fd = fopen("picture.jpg", "wb");
while(!feof($fh) && ftell($fh) < 1024 * 1024) fwrite($fd, fread($fh, 1024));
fclose($fd);
if(!feof($fh))
{
echo("Файл не загружен до конца, так как его размер превышает мегабайт.");
unlink("picture.jpg");
}
else
{
echo("Файл успешно загружен.");
}
fclose($fh);
?>
|
| |
| |
|
|
| |
|
|
| |
для: Unkind
(26.05.2007 в 16:25)
| | | Куда лучше :)
Пожалуй, только пара замечаний.
unlink к файлу, который открыт, вероятно будет отвергнут.
Впрочем, тут многое зависит и от ОС и от файловой системы.
blocking-factor в 1024 байта по современным меркам мелковат. В большинстве случаев екстент (кластер) распределения файлового пространства не падает ниже 4К. 8K-64K - оптимальный размер.
Вместо ftell предпочтительно считать размер самостоятельно.
Иногда реализции ftell могут изрядно замедлять файловые операции. | |
| |
|
|
| |
|
|
| |
для: Trianon
(26.05.2007 в 21:53)
| | | unlink к файлу, который открыт, вероятно будет отвергнут.
Он закрыт. | |
| |
|
|
| |
|
|
| |
для: Unkind
(26.05.2007 в 21:55)
| | | Да. :) это я проморгал | |
| |
|
|