Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zapisywanie plików z adresu http:// na serwerze lokalnym, Jak pobrać plik z linku http://przykład.pl/plik.jpg na własnym serwie?
Micky
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.07.2009

Ostrzeżenie: (0%)
-----


Jak w temacie. Chcę skopiować plik z adresu który otrzymuję w zmiennej i zapisać go na serwerze gdzie mam swój skrypt.
Plik jest zawsze plikiem graficznym, więc (chyba) nie mogę go pobrać przez file_get_contents" title="Zobacz w manualu PHP" target="_manual.

Kod poniższy oczywiście nie działa. Ale wkleiłem go w celu pokazania jakiego rozwiązania próbowałem oraz o co mi chodzi.
Wiem, że kod nie działa z tego powodu, że nie da się skopiować jako plik tego co zwraca funkcja fopen" title="Zobacz w manualu PHP" target="_manual.

Jestem początkującym i mam świadomość że problem jest na poziome przedszkolnym. Jednak po dłuższym przeszukiwania w internecie nie udało mi się znaleźć rozwiązania tego problemu.
  1. <?php
  2. $file = fopen('http://example.com/2.0/cos/plik.jpg', "r");
  3.        
  4.    $upload_dir = '../covers/';
  5.    $copy = copy($file, $upload_dir);
  6.    if (!$copy) {
  7.        echo 'Nie udało się skopiować pliku.';
  8.    }
  9.    fclose($file);
  10. ?>


Ten post edytował Micky 11.07.2009, 22:31:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
b4x
post
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


copy" title="Zobacz w manualu PHP" target="_manual ?

Czemu nie możesz otworzyć go file_get_contents" title="Zobacz w manualu PHP" target="_manual

Wystarczy np:

  1. <?php
  2.  
  3.  $adres = 'http://example.com/2.0/cos/plik.jpg'; // może być np. $_GET['adres_pliku'];
  4.  
  5.  $nazwa_pliku = 'plik.jpg'; // nazwa pliku ;)
  6.  
  7.  $zapisz_gdzie = dirname(__FILE__).'/covers/'; // zamień pobrane_by_php na dowonly katalog, pamiętaj o CHMODZIE 777, (możesz też po swojemu ../covers/)
  8.  
  9.  $plik = file_get_contents ($plik); // pobierz zawartość pliku.
  10.  
  11.  file_put_contents ($zapisz_gdzie.$nazwa_pliku, $plik);
  12.  
  13. ?>


Ten post edytował b4x 11.07.2009, 16:35:18
Go to the top of the page
+Quote Post
Micky
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.07.2009

Ostrzeżenie: (0%)
-----


Dzięki, Dzięki!
To mi pomogłeś!
Tylko chyba w tej lini:
  1. <?php
  2. $plik = file_get_contents ($plik);
  3. ?>

powinno być:
  1. <?php
  2. $plik = file_get_contents ($adres);
  3. ?>

To tak jakby ktoś chciał tego kodu kiedyś użyć i nie zauważył.
Pięknie mi wszystko śmiga.
I dzięki też za szybką odpowiedź!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 19:31