Pobieranie zdjęć z serwera

0

Witam,

mam pytanie/problem, którego nie mogę rozwiązać. Ale od początku.. Na zewnętrznym serwerze posiadam (w zależności) do kilku tysięcy obrazków(głównie *.jpg). Chciałbym stworzyć sobie automat w php, który wyeliminuje ręczne ściąganie każdego pliku. Posiadam pełen adres do danego pliku a zapis miałby być na docelowym serwerze.

Moje pytani brzmi:
czy jest jakieś rozwiązanie mojego problemu? Gotowe rozwiązanie? Ew. jakieś podpowiedzi?

Wspomnę, że zależy mi na szybkości działania tego rozwiązania.

0

Szybkości swojego i serwera łącza internetowego nie przeskoczysz.

Zobacz rozszerzenie DownThemAll! do Firefoksa - jak na stronie masz wiele linków, to ono potrafi pobrać dane znajdująca się pod każdym z nich, wraz z filtrowaniem i takimi tam. Jeżeli mowa o pobieraniu z serwera do komputera lokalnego.

0
Ktos napisał(a)

Szybkości swojego i serwera łącza internetowego nie przeskoczysz.

Zobacz rozszerzenie DownThemAll! do Firefoksa - jak na stronie masz wiele linków, to ono potrafi pobrać dane znajdująca się pod każdym z nich, wraz z filtrowaniem i takimi tam. Jeżeli mowa o pobieraniu z serwera do komputera lokalnego.

Może źle się wyraziłem. Nie chodzi mi o to, że mi się nie chce pobierać każdego obraza osobno..
Mam projekt na serwerze x.
Mam bazę zdjęć na serwerze y(linki do pobrania zdjęć).
I chodzi mi o to, żeby stworzyć funkcję, która pobierze mi obrazki z serwera y i zapisze mi na serwerze x.

0

fopen?

 <?php
function getFile($url, $output = '')
{
	$output = (empty($output)) ? basename($url) : $output;

	$fp = @fopen($url, 'r');
	$out = @fopen($output, 'w');

	while(!feof($fp))
	{
		$data =& fgets($fp, 1024);
		@fwrite($out, $data);
	}

	fclose($fp);
	fclose($out);

	return file_exists($output);
}

$input = 'http://www.onet.pl/favicon.ico';

if (getFile($input))
{
	echo "Plik zostal sciagniety.";
}
else
{
	echo "Blad pobierania pliku.";
}
?>
0
<?php
set_time_limit(0);
$lista = array(); // ZAKLADAM ZE TU BEDZIESZ MIAL LISTE LINKOW!!! - jeżeli masz plik z linkami, gdzie każdy link jest w nowej linii - zrób tu $lista=file('linki.txt');

foreach ($lista as $l) {
$tmp = explode('/', $l);
$nazwa = end($tmp);
file_put_contents($nazwa, file_get_contents($l));
}
?>

jeżeli linki są bezpośrednio do jpg a nie np. http://domena.pl/sciezka/download.php?file=zdjecie.jpg to będzie dobrze (bo zapis do pliku z pytajnikiem w nazwie raczej się nie powiedzie ;))
no i nie radzę przerywać wykonywania skryptu, bo będzie potem leciał od nowa :P (ale możesz sobie dopisać sprawdzanie czy plik istnieje)

1 użytkowników online, w tym zalogowanych: 0, gości: 1