Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][AJAX][PHP]Problem ze ściażką do katalogu
Forum PHP.pl > Forum > Przedszkole
artgrus
Mam taki oto kod służący do odczytywania zawartości katalogu. Nie jest on w 100% doskonały, ale na opisanie mojego problemu w sam raz.

PHP:
  1. <?php
  2. $nazwaKatalogu = '.';
  3. $otworz = opendir($nazwaKatalogu);
  4. while (!(($plik = readdir($otworz)) == false))
  5. {
  6. if ($plik != '.' && $plik != '..')
  7. {
  8. if (is_dir($nazwaKatalogu . '/' . $plik))
  9. {
  10. echo '(K) ' . $plik . '<br>(' . getcwd() . ')';
  11. }
  12. else
  13. {
  14. echo '(F) ' . $plik;
  15. }
  16. }
  17. }
  18. closedir($otworz);
  19. ?>



Przy nazwie każdego z katalogu pojawi się poprawna ścieżka do owego dira, włącznie ze slashami czy backslashami.
Jeżeli chcę przesłać tę ścieżkę normalnie przez $_GET (bez ajaxa - z standardowym odświeżeniem strony), to ścieżka zostaje wyświetlana razem z tymi kreskami. Czyli dobrze. Błąd pojawia się gdy chcę przesłać ścieżkę w ajaxie (jQuery)

Jeżeli chcę przesłać ścieżkę przez AJAXA, np w jQuery taką metodą że przy kliknięciu w link wywoływana jest funkcja z argumentem (gdzie argumentem jest funkcja php - getcwd():
  1. echo '<a href="#" onclick="f(\''.getcwd().'\')">link</a>';


To okazuje się że ścieżka zostaje przesyłana, ale gdzieś wcina backslashe i slashe. Przykład:
powinno przesłać np tak:
C:\wamp\www\test\folder\cos
a przesyła tak:
C:wampwwwtestfoldercos

Jaka jest przyczyna?
Czy jest jakiś sposób aby w ajaxie przesyłane zostały ścieżki z "ukośnikami"?
selecton
Spróbuj przerobić slashe na podwójne slashe przed wysłaniem. Nie wiem czy to w tym jest problem ale nie zaszkodzi spróbować.

  1. str_replace(DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR, $path)
artgrus
Dzięki selecton. To działa.
Nie sądziłem, że js wywala slashe.

Potrzebowałem tego do zrobienia opcji dodawania folderów w wybrane miejsce na dysku serwera.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.