Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Zapisanie obrazka innego serwea na swoim, copy() wywala błąd
Maniek159
post 30.08.2010, 11:55:59
Post #1





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

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


Cześć,

Potrzebuję rozwiązać następujący problem - mam obrazek powiedzmy:

www.jakas-domena-z-obrazkami.pl/interesujacy-mnie-obraz.gif

Chcę,by on znalazł się na moim serwerze, i chce go po prostu skopiować na swój serwer. Jednakże funkcja copy() wywala mi błąd.

Jakieś pomysły?

Pozdro
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
wookieb
post 30.08.2010, 11:57:48
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No a jaki błąd Ci wywala?
Pozostaje jeszcze curl


--------------------
Go to the top of the page
+Quote Post
Kshyhoo
post 30.08.2010, 12:32:20
Post #3





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Pokaż swój kod, wróżki też miewają wakacje... Ja robiłem kiedyś tak i działało:
  1. <form>
  2. ...
  3. <input type="" name="url" size="50" />
  4. ...
  5. </form>
  6. <?php
  7. $zdalny = $_POST['url'];
  8. $zdalny = str_replace(' ', '', $zdalny);
  9. $uploaded = $upload_dir . basename($url);
  10.  
  11. if (!is_dir($upload_dir)) {
  12. die ('Błąd! Katalog docelowy '.$upload_dir.' nie istnieje!');
  13. }
  14. $uploaded = preg_replace('/[!?@#$%^&*()+=\';><,!:"\/\[\]\{\}]+/', '', $uploaded); // znaki na spacje
  15. $we1 = array('ą','ć','ę','ł','ń','ó','ś','ź','ż','Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ź','Ż',' ');
  16. $wy1 = array('a','c','e','l','n','o','s','z','z','A','C','E','L','N','O','S','Z','Z','');
  17. $uploaded = str_replace($we1, $wy1, $uploaded);
  18. $uploaded = strtolower($uploaded); // zmień na małe litery
  19. $uploaded = preg_replace('/[\-]+/', '-', $uploaded);// zredukuj liczbę - do jednego obok siebie
  20. $uploaded = preg_replace('/[\_]+/', '_', $uploaded);// zredukuj liczbę _ do jednego obok siebie
  21. $uploaded = trim($uploaded, '-');// usuń możliwe - na początku i końcu
  22. $uploaded = trim($uploaded, '_');// usuń możliwe _ na początku i końcu
  23. $uploaded = wordwrap($uploaded, 50, " ", 1); // pocięcie długich wpisów
  24. $uploaded = preg_replace("/(img)([0-9]{2})([0-9]{2})(.*?)(gif|jpg|jpeg|png|rar|zip|pdf|psd)/","$1/$2/$3/$4$5",$uploaded); // dokłada /
  25. $allowedExtensions = array('gif','jpg','jpeg','png','rar','zip','pdf','psd');// jakie rozszerzenia
  26. $extension = end(explode('.', $uploaded));
  27. if (in_array($extension, $allowedExtensions)) {
  28. if (file_exists($uploaded)) { // czy plik już istnieje
  29. echo 'Błąd! Plik już istnieje!';
  30. } else {
  31. if ($uploaded > 2*1024*1024) { // ograniczenie wielkości
  32. echo 'Błąd! Plik jest za duży!';
  33. } else {
  34. $zdalny_wielkosc = strlen(@file_get_contents($zdalny));
  35. if ($zdalny_wielkosc > 0) { // sprawdzenie, czy większy od 0
  36. $lokalny_wielkosc = (file_exists($uploaded))?filesize($uploaded):-1;
  37. if ($zdalny_wielkosc<>$lokalny_wielkosc) {
  38. copy($zdalny, $uploaded);
  39. chmod($uploaded, 0755);
  40. echo 'Operacja wysyłania pliku przebiegła pomyślnie.';
  41. //redirect("index.php?go=galeria&path=".$_SESSION['tree']['path']."");
  42. } // kontrola pobrania całości
  43. } else {
  44. echo 'Błąd! Prawdopodobnie plik nie istnieje lub podałeś zły link!';
  45. } // mniejszy od 0
  46. } // jeżeli powodzenie
  47. } // jeżeli plik już istnieje
  48. } else {
  49. echo 'Błąd! Niepoprawny format pliku!';
  50. } // rozszerzenia
  51. }// upload


Ten post edytował Kshyhoo 30.08.2010, 12:33:52


--------------------
Go to the top of the page
+Quote Post
glh
post 30.08.2010, 12:44:51
Post #4





Grupa: Zarejestrowani
Postów: 97
Pomógł: 20
Dołączył: 18.12.2007
Skąd: Poznań

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


To może takie coś. U mnie np. działa.

  1. <?php
  2. $url="http://se2.php.net/images/php.gif";
  3. file_put_contents(basename($url),file_get_contents($url));
  4. ?>
  5. <img src="<?php echo basename($url);?>"/>


Ten post edytował glh 30.08.2010, 12:53:20


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:53