![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 1 Dołączył: 22.11.2007 Skąd: lbn Ostrzeżenie: (0%) ![]() ![]() |
witam mam taki mały problem.. googluje i googluje forum tez przejrzałem i nie moge znalesc rozwiazania... a mianowicie mamk taki kod odpowiada on za wczytanie zawartosci katalogu uploadx dzie sa uploadowane pliczki za pomoca innego skryptu php no i problem polega na tym ze gdy załaduje plik o jakiejkolwiek nazwie ciągłej np xxxsdfase.xxx xasdfx_xxx.xxx itd to wyswietla nie jest ok natomiast gdy nazwaq pliku jet przerwana spacją to juz nie moze odnalesc pliku i przy kliknieciu na wygenerowany link wyskakuje mi monit ze nie ma takiego pliku... jak zrobic by dobrze linkował nazwy plików ze spacja...
![]() oto kod: --------------------------------------------------------- <style type="text/css"> </style><div align="center"></div> <? $sciezka = "uploadx/"; $lista=array(); $katalog = opendir($sciezka); while ($plik = strtolower(readdir($katalog))) { if (($plik<>".")&&($plik<>"..")) if(!is_dir($sciezka.$plik)) $lista[]=$plik; } closedir($katalog); sort($lista); for ($i=0;$i<count($lista);$i++) { echo " <br> <a href=\"uploadx/$lista[$i]\">$lista[$i]</a>"; } ?> ---------------------------------------------------------- pytanie 2 jak zrobic aby kod po wczytaniu i sprawdzeniu zawartosci katalogu "uploadx" rozpoznał i odróznił pliki od folderów, przy folderach dał ikone folderu przy plikach pliku.. no i uszeregował je aby foldery były przed plikami.. a takze na poczatku aby był link umozliwiajacy powrót do folderu o jeden poziom wyzej gdy wejdziemy do jakiegos katalogu podrzednego... wyswietlanie rozmiaru pliku i daty takze mile widziane... chodzi mi o takie cos jak na tym przykładzie: ![]() dodam ze na php niebardzo sie znam i tak dobrze ze to zrobic mi sie udało... wczensiej miałem serwer z automatycznymi indexami i uploaderem a teraz lipa nic na nim nie ma i trzeba wszystko zrobic samemu.. uploadera juz napisałem i dziala ok no ale to wyswietlanie juz mnie wkurza prosze o jakies przykłady albo rozwiazanie moego problemu... Ten post edytował tofik1778983 22.11.2007, 22:03:48 -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
spacje i polskie znaki są nie zalecane w nazwach.... w pliku uploadującym daj aby zmieniało spacje na _ i po kłopocie...
PS. Dodaj tagi i znaczniki -------------------- "Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...] Grins: mów normalnie do mnie a nie po polsku Ja: normalnie to znaczy jak? Grins: No w PHP... inaczej mój parser ledwo kuma:) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 32 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Spacje i inne znaki specjalne trzeba odpowiednio zakodować - do tego służy funkcja urlencode. Pliki i katalogi można natomiast rozróżnić za pomocą is_file i is_dir.
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 1 Dołączył: 22.11.2007 Skąd: lbn Ostrzeżenie: (0%) ![]() ![]() |
hmmm no ok a moze jakis przykłady bo jak dla mnie to kolejne kilka dni siedzienia i pisania krok po kroku wedłóg manuala..... i patrzenie na coraz to fajniejsze błedy
a za taki sorka ale u mnie cos nie dziala i dlatego wkleiłem kod normalnie.. jesli chodzi o zmiane nazwy znaku na inny to oto chodzi?? aby "spacja" zamieniła sie na " _ " jesli tak to gdize i jak to wstawic do mojego kodu bo nie wiem jak sie za to zabrac... <?php function escape($url) { return str_replace("%20", "_", urlencode($url)); } ?> albo moze by sie dało dorzycic funkcje do pliku uploadera zeby przy ładowaniu pliku na serwer zmienił odrazu jego nazwe.. ![]() Ten post edytował tofik1778983 23.11.2007, 00:29:22 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Cytat albo moze by sie dało dorzycic funkcje do pliku uploadera zeby przy ładowaniu pliku na serwer zmienił odrazu jego nazwe..questionmark.gif? a gdzie Ty chcesz to dawać? jasne że do skryptu ładującego...
po pierwsze jeśli dajesz urlencode() to nie musisz zmieniać spacji bo urlencode sam zmieni je na +... dla estetyki mozesz zrobić:
a jak byś się uparł na tę zmiene spacj w str_replace daj tak: bo Ty zmieniałeś ciąg znaków "%20" na "_" a spacji tu nawet nie ma(PHP tak nie działa - %20 nie jest tym samym co spacja...) -------------------- "Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...] Grins: mów normalnie do mnie a nie po polsku Ja: normalnie to znaczy jak? Grins: No w PHP... inaczej mój parser ledwo kuma:) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 20:48 |