Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyswietlanie zawartosci katalogu &&
tofik1778983
post 22.11.2007, 22:02:18
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... questionmark.gif ?

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


--------------------
Go to the top of the page
+Quote Post
dadexix
post 22.11.2007, 22:10:06
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:)
Go to the top of the page
+Quote Post
SirZooro
post 22.11.2007, 22:11:29
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.


--------------------
Go to the top of the page
+Quote Post
tofik1778983
post 22.11.2007, 23:10:47
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..questionmark.gif?

Ten post edytował tofik1778983 23.11.2007, 00:29:22


--------------------
Go to the top of the page
+Quote Post
dadexix
post 23.11.2007, 09:31:13
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...

  1. <?php
  2. function escape($url)
  3. {
  4. return str_replace("%20", "_", urlencode($url));
  5. }
  6. ?>


po pierwsze jeśli dajesz urlencode() to nie musisz zmieniać spacji bo urlencode sam zmieni je na +... dla estetyki mozesz zrobić:
  1. <?php
  2. return str_replace("+", "_", urlencode($url));
  3. ?>


a jak byś się uparł na tę zmiene spacj w str_replace daj tak:
  1. <?php
  2. return str_replace(" ", "_", urlencode($url));
  3. ?>
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:)
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:48