![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 7.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
a wiec tak.. nie wiem jaka powinienem wstawic komende która by blokowala pliki typu htm i php :/
umieszcze kod strony Kod <form name="upload" method="POST"
enctype="multipart/form-data" action="uploader.php"> <p>Upload System:<br> <input type="file" name="file" size="40" > <br> <input type="submit" value="Send"></p> </form> --htm [php:1:a081b4b605] <? copy("$file", "$file_name"); unlink("$file"); echo"<br><br><br><b>File Info:</b><br> <br> Link do pliku:<br>http://www.xxx.zzz.ppp.lll/$file_name<br> <br> Size: $file_size b"; ?> [/php:1:a081b4b605] ---php mozecie mnie wysmiac ale chce tylko sie dowiedziec jaki to ma byc kod.. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
[php:1:6a50d6f62e]
<?php $blokuj[] = 'text/html'; $blokuj[] = 'application/octet-stream'; if(in_array($_FILES['type'], $blokuj)){ echo 'Plików tego typu nie można przesyłać'; } else { move_uploaded_file($_FILES['plik']['tmp_name'], $_FILES['plik']['name']); //nigdy nie cytuj zmiennych, uzywaj zmiennych superglobalnych echo "<br><br><br><b>File Info:</b><br> <br> Link do pliku:<br>http://www.xxx.zzz.ppp.lll/".$_FILES[plik][name]." <br> <br> Size: $file_size b"; } ?> [/php:1:6a50d6f62e] PS. troche niestosowny tytuł tematu! -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 7.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Taki fajny Pan napisal to moze warto przeczytac
![]() http://php.pl/index.php/phppl/artyku_y/dla...h/upload_plik_w |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 7.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
nie no nie lapie tego :/
mozecie mi jakos to wytlumaczyc ![]() prosze #up moze jestem slepy ale jakos nie znalazlem nic na temat blokowania php i html podczas wysylania na server :/ |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 7.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
<bump>
[php:1:1ae4cdcfbc] <?php if($file_name='text/html'){ echo 'Error';} else { copy($file, $file_name); unlink($file); echo"<br><br><br><b>File Info:</b><br> <br> Link do pliku:<br>http://xxxxxxxxxx.xxxx/$file_name<br> <br> Size: $file_size b ";} ?> [/php:1:1ae4cdcfbc] mozeci mi wyjasnic co zle zrobilem... niestety jeszcze sie na tym nie znam jak wy, lecz bardzo zalezy mi zeby to dzialalo ... |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
1. nie $file_name tylko $file_type (pierwsza linijka)
2. nie $file_name czy $file_type tylko $_FILES['file']['name'] i $_FILES['file']['type'] 3. nie = tylko == (pierwsza linijka) 4. zamiast copy lepiej uzyc move_uploaded_file() -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 7.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
stary dzieki..twoja ostatnia odpowiedz bardzo mi pomogla
...ale... [php:1:667112781c] <?php if($file_type=='text/html') { echo 'Plik nie moze zostać przesłany <br>Prawdopodobnie zawiera złe rozszerzenie.<br> <br> <hr> <br> ';} else { copy($file, $file_name); unlink($file); echo"<br><br><br><b>File Info:</b><br> $file_name<br> Size: $file_size b ";} ?> [/php:1:667112781c] po wybraniu pliku który chce przerzucic jako pierwszy wybralem dowolny html. No i dzialala pokazywala sie komenda erroru. Potem sprawdzilem na gifach .. dzialalo ale gdy juz chcialem przetestowac na innym htmlu <-wybralem do tego ten html który odpowiada za wybieranie pliku do przerzucania...niestety ale wtedy sie error nie pokazal...czemu ![]() aha i jeszcze jedno jak jest ($file_type=='text/html') to moze byc ($file_type=='text/php') czy tez nie [chcialem to zrobic ale nie dzialalo w sensie nie wyskakiwal błąd] |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
[php:1:b96aa68467]<?php
// NAZWA PLIKU - "upload.php" // FUNKCJE: // - UPLOADOWANIE PLIKU (by Cudi) // - FILTR DLA WYBRANYCH TYPOW PLIKOW (http://www.dhtml.helion.pl/cgi-bin/listscript.fcgi?id=124) // - UPLOADOWANIE DO WYBRANEGO KATALOGU (LISTA TWORZONA DYNAMICZNIE PRZEZ REKURENCYJNĄ FUNKCJĘ CZYTANIA KATALOGU ( PHPSolutions nr 02/2004) // WSZELKIE SUGESTIE PROSZE ZGLASZAC NA GG:3820945 echo '<SCRIPT LANGUAGE="JavaScript"> <!-- Begin extArray = new Array(".inc", ".jpg", ".gif"); // TABLICA Z ROZSZERZENIAMI PLIKOW KTORE MAJA BYC AKCEPTOWANE DO WYSLANIA function LimitAttach(form, file) { allowSubmit = false; if (!file) return; while (file.indexOf("") != -1) file = file.slice(file.indexOf("") + 1); ext = file.slice(file.indexOf(".")).toLowerCase(); for (var i = 0; i < extArray.length; i++) { if (extArray[i] == ext) { allowSubmit = true; break; } } if (allowSubmit) form.submit(); else alert("Proszę wysyłać tylko pliki graficzne typu: " + (extArray.join(" ")) + "nProsze wybrać nowy plik " + "i wysłać ponownie."); } // End --> </script>'; if (!isset($_FILES['userfile']['tmp_name'])) { echo "Tym skryptem możesz wysyłać pliki na serwer. Można wysyłać tylko pliki <script> document.write(extArray.join(' ')); </script>"; echo '<form enctype="multipart/form-data" action="upload.php" method="POST" name="form" > <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Plik do wysłania:<br> <select size="1" name="dir">'; // FUNKCJA CZYTAJĄCA KATALOGI DO POLA SELECT $z = 1; function list_dir($chdir) { global $z; chdir($chdir); $handle = opendir('.'); if ($z==1) // JAKO PIERWSZA POZYCJA POJAWI SIE KATALOG GLOWNY (./) { $somepath2 = str_replace ("../", "/", $chdir); echo "<option value='c:/usr/apache/httpd/html".$somepath2."'>.".$somepath2 ."</option><br>n"; //echo "./" . $chdir . "<br>"; $z = 0; } while ($file = readdir($handle)) { if(is_dir($file) && $file != "." && $file != "..") // TU MOZNA WSTAWIC FILTRY, JAKIE KATALOGI NIE MOGA SIE POJAIWC (SKLADNIA: && $file != "NAZWA_KATALOGU") { $sdirs[] = $file; } } for($i=0; $i<sizeof($sdirs); $i++) { $basedir = realpath($sdirs[$i]); $b1 = str_replace ("" , "/", $basedir); $b2 = str_replace ("c:/usr/apache/httpd/html", ".", $b1); echo "<option value='".$b1."'>".$b2."</option><br>n"; list_dir($sdirs[$i]); chdir(".."); } } list_dir("."); // WYWOLANIE FUNKCJI Z PARAMETREM FOLDERU OD KTOREGO MA ZACZAC SKANOWANIE // KONIEC FUNKCJI CZYTAJĄCEJA KATALOG echo '</select> <input name="userfile" type="file" /> <input type=button value="Wyślij" onclick="LimitAttach(this.form, this.form.userfile.value)" /> </form>'; } elseif (isset($_FILES['userfile']['tmp_name'])) // UPLOADOWANIE PLIKU { if( is_uploaded_file( $_FILES['userfile']['tmp_name'] ) ) { $strUploadDir = $_POST['dir'] . "/" . $_FILES['userfile']['name']; // TWORZENIE SCIEZKI BEZWZGLEDNEJ NA PODSTAWIE OPCJI WYBRANEJ W POLU SELECT if( move_uploaded_file( $_FILES['userfile']['tmp_name'], $strUploadDir ) ) { echo 'Plik został pomyślnie uploadowany! <br />'; } else { echo 'Upload pliku nie powiódł się!'; } echo 'Dodatkowe informacje o uploadowanym pliku: <pre>' . print_r($_FILES, true ) . '</pre>'; echo $strUploadDir; // SCIEZKA BEZWZGLENA UPLOADOWANEGO PLIKU } else { echo 'Wystąpił błąd podczas wysyłania pliku na serwer!<br>'; } } ?>[/php:1:b96aa68467] mi działa bez zarzutu. dodatkowo masz wybór katalogu, w którym ma się znaleźć plik... |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 7.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
ale sęk w tym ze chce to zrobic w ty moim uploaderze a nie w innym :/
Chce dokonczyc to co zaczolem :/ |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 636 Pomógł: 0 Dołączył: 22.10.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Problem chyba jest juz zalatwiony ale jeszcze napisze - posrednim rozwiazaniem bedzie np. :
[xml:1:48a202681b]<input type="file" accept="image/gif,jpg,jpeg,png">[/xml:1:48a202681b] :arrow: http://www.kailastudio.com.pl/design/htm/h...tml/e/input.htm :arrow: http://www.kailastudio.com.pl/design/htm/h...html/t/mime.htm |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 107 Pomógł: 9 Dołączył: 16.02.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A nie będzie najprościej zrobić sprawdzenie rozszerzenia nazwy pliku przez substr?
if ($file and substr($file_name, -3) == "htm") print "Złe rozszerzenie"; Oczywiście samo wypisywanie błędów można zrobić tak żeby wyświetlało dalej formularz z błędami np. u gory na czerowno. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Cytat ale sęk w tym ze chce to zrobic w ty moim uploaderze a nie w innym :/
Chce dokonczyc to co zaczolem :/ czy to taki wielki problem przeanalizować mój kod i dopisać brakujący skrypt do Twojego :wink: Kod <SCRIPT LANGUAGE="JavaScript">
<!-- Begin extArray = new Array(".inc", ".jpg", ".gif"); // TABLICA Z ROZSZERZENIAMI PLIKOW KTORE MAJA BYC AKCEPTOWANE DO WYSLANIA function LimitAttach(form, file) { allowSubmit = false; if (!file) return; while (file.indexOf("") != -1) file = file.slice(file.indexOf("") + 1); ext = file.slice(file.indexOf(".")).toLowerCase(); for (var i = 0; i < extArray.length; i++) { if (extArray[i] == ext) { allowSubmit = true; break; } } if (allowSubmit) form.submit(); else alert("Proszę wysyłać tylko pliki graficzne typu: " + (extArray.join(" ")) + "nProsze wybrać nowy plik " + "i wysłać ponownie."); } // End --> </script> <form name="upload" method="POST" enctype="multipart/form-data" action="uploader.php"> <p>Upload System:<br> <input type="file" name="file" size="40" > <br> <input type="button" value="Wyślij" onclick="LimitAttach(this.upload, this.upload.file.value)" /> </p> </form> powinno chodzić ale sobie nie dam uciąć... poparaw ewentualnie atrybuty funkcji LimitAttach w przedostatniej lini (<input type...) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:31 |