Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Łączenie z ftp przez php
Chelo
post 5.02.2010, 22:25:44
Post #1





Grupa: Zarejestrowani
Postów: 178
Pomógł: 8
Dołączył: 19.03.2007

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


Witam wszystkich. Potrzebuję skrypt, który zaloguje się na serwer ftp, pokaże wszystkie foldery. Po wejściu na dany folder pokazują się pliki zawarte w folderach a pod spodem pokazują się linki np:
ftp://a:b@asdasd.nex.qsd/test/2.pgp
ftp://a:b@asdasd.nex.qsd/test/3.pgp
ftp://a:b@asdasd.nex.qsd/test/4.pgp

narazie posiadam początek, jednak już zaczynają się schody

  1. <?
  2. echo '<html><body bgcolor="#e2e2e2"><form method="POST">';
  3.  
  4. if(!$_GET && !$_POST) { if($_SESSION['vname3']) { unset($_SESSION['vname3']); } }
  5.  
  6. $ftp_serwer = "ddd";
  7. $ftp_nu = "ssss";
  8. $ftp_haslo = "b3ssc123";
  9.  
  10.  
  11.  
  12. if(!$_POST['oks'] && !$_POST['vname1']) {
  13.  
  14. if($_SESSION['vname3']) { unset($_SESSION['vname3']); }
  15.  
  16. $conn_id = ftp_connect($ftp_serwer);
  17. $login_result = ftp_login($conn_id, $ftp_nu, $ftp_haslo);
  18.  
  19.  
  20. $w1 = ftp_pwd($conn_id);
  21. $w2 = ftp_nlist($conn_id, ".");
  22. $w4 = implode("<br>", $w2);
  23. $w3 = ' Jestes w katalogu: ' . $w1 . ' ';
  24. echo '<b>Przejdz do katalogu:</b> <input type="text" name="vname1"> <input type="submit" name="oks" value="Przejdz"> <b>Katalog: </b>' . $vname3 . ' / <a href="index.php"><b>Strona glowna</b></a><br><br>';
  25.  
  26.  
  27. echo $w4;
  28.  
  29. if($_SESSION['vname3']) { unset($_SESSION['vname3']); }
  30. ftp_close($conn_id);
  31.  
  32. }
  33.  
  34. if($_POST['oks'] && $_POST['vname1']) {
  35.  
  36.  
  37. $conn_id = ftp_connect($ftp_serwer);
  38. $login_result = ftp_login($conn_id, $ftp_nu, $ftp_haslo);
  39.  
  40. if($_SESSION['vname3'] == NULL) {
  41. if($_SESSION['vname3']) { unset($_SESSION['vname3']); }
  42. $vname1 = $_POST['vname1'];
  43. $_SESSION['vname3'] = $vname1;
  44. $vname3 = $_SESSION['vname3'];
  45. $vname2 = $vname3;
  46. }
  47.  
  48. if($_SESSION['vname3'] !== NULL && $_SESSION['vname3'] !== $_POST['vname1']) {
  49.  
  50. $vname0 = $_SESSION['vname3'];
  51. $vname1 = $_POST['vname1'];
  52.  
  53. $vname3 = $vname0 . '/' . $vname1;
  54. unset($_SESSION['vname3']);
  55. $vname2 = $vname3;
  56.  
  57. }
  58.  
  59.  
  60.  
  61.  
  62. $w2 = ftp_nlist($conn_id, $vname2);
  63. $w4 = implode("<br>", $w2);
  64. $w3 = ' Jestes w katalogu: ' . $w1 . ' ';
  65. echo '<b>Przejdz do katalogu:</b> <input type="text" name="vname1"> <input type="submit" name="oks" value="Przejdz"> <b>Katalog: </b>' . $vname3 . ' / <a href="index.php"><b>Strona glowna</b></a><br><br>';
  66.  
  67.  
  68. echo $w4;
  69.  
  70.  
  71.  
  72. ftp_close($conn_id);
  73. }
  74. echo '</form></body></html>';
  75.  
  76.  
  77. ?>


To praktycznie działa, choć mam 1 zastrzeżenie:

  1. && $_SESSION['vname3'] !== $_POST['vname1']


Tutaj jest źle sprecyzowany ciąg znaków. Otóż co gdy na prawde w tym folderze jest folder o takiej samej nazwie? niestety nie mam pojęcia jak mogę to naprawić

proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Kamil Pietrzak
post 5.02.2010, 22:29:40
Post #2





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

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


http://forum.php.pl/index.php?showtopic=14...mp;#entry709988 Dzisiaj, 21:19
http://forum.php.pl/index.php?s=&showt...st&p=710012 Dzisiaj, 22:25

nei za duzo troche ?
Go to the top of the page
+Quote Post
l3l0
post 5.02.2010, 22:56:11
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 16
Dołączył: 24.07.2009
Skąd: Gdańsk

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


Po co pisać skoro już ktoś to zrobił.

Możesz wykorzystać (rozwijać, ulepszać) jakieś instniejące rozwiązania np:
http://github.com/dg/ftp-php
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: 24.07.2025 - 16:12