Skocz do zawartości

Zapisywanie zdalnych obrazków


EDDY

Rekomendowane odpowiedzi

Mam powiedzmy coś takiego:

$data = preg_replace('/<img src=(.*?)<\\/img>/is',"\\1",$data);

Jak teraz zrobić, by znalezione adresy obrazków w stringu zostały zapisane na serwer i odpowiednio podlinkowane (zamienione) adresy w owym stringu?

Jakoś nie mam pomysłu, a głowa mnie boli od myślenia:P

Polecam linki stałe w Seomatik.pl oraz dopalacz stron Gotlink.pl.

obrazek.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

Hmm wiec.

Rezultat z funkcji preg_match_callback wysyłasz do funkcji 'GetAndSaveAndReplaceImage', musi ona posiadać jeden prametr który jest tablicą rezultatów. Teraz pobieramy odpowiedni index( prawodpodobnie będzie to numerek 1 ). Następnie musimy pobrać obrazek, tutaj mamy bardzo dużo możliwości

  • Fopen + FRead+ FClose
  • file_get_contents
  • curl
  • file
  • system
  • exec

Zawartość obrazka będziemy musieli zapisać do katalogu img, więc musimy go stworzyć (mkdir img) i nadać mu odpowiednie uprawnienia( chmod 0777 img ). Gdy mamy już odpowiednio przygotowny katalogu musimy zapisać plik, pomocne mogą być te funkcje

  • file_put_contents
  • fopen + fwrite + fclose
  • ftp
  • system
  • exec

Następnie musimy zwrocić kod obrazka ze zmienioną ścieżką dostępu na /img/$result[ index ]

;)

stopka usunieta z wpoodu wirusa na stronie docelowej

Odnośnik do komentarza
Udostępnij na innych stronach

Może nie wyraziłem się jasno, szukam gotowej klasy.
To coś kiepsko szukasz :)

NP kod z manulala PHP ... function.fopen

$file = "https://www.forum.optymalizacja.com/uploads/av-763.jpg"; 
function download($file_source, $file_target) {
   $rh = fopen($file_source, 'rb');
   $wh = fopen($file_target, 'wb');
   if ($rh===false || $wh===false) {
// error reading or opening file
	   return true;
   }
   while (!feof($rh)) {
	   if (fwrite($wh, fread($rh, 1024)) === FALSE) {
			   // 'Download error: Cannot write to file ('.$file_target.')';
			   return true;
		   }
   }
   fclose($rh);
   fclose($wh);
   return false;
  }
download($file ,'img.jpg');

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności