Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z funkcją header
slimboot
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 14.03.2011

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


Posiadam skrypt (nie mój) do tworzenia miniaturki wysyłanego obrazka przez formularz, skrypt działa, bez zarzutu

problem pojawia się z funkcją header, gdy ona jest wstawiona, nie wyświetla mi obrazka, który znajduje się przed skryptem, oraz cały ekran jest biały, gdzie normalnie mam ustawione czarne tło...natomiast gdy usuwam z tego skryptu funkcje header, wszystko działa bez problemu, mam 2 pytania

1 Czy musze tej funkcji używać, skoro i tak skrypt działa, gdy ją usuwam?
2 Czy jest jakiś sposób, by ta funkcja była i jednocześnie wszystko się wyświetlało jak należy?

Dodam, że na lokalnym serwerze (urzywam krasnala) ten problem się ne pojawia, jedynie po wrzuceniu na serwer w sieci, robi się ten problem


Kod
<div align="center">
<img src=obrazek.jpg>
</div>


<?



/*dodaje obraz*/
$file = $HTTP_POST_FILES["image"]["tmp_name"];

$zapisz_jako = $HTTP_POST_FILES["image"]["name"];



/*zmienia nazwe pobieranego plku na date i dodaje zmienna obraz.jpg od razu zapisując plik w tym formacie (IMG:style_emoticons/default/exclamation.gif) !*/
$stob=("stob_");
$obraz=$stobit.$HTTP_POST_FILES["image"]["name"];
$zapisz_jako = $obraz . '.' . pathinfo( $HTTP_POST_FILES["plik"]["name"], PATHINFO_EXTENSION );


if (!copy($file, $zapisz_jako)) {

   print ("Kopiowanie pliku nie powiodło się...<br>\n");

}

print "<BR>Nazwa pliku: ".$HTTP_POST_FILES["image"]["name"];
print "<BR>Rozmiar pliku: ".$HTTP_POST_FILES["image"]["size"];
print "<BR>tymczasowo: ".$HTTP_POST_FILES["image"]["tmp_name"];
print "<BR>Typ przesłanego pliku: ".$HTTP_POST_FILES["image"]["type"];


/*Tworzenie miniaturki*/

$filename = ("$zapisz_jako");


$width = 408;
$height = 306;


header('Content-type: image/jpeg');


list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Zapis miniaturki z nową datą i NAZWĄ !

$adres=("magazyn/");
$nazwa=("obrazsformatowany.jpg");

$mini=$HTTP_POST_FILES["image"]["name"];
$miniaturka = $mini;


imagejpeg($image_p,"$miniaturka");



/*koniec tworzenia miniaturki*/


Ten post edytował slimboot 1.04.2012, 13:27:55
Go to the top of the page
+Quote Post
tolomei
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


Witaj.

Przeczytaj dokładnie o funkcji header w manualu.
Ja zacytuję tutaj:

Cytat
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.


Nie możesz wyświetlić nic a nic przed funkcją header().

Pozdrawiam
Go to the top of the page
+Quote Post
jaslanin
post
Post #3





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


jeżeli nie wykorzystujesz tego skryptu do dynamicznego tworzenia obrazków to możesz usunąć ten heder.

jego zadanie polega na tym by poinformować, że dane które są przesyłane przez przeglądarkę powinny być przetwarzane tak jakby były formatu obrazkowego, jeżeli tego nie potrzebujesz to możesz usunąć ten header

@tolomei - mi się wydaje że on nie używa tego skryptu do tworzenia obrazków dynamicznie, tylko zapisuje obrazki do osobnego pliku, a ten header został tam wstawiony przypadkowo, niemniej jednak słuszna uwaga odnośnie używania funkcji header

Ten post edytował jaslanin 1.04.2012, 14:09:53
Go to the top of the page
+Quote Post
sliwa007
post
Post #4





Grupa: Zarejestrowani
Postów: 69
Pomógł: 7
Dołączył: 18.08.2010
Skąd: Rzeszów

Ostrzeżenie: (10%)
X----


jeżeli skrypt służy do zapisania obrazka to możesz usunąć ten header.

Potrzebny byłby w przypadku kiedy skrypt miałby wyświetlać obrazek a nie go zapisywać.
Go to the top of the page
+Quote Post
slimboot
post
Post #5





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 14.03.2011

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


Faktycznie skrypt słuzy mi tylko do zapisywania obrazka, więc tak jak radzicie usune tą funkcję
Dzieki wszystkim za pomoc:)
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 - 02:15