Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]serwowanie grafiki z innegro serwera
sanchoo
post
Post #1





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


Witam! mam serwowac banery z inengo serwera: jelsi sa serwowane to dziala bez problemu zrobilem to tak:

HTML:
  1. <img src="http://XXXXXX/banery/baner_show.php?h=1&id_bl=102&id_bb=44" border="0" alt="n


php:
  1. <?php
  2. $path = 'baners/' . $baner['path_banner']; //$baner['path_baner'] - nazwa pliku 
  3.  
  4.  echo $banery->_showimage($path, $baner['mimetype']);
  5. exit();
  6. ?>


_showimage:
  1. <?php
  2. function &_showImage(&$path, &$type)
  3. {
  4.  
  5. $source = $this->_getSourceFile( $path );
  6. header("Content-type: " . $type);
  7. header("Content-Length: " . strlen($source));
  8. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  9. header("Last-Modified: " . gmDate("D, d M Y H:i:s") . " GMT");
  10. header("Cache-Control: no store, no-cache, must-revalidate");
  11. header("Cache-Control: post-check=0, pre-check=0", false);
  12. header("Pragma: no-cache");
  13. header("Connection: close");
  14. return $source;
  15.  
  16. }
  17. function &_getSourceFile($path)
  18. {
  19. if (!$fp = fopen($path, 'rb'))
  20. {
  21. return false;
  22. }
  23. else
  24. {
  25. $sourceFile = fread($fp, filesize($path));
  26. fclose($fp);
  27. return $sourceFile;
  28. }
  29.  
  30. }
  31. ?>



wszystko dzila ladnie ... jesli nie zmienie $path = 'baners/' np na $path = 'http:// JAKIS INNY SERWER
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
franki01
post
Post #2





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Mam nadzieje ze nie robisz:
http:// JAKIS INNY SERWER
tylko
http:// JAKIS INNY SERWER/

Moze w _getSourceFile() zamiast robic z fopen() sprobowac z file_get_contents(). Pamietam ze ostatnio podobne problemy mialem z uzycie tej funkcji pomoglo...


EDIT:
Na poczatku upewnij sie czy na 100% link jest dobry:

  1. <?php
  2. $path = 'baners/' . $baner['path_banner']; //$baner['path_baner'] - nazwa pliku
  3.  
  4. echo $path;
  5. ?>


Skopiuj i wklej do przegladarki i zobacz czy jest taki plik (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował franki01 8.08.2007, 09:57:50
Go to the top of the page
+Quote Post
sanchoo
post
Post #3





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


"http:// JAKIS INNY SERWER/" tak mam w oryginale:)..

link rowniez jest dobry:(

rozmawiałem z jakimś gosciem powiedział mi tylko ze nagłowek nalezy zmienic...
sprawdze co z file_get_contents()

Dam znac...

file_get_contents() - nie pomoglo (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował sanchoo 8.08.2007, 10:05:14
Go to the top of the page
+Quote Post
franki01
post
Post #4





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Jaki naglowek? Jak ze swojego serwera odczytuje pliki to nie powinno byc problemu z naglowkiem.
Sprobuj w:
  1. <?php
  2. fopen($path, 'rb'))
  3. ?>

Usunac b:
  1. <?php
  2. fopen($path, 'r'))
  3. ?>


Bo na zdalnym serwerze z tym roznie bywa (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
sanchoo
post
Post #5





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


to tez nie to :/

'http:// JAKIS INNY SERWER <- skrypt znajduje sie na www.sanchoo.pl a serwowane beda z www.toniesanchoo.pl
z 2 roznych hostingow:)
Go to the top of the page
+Quote Post
franki01
post
Post #6





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


To nie wiem ;] Moze warto sprobowac uzyc fsockopen()?
Go to the top of the page
+Quote Post
sanchoo
post
Post #7





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


nic z tego :(Ma ktos jeszcze jakis pomysl...doszedlem do wniosku:Dze filsize na urlach nie dziala...
  1. Warning: filesize() [function.filesize]: Stat failed for http://XXX/banery/baners/baner_1_2_1.gif (errno=2 - No such file or directory) in /usr/local/apache/www/htdocs/XXXpublic_html/banery/test.php on line 19
jesli kopiuje link do przegladrki http://XXX/banery/baners/baner_1_2_1.gif ..jest ok. poakzuje mi sie :)DZIALA :)mialemracje problem pojawia sie z pbraniem rozmiaru pliku na innym serwerze.
  1. <?php$sourceFile = fread($fp, 500000);?>
- tak zrobilem.. i dziala... tlyko to tak troche wyglada nie za bardzo:( mozna to jakos poprawic??Mialem zrobic tak ze przy uploadzie baneru dodawac do bazy rozmiar i bylo by ok..ale przy duzych ilosciach wyswietlen szkoda obciazac dodatkowo bazy.Banery sie zmieniaja (rozmiar rowniez (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )



franki chyle czoło:
  1. <?phpfunction &_getSourceFile($path)
  2.  
  3. {
  4.  return file_get_contents($path);
  5.  
  6. }?>

.. zle uzylem wczensiej fukncji.. az mi glupio...Ps; dzieki dla Wojtka M

Ten post edytował sanchoo 8.08.2007, 12:24:56
Go to the top of the page
+Quote Post
sanchoo
post
Post #8





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


okazalo sie ze pojawil sie jeszcze jeden problem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ... moze sie komus przyda

Jesli podawalem url ktory odnosil sie do tego samego serwera to ta funkcja wyzej pomogla (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale wystarczylo ze zmienie i juz nie...
nie bylo .htaccess a domysle "kradniecie" obrazka .. czy raczej dostep z innego urela jest zabroniony (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <Limit GET POST HEAD>
  2. order deny,allow
  3. allow from all
  4. #allow from XXXXX
  5. #allow from XXXXXXX
  6. </Limit>
  7. <LimitExcept GET POST HEAD>
  8. deny from all
  9. </LimitExcept>



-------------------------
dodałem [tag] do tematu ponieważ
padły już odpowiedzi
na przyszłość pamiętaj, że dodawanie
[tag]u należy do Ciebie
~Cienki1980


Ten post edytował Cienki1980 9.08.2007, 10:28:22
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: 22.08.2025 - 13:28