Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] skrypt pod FF nie przesyła plików na serwer, pod IE tak
raak07
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 10.09.2007

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


Cześć
To mój kod do przesyłania plików.
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<title>test</title>
</head>
<body>
<div>
<form enctype="multipart/form-data" action="in.php" method="POST">
<input name="plik" type="file" />
<input type="submit" value="Wyślij plik" />
</form>
<?php

    if (isset($_FILES['plik']['error']) )    {
    $plik_tmp = $_FILES['plik']['tmp_name'];
    $plik_nazwa = $_FILES['plik']['name'];
    $plik_rozmiar = $_FILES['plik']['size'];
    if (!empty($_FILES['plik']['name']) && $_FILES['plik']['type']!='application/pdf' ) {
        print "<div class=\"wiadomosc\" ><span style=\"color: #CC0000;\">Plik: <b>".$_FILES['plik']['name']."</b> o rozmiarze <b>".$_FILES['plik']['size']."</b>bajtów nie został przesłany na serwer!</span></div>";
    }
    if (!empty($_FILES['plik']['name']) && $_FILES['plik']['type']=='application/pdf' )    {
    if(is_uploaded_file($plik_tmp)) {
     move_uploaded_file($plik_tmp, "pliki/$plik_nazwa");
            print "<div class=\"wiadomosc\" >Plik: <b>".$_FILES['plik']['name']."</b> o rozmiarze <b>".$_FILES['plik']['size']."</b> bajtów został przesłany na serwer!</div>";    
            }
        }
    } else { print "Za duży plik"; }

?>
</div>
</body>
</html>

Problem to, że pliki nie są przesyłane na serwer pod FF.
IE przesyła poprawnie pliki typu *.pdf tak jak założyłem.
Zawartość "$_FILES['type']" pod FF to "application/download" a powinno być "application/pdf"(chyba??)
Proszę o pomoc
pozdrawiam

Ten post edytował raak07 31.05.2010, 22:15:28
Go to the top of the page
+Quote Post
zend
post
Post #2





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


  1. //na początku
  2. ini_set('display_errors' , 'On');
  3.  
  4. //jeśli jest jakieś dane zostały wysłane
  5. echo '<pre>';
  6. print_r($_FILES['plik']);
  7. echo '</pre>';

Po analizie dostosuj swój skrypt
Go to the top of the page
+Quote Post
varez
post
Post #3





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

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


ty naprawde robisz zabezpieczenie uploadu w/g MIME wyslanego przez przegladarke? ohmy.gif
swietnie, podaj adres jak juz skonczysz, wykasuje Ci wszystko i zostawie zamiast strony glownej linki do stron na ktorych pisze jak porzadnie zabezpieczyc upload..

jezeli nie podoba Ci sie moja wizja poświęc 15 minut na google
Go to the top of the page
+Quote Post
raak07
post
Post #4





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 10.09.2007

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


Dziękuje za odpowiedzi i uwagi o bezpieczeństwie.
Tylko nadal nie rozumiem, dla czego plik jest przesyłany gdy uruchamiam go pod IE a ten sam plik nie jest przesłany gdy skrypt wykonywany jest pod FF
Jeszcze raz proszę o pomoc
Pozdrawiam
Go to the top of the page
+Quote Post
zend
post
Post #5





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Zrobiłeś to co napisałem? Jakie są wyniki? Faktycznie pusto?
Go to the top of the page
+Quote Post
raak07
post
Post #6





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 10.09.2007

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


Cześć
Dziękuję za zainteresowanie
Po wykonaniu Twojego skryptu wygląda to tak
gdy wykonuję go pod FF
Array
(
[name] => szkolenie.pdf
[type] => application/download
[tmp_name] => C:\WINDOWS\Temp\php97.tmp
[error] => 0
[size] => 51709
)

Array
(
[name] => Image0112.jpg
[type] => image/jpeg
[tmp_name] => C:\WINDOWS\Temp\php98.tmp
[error] => 0
[size] => 377225
)

a tak gdy wykonany jest pod IE

Array
(
[name] => szkolenie.pdf
[type] => application/pdf
[tmp_name] => C:\WINDOWS\Temp\php9A.tmp
[error] => 0
[size] => 51709
)

Array
(
[name] => Image0112.jpg
[type] => image/pjpeg
[tmp_name] => C:\WINDOWS\Temp\php9B.tmp
[error] => 0
[size] => 377225
)

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to juz wiesz czemu przechodzi ci tylko pod IE: dales taki warunek na typ ze przechodzi tylko pod IE. Jak sam widzisz FF zwraca inny typ. smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
raak07
post
Post #8





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 10.09.2007

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


Cześć
Dziękuję za zainteresowanie.
Wiem że typ jest inny, pisałem o tym już w pierwszym poście.
Pytanie, jak to możliwe że ten typ się zmienia na taki - application/download ale tylko u mnie.
Czy typ pliku nie jest stały i tak samo widziany przez różne przeglądarki?
Testowałem to na innych komputerach pod Chrome i też FF - tam jest ok.
Testowałem również inne typy plików pod moim FF i jest ok tz. odpowiedni typ dla pliku.
Ten typ zmienia się tylko u mnie i właśnie próbuję dojść co się przestawiło?
Wyczyściłem historię do zera, pliki ciasteczek też.
Jeszcze raz proszę o pomoc
Pozdrawiam
Go to the top of the page
+Quote Post
zend
post
Post #9





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


To zależy czy grzebałeś aż tak głęboko we "wnętrznościach" przeglądarki, jeśli nie no to zaakceptuj że tak musi być smile.gif Możesz też zainstalować jakąś starszą/nowszą wersję firefoxa i sprawdźić, ale nie sądzę żeby to coś dało
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: 19.08.2025 - 22:06