Funkcja HEADER nie działa

Tutaj należy zgłaszać problemy z działaniem serwisu.

Funkcja HEADER nie działa

Postprzez tinware » Śr lut 08, 12 23:47

Witam,

napisałem skrypt pobierajacy plik obrazu z waszego serwera.
Kod: Zaznacz cały
If($_GET['download'] == '5')
{
$rozmiar_pliku = "0.4"; /// podaj wage pliku w mega bajtach
$nazwa_pliku = "tlo.jpg"; /// nazwa pliku z rozszerzeniem
$adres_pliku = "tlo.jpg"; /// adres docelowy do pliku
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$fsize = $rozmiar_pliku * 1048576; /// operacja zamiany z mega bajty na bajty
header("Content-Type: Application/Force-Download"); /// typ pobieranego pliku jako domyslny
header("Content-Length: ".$fsize); //// informacja o rozmiarze pliku
header('Content-Disposition: inline; filename="'.$nazwa_pliku.'"'); /// nazwa z jaka plik sie zapisze
readfile("$adres_pliku"); /// adres docelowy do pliku
}


na innych serwerach działa, dlaczego nie działa na ugu? Czyżby kolejna blokada?
---

prv:
Kod: Zaznacz cały
http://djplate.prv.pl/pobierz/?download=4


ugu:
Kod: Zaznacz cały
http://djplate.ugu.pl/100dni/?download=4
Avatar użytkownika
tinware
 
Posty: 13
Dołączył(a): Śr cze 08, 11 20:00

Re: Funkcja HEADER nie działa

Postprzez parox » Cz lut 09, 12 00:14

1. Właśnie wszedłem na Twoją stronę, i wszystko pobiera prawidłowo. (Ze strony głównej oczywiście)

2. Nie prościej zrobić zwykłe linki, niż formularze? np.

Link:

Kod: Zaznacz cały
<a href="download.php?id=1" title="Plik #1">Plik nr. 1</a>


A plik download.php:

Kod: Zaznacz cały
if (!is_numeric($_GET['id'])) { // jeśli get nie jest numeryczny
 header("Location: index.php"); // przenieś do index.php
}

if ($_GET['id'] = 1) { // jeśli id jest 1
 header("Location: ./download/plik1.zip"); // wczytaj plik1
}
Avatar użytkownika
parox
 
Posty: 598
Dołączył(a): Śr maja 23, 07 23:17
Lokalizacja: Prudhoe

Re: Funkcja HEADER nie działa

Postprzez tinware » Cz lut 09, 12 00:22

Wiem, ale zależy mi na takiej konfiguracji jak mam...
te link ktore sa na stronie dzialaja, bo sa header location

link:
Kod: Zaznacz cały
http://djplate.ugu.pl/100dni/?download=4

to pobieranie pliku z zewnetrznego serwera

a teraz link:
Kod: Zaznacz cały
http://djplate.ugu.pl/100dni/?download=5

to pobieranie pliku z serwera ugu.pl

---

W EasyPHP wszystko dziala, na prv również, na ugu juz nie...

Kod: Zaznacz cały
Błąd: treść uszkodzona
Strona, którą próbujesz obejrzeć, nie może być wyświetlona, ponieważ wykryto błąd w transmisji danych.
Prosimy poinformować właścicieli witryny o tym problemie.


---

Coś interesującego:

Mozilla Firefox: wyskakuje błąd podany wyżej (treść uszkodzona)
Google Chrome: pobiera pusty plik, ale przynajmniej pobiera
Internet Explorer: również pobiera pusty plik
Opera: Nieoczekiwany koniec archiwum, ale działa!!!!!!!!!!!!!
Avatar użytkownika
tinware
 
Posty: 13
Dołączył(a): Śr cze 08, 11 20:00

Re: Funkcja HEADER nie działa

Postprzez parox » Cz lut 09, 12 00:49

Hmm. Ok, wydobyłem błąd PHP z pliku zip.

Kod: Zaznacz cały
readfile([DLA BEZPIECZEŃSTWA USUNIĘTE PRZEZ PAROX'A]) [<a href='function.readfile'>function.readfile</a>]: failed to open stream: Connection refused in <b>/virtual/d/j/djplate.ugu.pl/100dni/index.php</b> on line <b>30</b>


Wygląda na to iż, po prostu funkcja readfile jest u nas zablokowana. Sugeruję jednak wymianę ów funkcji na jakąś podobną.

Pozdrawiam.
Avatar użytkownika
parox
 
Posty: 598
Dołączył(a): Śr maja 23, 07 23:17
Lokalizacja: Prudhoe

Re: Funkcja HEADER nie działa

Postprzez tinware » Cz lut 09, 12 00:56

Zaraz się zapoznam, ale wiem w czym tkwi błąd...
Kod: Zaznacz cały
header("Content-Length: ".$fsize); //// informacja o rozmiarze pliku

Podałem rozmiar w przybliżeniu i teraz radzi sobie każda przeglądarka.

Ale pojawia się kolejny problem:
Plik z ugu - pobiera
Plik z zewnatrz - pobiera pusty plik...
Avatar użytkownika
tinware
 
Posty: 13
Dołączył(a): Śr cze 08, 11 20:00

Re: Funkcja HEADER nie działa

Postprzez parox » Cz lut 09, 12 01:04

W chwili obecnej linia 28 ma błąd.

Kod: Zaznacz cały
<b>Warning</b>:  readfile(http://dl.dropbox.com/u/61232575/studniowka_filmy_zdjecia_blacha.rar) [<a href='function.readfile'>function.readfile</a>]: failed to open stream: Connection refused in <b>/virtual/d/j/djplate.ugu.pl/100dni/index.php</b> on line <b>28</b>
Avatar użytkownika
parox
 
Posty: 598
Dołączył(a): Śr maja 23, 07 23:17
Lokalizacja: Prudhoe

Re: Funkcja HEADER nie działa

Postprzez tinware » Cz lut 09, 12 01:11

wiem, wejdz:

Kod: Zaznacz cały
www.djplate.ugu.pl/100dni


sa dwa link:
z ugu pobiera
z zewnatrz nie chce...
Avatar użytkownika
tinware
 
Posty: 13
Dołączył(a): Śr cze 08, 11 20:00

Re: Funkcja HEADER nie działa

Postprzez parox » Cz lut 09, 12 01:19

A słuchaj, spróbuj może używać innych funkcji do plików zewn. Mianowicie, by to wszystko czytać, jak masz na tych plikach z serwera UGU, zrób tylko funkcję wczytującą plik.

Kod: Zaznacz cały
if ($_GET['download'] = 4) {
 header("Location: LINK PLIKU");
}


Wszystko. W ów czas nie będzie robiło żadnych obliczeń bądź też innych zbędnych funkcji które mogły by w dalszym czasie przeszkodzić. Po prostu zostanie wywołany plik do pobrania.
Avatar użytkownika
parox
 
Posty: 598
Dołączył(a): Śr maja 23, 07 23:17
Lokalizacja: Prudhoe

Re: Funkcja HEADER nie działa

Postprzez tinware » Cz lut 09, 12 01:34

Zgadza się, ale zależało mi na funkcji readfile, moge w z basy mysql zmieniac sobie nazwe (w przyszlosci) itd., i co najwazniejsze widac ze plik pobierany jest z mojej strony, serwera, a nie z zewnatrz...
Avatar użytkownika
tinware
 
Posty: 13
Dołączył(a): Śr cze 08, 11 20:00

Re: Funkcja HEADER nie działa

Postprzez percoz » Pt lut 10, 12 15:38

Problemy z funkcją readfile w tym przypadku wynikają z tego, iż ruch na zewnątrz jest w dużej mierze blokowany.
Możesz jednak podać adres z którym chcesz się łączyć i możliwe że zostanie on dodany do puli domen nie blokowanych.
percoz
 
Posty: 612
Dołączył(a): Wt paź 11, 11 13:47

Re: Funkcja HEADER nie działa

Postprzez tinware » So lut 11, 12 00:47

Tak, zgadza się, właśnie się tego dowiedziałem po kontakcie z ugu.pl
Poprosiłem o dodanie tego adresu dla mnie, mam nadzieje że się uda, bardzo mi zależy na tym i na korzystaniu z usług ugu.pl

Chodzi o adres serwera:
dl.dropbox.com
Avatar użytkownika
tinware
 
Posty: 13
Dołączył(a): Śr cze 08, 11 20:00

Re: Funkcja HEADER nie działa

Postprzez percoz » So lut 11, 12 13:30

Niestety adresy *.dropbox.com nie zostaną dodane jako dozwolone do połączeń zewnętrznych. Stwarzało by to za duże możliwości do tworzenia stron z warezem.

Może powinieneś skorzystać z rad Paroxa dotyczących użycia innych funkcji zamiast readfile.
percoz
 
Posty: 612
Dołączył(a): Wt paź 11, 11 13:47

Re: Funkcja HEADER nie działa

Postprzez tinware » So lut 11, 12 18:00

Nie, zależało mi na tym, aby jak ktoś ściąga plik z mojej strony na ugu, aby widniał serwer ugu.pl, czyli moja strona, a nie jakas inna strona. Zastanowie się nad zmianą hostingu, na którym nie mam tej blokady...

Apropo warezu, ktoś tworząc go mógłby również dac:
header ('Location: http://dl.dropboc.com/XXX');
readfile ('http://dl.dropboc.com/XXX');

To praktycznie bez różnicy dla takiej osoby...
Avatar użytkownika
tinware
 
Posty: 13
Dołączył(a): Śr cze 08, 11 20:00

Re: Funkcja HEADER nie działa

Postprzez parox » So lut 11, 12 22:16

Nie wydaje mi się... header jak już wspominasz, pobierze plik z zewn. serwera. I to DropBox będzie miał problemy z prawem. Owszem, użytkownik będzie miał problemy z regulaminem UGU gdyż hotlinkuje nielegalne pliki. Jednak, prawo nie sięgnie ugu a DropBox'a. Jeśli użyta była by funkcja readfile i jest tak jak mówisz, (czyta jakby pobierane z ugu), prawo nie będzie dociekało od podstaw i źródła czy na pewno nie z ugu a z DropBox'a. W tej sytuacji najpierw się strzela później zadaje pytania...

W tej sytuacji, pozwolę sobie zacytować pana Tuska:

W takich sytuacjach, rząd musi brać decyzje na klatę.


Pozdrawiam.
Avatar użytkownika
parox
 
Posty: 598
Dołączył(a): Śr maja 23, 07 23:17
Lokalizacja: Prudhoe

Re: Funkcja HEADER nie działa

Postprzez tinware » So lut 11, 12 23:26

Moja studniówka czy moje wlasne produkcje to nielegalne pliki, prosze Cię... :)
Avatar użytkownika
tinware
 
Posty: 13
Dołączył(a): Śr cze 08, 11 20:00

Następna strona

Powrót do UGU.PL

Copyright © 2007-2011 ugu.pl
Wszelkie prawa zastrzeżone.
Polityka prywatności