Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Edycja Pliku przez połączenie ftp, jak zeedytować plik przez ftp.
miras
post
Post #1





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Witam, naskrobałem coś takiego:

  1. <?php
  2. $ftp_user_name=x;
  3. $ftp_user_pass=x;
  4. $ftp_server="x;
  5.  
  6. // ustaw podstawowe połączenie
  7. $conn_id = ftp_connect($ftp_server);
  8.  
  9. // zaloguj się nazwą użytkownika i hasłem
  10. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  11.  
  12. // sprawdź połączenie
  13. if ((!$conn_id) || (!$login_result)) {
  14. echo "Połączenie FTP się nie powiodło!";
  15. echo "Próbowano połączyć się do $ftp_server jako użytkownik"
  16. . $ftp_user_name;
  17. exit;
  18. } else {
  19. echo "Połączony z $ftp_server jako użytkownik $ftp_user_name";
  20. }
  21. $dane = "dane";
  22. $file = "sciezka pliku";
  23.  
  24. $fp = fopen($file, "a");
  25. flock($fp, 2);
  26. fwrite($fp, $dane);
  27. flock($fp, 3);
  28. fclose($fp);
  29.  
  30. ftp_close($conn_id);
  31. ?>
  32.  


Wypluwa błąd typu:

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/aronzuk/public_html/kosz/ftp/ftp.php on line 30

gdzieś w tym zapytaniu z dopisywaniem do tego pliku powinno być: FTP_BINARY tylko ja nie mam pojęcia ani nigdzie doczytać się nie mogę jak to ugryźć..

Proszę o pomoc i dziękuję z góry!


--------------------
Go to the top of the page
+Quote Post
memory
post
Post #2





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

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


$file powinno wygladać

  1. $file = "ftp://user:password@serwer.pl/public_html/tomek.txt";


Sprawdzałem na dwóch serwerach ftp działa
Go to the top of the page
+Quote Post
miras
post
Post #3





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Mam tak:

  1. <?php
  2. $dane = "AAAAA";
  3. $file = "ftp://x:x@193.33.177.40/sciezka/plik.txt";
  4. $fp = fopen($file, "a");
  5. flock($fp, 2);
  6. fwrite($fp, $dane);
  7. flock($fp, 3);
  8. fclose($fp);
  9. ?>
  10.  



I błędy:


Warning: flock() expects parameter 1 to be resource, boolean given in /home/aronzuk/public_html/kosz/ftp/ftp.php on line 5



Warning: fopen() [function.fopen]: Couldn't resolve host name in /home/aronzuk/public_html/kosz/ftp/ftp.php on line 4


@@@@ UP


To chyba wina serwera www, bo na innym wrzuciłem to i działa, ale nie dodaje tej linijki...

Ten post edytował miras 7.04.2012, 18:01:28


--------------------
Go to the top of the page
+Quote Post
memory
post
Post #4





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

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


  1. $fp = fopen($file, "a");


Spróbuj skasować plik , powinien go utworzyć .Jeżeli poprawnie podałeś ścieżkę.

  1. Warning: fopen() [function.fopen]: Couldn't resolve host name in /home/aronzuk/public_html/kosz/ftp/ftp.php on line 4


Nie masz połączania z serwerem przez dns

Go to the top of the page
+Quote Post
miras
post
Post #5





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Nie mam pojęcia co jest... żadnych błędów a plik się nie tworzy, ścieżka na pewno jest dobra, bo to główny katalog..

  1. <?php
  2. $ftp_user_name=x;
  3. $ftp_user_pass=x;
  4. $ftp_server="193.33.177.40";
  5.  
  6. // ustaw podstawowe połączenie
  7. $conn_id = ftp_connect($ftp_server);
  8.  
  9. // zaloguj się nazwą użytkownika i hasłem
  10. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  11.  
  12. // sprawdź połączenie
  13. if ((!$conn_id) || (!$login_result)) {
  14. echo "Połączenie FTP się nie powiodło!";
  15. echo "Próbowano połączyć się do $ftp_server jako użytkownik"
  16. . $ftp_user_name;
  17. exit;
  18. } else {
  19. echo "Połączony z $ftp_server jako użytkownik $ftp_user_name";
  20. }
  21.  
  22.  
  23. $dane = 'AAAAAAAAAAAAAAAAAA';
  24. $file = "ftp://x:x@193.33.177.40/cstrike/a.txt";
  25. $fp = fopen($file, "a");
  26. flock($fp, 2);
  27. fwrite($fp, $dane);
  28. flock($fp, 3);
  29. fclose($fp);
  30. ?>
  31.  
  32.  
  33.  
  34.  


--------------------
Go to the top of the page
+Quote Post
memory
post
Post #6





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

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


  1. $ftp_user_name=x;
  2.  
  3. $ftp_user_pass=x;
  4.  
  5. $ftp_server="193.33.177.40";
  6.  
  7.  
  8.  
  9. // ustaw podstawowe połączenie
  10.  
  11. $conn_id = ftp_connect($ftp_server);
  12.  
  13.  
  14.  
  15. // zaloguj się nazwą użytkownika i hasłem
  16.  
  17. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  18.  
  19.  
  20.  
  21. // sprawdź połączenie
  22.  
  23. if ((!$conn_id) || (!$login_result)) {
  24.  
  25. echo "Połączenie FTP się nie powiodło!";
  26.  
  27. echo "Próbowano połączyć się do $ftp_server jako użytkownik"
  28.  
  29. . $ftp_user_name;
  30.  
  31. exit;
  32.  
  33. } else {
  34.  
  35. echo "Połączony z $ftp_server jako użytkownik $ftp_user_name";
  36.  
  37. }


to ci jest nie potrzebne. Jedynie co mi przychodzi do głowy to zła ściezka, spróbuj ftp://x:x@193.33.177.40/public_html/cstrike/a.txt

Ten post edytował memory 7.04.2012, 18:36:52
Go to the top of the page
+Quote Post
miras
post
Post #7





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Z tym, że to nie jest serwer www tylko serwer gry counter strike.


--------------------
Go to the top of the page
+Quote Post
memory
post
Post #8





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

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


Napisz na jakim serwerze chcesz odpalić skrypt. Na zewnętrznym czy tam gdzie jest ten plik.

Pozdrawiam
Go to the top of the page
+Quote Post
miras
post
Post #9





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Na zewnętrznym...


Mam sobie pewien serwer www na którym znajduje się skrypt.php , który ma dopisywać linijkę do:

Mam sobie pewien serwer counter strike ( niczym nie związany z tym wcześniejszym serwerem www) i tam się znajduje plik x.txt, do którego ma być właśnie ta linjka dopisywana.


--------------------
Go to the top of the page
+Quote Post
memory
post
Post #10





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

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


  1. <?php
  2. ini_set('display_errors', true);
  3.  
  4. $ftp_user_name="user";
  5. $ftp_user_pass="passowrd";
  6. $ftp_server="serwer";
  7.  
  8. $conn_id = ftp_connect($ftp_server);
  9. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  10.  
  11.  
  12. $dane = 'AAAAAAAAAAAAAAAAAA';
  13. $file = '1234.txt'; //plik lokalny
  14.  
  15. if (file_exists($file))
  16. {
  17. $fp = fopen($file, "a");
  18. flock($fp, 2);
  19. fwrite($fp, $dane);
  20. flock($fp, 3);
  21. fclose($fp);
  22. echo "Katalog istnieje !";
  23.  
  24. }
  25.  
  26. if ((!$conn_id) || (!$login_result)) {
  27.  
  28. echo "Połączenie FTP się nie powiodło!";
  29.  
  30. echo "Próbowano połączyć się do $ftp_server jako użytkownik"
  31.  
  32. . $ftp_user_name;
  33.  
  34. exit;
  35.  
  36. } else {
  37.  
  38. echo "Połączony z $ftp_server jako użytkownik $ftp_user_name\n";
  39. echo "Bieżący katalog: " . ftp_pwd($conn_id) . "\n";
  40.  
  41. if (ftp_chdir($conn_id, "cstrike")) {
  42. echo "Bieżący katalog: " . ftp_pwd($conn_id) . "\n";
  43. } else {
  44. echo "Brak katalogu na zew serwerze\n";
  45. }
  46.  
  47.  
  48. ftp_pasv($conn_id, true); // pasywny tryb
  49.  
  50. $fp = fopen($file, "r+");
  51.  
  52. if (ftp_fput($conn_id, $file, $fp, FTP_BINARY)) {
  53. echo "Pomyślnie przesłano $file\n";
  54. } else {
  55. echo "Wystąpiły problemy w czasie przesyłania $file\n";
  56. }
  57.  
  58. ftp_close($conn_id);
  59. fclose($fp);
  60.  
  61.  
  62.  
  63. }
  64.  
  65. ?>


Najprościej utworzyć plik na serwerze php i przesłać metodą put na serwer ftp.

Więcej znajdziesz na ftp
Go to the top of the page
+Quote Post
miras
post
Post #11





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


  1. Warning: fopen(1234.txt) [function.fopen]: failed to open stream: No such file or directory in /home/p175486/public_html/ftp.php on line 51
  2.  
  3. Warning: ftp_fput() expects parameter 3 to be resource, boolean given in /home/p175486/public_html/ftp.php on line 53
  4.  
  5. Warning: fclose(): supplied argument is not a valid stream resource in /home/p175486/public_html/ftp.php on line 60


Poradziłem! DZIĘKI! biggrin.gif


--------------------
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 Aktualny czas: 19.08.2025 - 08:55