Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z uploadem zdjec - dziala ale nie kazdemu...
Rafix24
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 13.03.2004

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


Witam,
Mam problem (a moze i problemu nie ma...) z uploadem zdjec polaczonym z generowaniem miniaturek.
Skrypt dzialal u mnie lokalnie, jak wrzucilem go na serwer to rowniez JA nie mam z nim klopotow - jednak aby upewnic sie ze wszystko gra poprosilem kolege zeby sprawdzil jak jemu to dziala i ... tu wielkie zdziwienie - jemu skrypt nie dziala. Nie wyswietlaja sie zadne komunikaty z bledami (ze zdjecie jest za duze, czy nie ten format pliku) - nie pokazuje nawet pierwszego komunikatu ze plik zostal zrzucony na serwer. Wszystko wyglada tak, jakby w ogole zdjecie nie bylo przesylane na serwer. Kolega twierdzi ze cos tam wysyla ale po wykonaniu sie calego skryptu strona sie nie zmienia tzn. nie dodaje sie zadne zdjecie ani nie ma zadnych komunikatow.

Sam nie moge tego sprawdzic, bo mi wszystko dziala. Analizowalem kod ale zadnych bledow wskazujacych na ten problem nie widze.
Stad mam do Was prosbe - moglibyscie zobaczyc gdzie moze byc blad, bo ja na prawde juz nic nie widze...

Wyciety kod odpowiedzialny za obsluge uploadowanych zdjec:
[php:1:3871640016]<?php
if (($type == 'image/jpg') or ($type == 'image/jpeg')) {

$folder="/obrazki/";
$uploaddir = $_SERVER['DOCUMENT_ROOT'].($folder);

$rand = md5(uniqid(mt_rand()));
$_FILES['userfile']['name'] = $rand.'.jpg';
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo"plik zostal zrzucony na serwer<br>";

}else{echo"Plik NIE ZOSTAL zrzucony na serwer! <br>";}
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$_FILES['userfile']['name']))
{

} else {
print "Kopiowanie zakończone <b>porażka</b>!"; }


$size = GetImageSize($uploaddir.$_FILES['userfile']['name']);
$width = $size[0];
$height = $size[1];


// POCZATEK TWORZENIA MINIATURKI
if (($width > '120' and $height >'90') or ($width > '68' and $height >'90')) {

if ($width > $height) {
if (!$max_width) $max_width = 120; // max szerokosc miniaturki
if (!$max_height) $max_height = 90; // max wysokosc miniaturki
$typ = 'poz';
} else {
if (!$max_width) $max_width = 68; // max szerokosc miniaturki
if (!$max_height) $max_height = 90; // max wysokosc miniaturki
$typ = 'pion';
}

$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;

if ( ($width <= $max_width) && ($height <= $max_height) ) {
$tn_width = $width;
$tn_height = $height;
}
else if (($x_ratio * $height) < $max_height) {
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width;
}
else {
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height;
}

$src = ImageCreateFromJpeg($uploaddir.$_FILES['userfile']['name']);
$dst = ImageCreateTrueColor($tn_width,$tn_height);

ImageCopyResampled ($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);

$dopisz = "m_"; //do miniaturki dopisze m_nazwapliku.jpg

ImageJpeg ($dst, $uploaddir.$dopisz .$_FILES['userfile']['name']);
// KONIEC TWORZENIA MINIATURKI

$zdj_m = $dopisz.$_FILES['userfile']['name'];

}else {echo "<p align=center class='info> Wielko?ć tego zdjęcia jest za mała!</p>"; }



// POCZATEK TWORZENIA MAX
if (($width > '640' and $height >'480') or ($width > '480' and $height >'640')) {

if ($width > $height) {
if (!$max_width1) $max_width1 = 640; // max szerokosc max
if (!$max_height1) $max_height1 = 480; // max wysokosc max
$typ = 'poz';
} else {
if (!$max_width1) $max_width1 = 480; // max szerokosc max
if (!$max_height1) $max_height1 = 640; // max wysokosc max
$typ = 'pion';
}

$x_ratio = $max_width1 / $width;
$y_ratio = $max_height1 / $height;

if ( ($width <= $max_width1) && ($height <= $max_height1) ) {
$tn_width = $width;
$tn_height = $height;
}
else if (($x_ratio * $height) < $max_height1) {
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width1;
}
else {
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height1;
}

$src = ImageCreateFromJpeg($uploaddir.$_FILES['userfile']['name']);
$dst = ImageCreateTrueColor($tn_width,$tn_height);

ImageCopyResampled ($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);

ImageJpeg ($dst, $uploaddir.$_FILES['userfile']['name']);

$width=$max_width1;
$height=$max_height1;
// KONIEC TWORZENIA MAX

$zdj = $_FILES['userfile']['name'];

}else {$zdj = $_FILES['userfile']['name'];}



}else { echo "<p align=center class='info>Ten typ pliku nie jest obslugiwany :-(<br></p>"; }

?>[/php:1:3871640016]

Formularz za pomoca ktorego przekazywane jest zdjecie :

Kod
<form enctype="multipart/form-data" action="admin.php?w=2&spr=1" method="post">

<input type="hidden" name="MAX_FILE_SIZE" value="3000000">

Wybierz zdjęcie: &nbsp; &nbsp;<input name="userfile" type="file">

&nbsp; <input type="submit" value="OK">

</form>


Bede wdzieczny za podpowiedzi smile.gif


--------------------
Pozdrawiam,
Rafal
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Bora
post
Post #2





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 15.06.2003

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


sprawdż w IE.
Ja używam Mozille i też sie zdziwiłem gdy mój kod nie działał.
Okazało sie że IE nie przesyła $_FILES['mime'].
Sprawdż może wina przeglądarki.
Go to the top of the page
+Quote Post
Rafix24
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 13.03.2004

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


Bora, to faktycznie moze byc wina przegladarki bo ja sprawdzalem na operze i netscape, a kolega uzywa IE - Co nalezy zmienic by ten skrypt dzialal rowniez w IE questionmark.gif?


--------------------
Pozdrawiam,
Rafal
Go to the top of the page
+Quote Post
Bora
post
Post #4





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 15.06.2003

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


[php:1:7a00c66157]<?php
if (($type == 'image/jpg') or ($type == 'image/jpeg')) {
?>[/php:1:7a00c66157]
nie wiem skąd to bierzesz ale chyba własnie z mime.
Sprawdzaj po rozszerzeniu pliku
Go to the top of the page
+Quote Post
Rafix24
post
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 13.03.2004

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


biore to z :
[php:1:b7894fbdcf]<?php
$type = $_FILES['userfile']['type'];
?>[/php:1:b7894fbdcf]

Z tego co zauwazylem to wiekszosc tego typu skryptow, takze na tym forum, sprawdza typ obrazka wlasnie w taki sposob.
Jak moge zrobic to inaczej? Moze jakis kod questionmark.gif? 8)


--------------------
Pozdrawiam,
Rafal
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 Aktualny czas: 20.08.2025 - 07:55