Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyswietlanie pliku z spacja w nazwie
bzz
post 11.01.2005, 14:22:21
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.01.2003

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


witm
nie dawno zaczolem uczyc sie php i napisalem maly scrypt do wyswietlania zawartosci katalogow

  1. <?
  2. include &#092;"cfg.php\";
  3. echo&#092;"<body >\";
  4. function getfilesize($bytes) {
  5.  if ($bytes >= 1099511627776) {
  6.  $return = round($bytes / 1024 / 1024 / 1024 / 1024, 2);
  7.  $suffix = &#092;"TB\";
  8.  } elseif ($bytes >= 1073741824) {
  9.  $return = round($bytes / 1024 / 1024 / 1024, 2);
  10.  $suffix = &#092;"GB\";
  11.  } elseif ($bytes >= 1048576) {
  12.  $return = round($bytes / 1024 / 1024, 2);
  13.  $suffix = &#092;"MB\";
  14.  } elseif ($bytes >= 1024) {
  15.  $return = round($bytes / 1024, 2);
  16.  $suffix = &#092;"KB\";
  17.  } else {
  18.  $return = $bytes;
  19.  $suffix = &#092;"Byte\";
  20.  }
  21.  if ($return == 1) {
  22.  $return .= &#092;" \" . $suffix;
  23.  } else {
  24.  $return .= &#092;" \" . $suffix . \"s\";
  25.  }
  26.  return $return;
  27. }
  28.  
  29.  
  30. if ($_GET[&#092;"path\"]==\"\") {
  31. $path = &#092;"./pliki\";
  32. } else {
  33. $path=$_GET[&#092;"path\"];
  34. }
  35.  
  36. echo &#092;"<center><table width=80%><tr><td></td></tr>\";
  37.  
  38. echo &#092;"<tr><th></th><th align=left>Nazwa</th><th align=right>Wielkosc</th><th align=right>Data</th></tr>\";
  39. if ($handle = opendir($path)) {
  40. while (false !== ($file = readdir($handle))) { 
  41. if ($file != &#092;".\" && $file != \"..\") { 
  42. if (is_dir(&#092;"$path/$file\")==true){
  43.  
  44. $czas = date(&#092;"d-m-Y\",filectime(\"$path/$file\"));
  45.  
  46.  
  47.  echo &#092;"<tr><td><img src=./gfx/folder.ico /></td><td><a href=files.php?path=$path/$file>$file</a></td><td align=right></td><td align=right> $czas</td> </tr>\";
  48.  
  49. }else{
  50.  $wielkosc = getfilesize(filesize(&#092;"$path/$file\"));
  51. $czas = date(&#092;"d-m-Y\",filectime(\"$path/$file\"));
  52.  echo &#092;"<tr><td><img src=./gfx/file.ico /></td><td><a href=$path/$file>$file</a></td><td align=right>$wielkosc</td><td align=right> $czas</td> </tr>\";
  53. }
  54.  
  55. } 
  56. }
  57. closedir($handle); 
  58. }
  59. echo &#092;"</table></center>\";
  60.  
  61. ?>


i mam taki problem
jesli plik zawiera spacje w nazwie to do zmiennej zapisana zostaje nie cala nazwa pliku
tzn do pierwszej spacji

mozecie mi podpowiedziec jak zrobic by wyswietlalo nazwy ze spacjami ?
szukalem na forum ale sie nie doszukalem sad.gif


--------------------
----------
bzz...
Go to the top of the page
+Quote Post
crash
post 11.01.2005, 14:36:53
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


U mnie readdir" title="Zobacz w manualu PHP" target="_manual wyświetla poprawnie nazwy plików ze spacjami, jeśli u Ciebie np. został poprawnie odczytany czas utworzenia to znaczy, że nazwy też powinny zostać poprawnie odczytane.


--------------------
Go to the top of the page
+Quote Post
bzz
post 11.01.2005, 14:57:28
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.01.2003

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


no tak
  1. <?php
  2. echo $file 
  3. ?>
wyswietla mi cala nazwe ale jak wstawiam to do
  1. <?php
  2. echo &#092;"<a href=files.php?path=$path/$file>$file</a>\"
  3. ?>
to dziala tylko do spacji
tzn jak katalog ma nazwe"bzz bzz" to adres linku jest "http://jakasdomena.cos/pliki/bzz" zamiast "http://jakasdomena.cos/pliki/bzz bzz"
jakis pomysl na rozwiazanie tego ?

Ten post edytował bzz 11.01.2005, 15:12:44


--------------------
----------
bzz...
Go to the top of the page
+Quote Post
crash
post 11.01.2005, 15:22:34
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


  1. <?php
  2. echo '<a href=\"files.php?path='.urlencode($path.'/'.$file).&#092;">'.$file.'</a>';
  3. ?>


--------------------
Go to the top of the page
+Quote Post
bzz
post 11.01.2005, 21:25:50
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.01.2003

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


THX dzila smile.gif
ale chyba lepiej dziala jak zrobie to tak

  1. <?php
  2. $url = str_replace(' ','%20',$file);
  3. <a href=files.php?path=$url>$file</a>
  4. ?>


pozdrawiam

Ten post edytował bzz 11.01.2005, 21:47:45


--------------------
----------
bzz...
Go to the top of the page
+Quote Post
dr_bonzo
post 13.02.2005, 12:38:18
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Mam problem z otwieraniem URLi (file_get_contents()) ze spacjami, &, ?, itd.

Nie otwiera:
- urla przekazanego bezposrednio:
http://127.0.0.1/services/rss/rss spacje&sd%sd.xml?asd=ad5

- po zakodowanie [raw]urlencode:
http%3A%2F%2F127.0.0.1%2Fservices%2Frss%2Frss%20spacje%26sd%25sd.xml%3Fasd%3Dad5
http%3A%2F%2F127.0.0.1%2Fservices%2Frss%2Frss+spacje%26sd%25sd.xml%3Fasd%3Dad5

Dopiero po zamianie niektorych znakow (%XX) na ich odpowieniki
  1. <?php
  2. str_replace( array( '%3A', '%2F', '%3F', '%3D' ), array( ':', '/', '?', '&' ), $sRSS_url );
  3. ?>

potrafi otworzyc URLa.

Pytanie brzmi:
Ktore znaki musza byc zakodowane, a ktore nie?
Lub jak otworzyc takiego urla w inny sposob?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
plewa
post 13.02.2005, 17:47:03
Post #7





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 16.01.2005

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


Gdy skrypt napotka spację zamienia spację na ciąg '%20".


--------------------
W razie problemów zapoznaj się z treścią manuala dołączonego do internetu bądź skonsultuj się z programistą lub jego asystentem.
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: 14.08.2025 - 03:40