![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 22.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam problem z uploadem oto link do niego
http://www.upload-triosat.pl/ problem tkwi w tym że jeżeli ktoś wżuci plik z nazwą np: "D+ _OK_KEY.zip" to w Panelu administratora nie mogę usunąc tego pliku ani zeedytować jego nazwy gdy chcę go usunąc wyskakuje mi nastepujący błąd: Kod Error: w bazie nie ma takiego pliku. (data/D _OK_KEY.zip) [b]Warning[/b]: Cannot modify header information - headers already sent by (output started at /home/uploadts/ftp/dots/index.php:111) in [b]/home/uploadts/ftp/dots/index.php[/b] on line [b]215 gdy wchodzę w edycję wyskakuje: nazwa pliku: D _OK_KEY.zip Kod [/b][b]Warning[/b]: file_get_contents(opisy/D _OK_KEY.zip.opis) [[url="http://uploadts.nazwa.pl/dots/function.file-get-contents"]function.file-get-contents[/url]]: failed to open stream: No such file or directory in [b]/home/uploadts/ftp/dots/index.php[/b] on line [b]324 po zmianie nazwy na :[/b]dsds.zip i zatwierdzeniu wyskakuje Kod [/b][b]Warning[/b]: rename(data/D _OK_KEY.zip,data/dsds.zip) [[url="http://uploadts.nazwa.pl/dots/function.rename"]function.rename[/url]]: No such file or directory in [b]/home/uploadts/ftp/dots/index.php[/b] on line [b]336[/b] [b]Warning[/b]: Cannot modify header information - headers already sent by (output started at /home/uploadts/ftp/dots/index.php:336) in [b]/home/uploadts/ftp/dots/index.php[/b] on line [b]215 z góry dziękuje za odpowiedz i pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 7 Dołączył: 2.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Pomysł vtunera jest prawie dobry - pod warunkiem, że rozszerzenie pliku jest zawsze takie samo.
A tu całe rozwiązanie z założeniem, że uploudujesz tylko np .jpg: Kod //determine filename $filename= md5($file['name'].time()); $filename .= ".jpg"; if (isset($_POST['filename']) && $_POST['filename']!="") { $filename= md5($_POST['filename'].time()); $filename .= ".jpg"; } $filename=basename($filename); $filename=explode(".",basename($filename)); $ext = $filename[count($filename)-1]; unset($filename[count($filename)-1]); $filename=join('_',$filename).'.'.$ext; ale łatwiej i znacznie lepiej zrobić to preg_matchem, tutaj opis funkcji: (sam nie korzystalem jeszcze, dlatego mogą być błędy) http://pl.php.net/preg_match to będzie coś takiego: Kod //determine filename if(!(preg_match("/^[a-zA-Z0-9.\\-_]/", $file['name'], $filename))) { echo "plik ma nieprawidłową nazwę!"; die; } if (isset($_POST['filename']) && $_POST['filename']!="") { if(!(preg_match("/^[a-zA-Z0-9.\\-_]/", $_POST['filename'], $filename))) { echo "plik ma nieprawidłową nazwę!"; die; } } $filename=basename($filename); $filename=explode(".",basename($filename)); $ext = $filename[count($filename)-1]; unset($filename[count($filename)-1]); $filename=join('_',$filename).'.'.$ext; tylko jezeli plik bedzie mial zła nazwe, to caly skrypt sie zatrzyma, nie mam teraz czasu napisac tego inaczej, ale mozesz to zrobic sam, bo to nic trudnego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 17:43 |