Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt uploadu ftp
Forum PHP.pl > Forum > Gotowe rozwiązania
Phinix
Witam
[b]
Szukam jakiegoś dobrego rozwiązania, które pozwoli mi z wysyłać pliki na inny serwer. Sytuacja wygląda tak:

1.Mam stronę na serwerze "A"
2.Chcę wysyłać pliki na serwer "B"

mam tutaj taki skrypt lecz on nie działa nie wysyła pliku tylko wyrzuca jakiś błąd


  1. <html>
  2. <body>
  3. <table border="1" bordercolor="black" cellspacing="0">
  4. <tr><td>
  5. <table border="0" cellpadding="5" cellspacing="0" bgcolor=white>
  6. <form enctype="multipart/form-data" method="post" action="upload.php">
  7. <tr>
  8. <td colspan="2"><font face="arial" size="2">Plik</font>
  9. <input type="file" name="fupload"></td>
  10. </tr>
  11. <tr>
  12. <td colspan="2" align="center">
  13. <input type="submit" value="Wyślij"> <input type="reset" value="Anuluj"></form>
  14. </td></tr></table>
  15. </td></tr></table>
  16. </center>
  17. </body>
  18. </html>



--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


  1. <?php
  2. $host = "ftp.moja_strona.pl";
  3. $username = "uzytkownik";
  4. $moje_haslo = "upload";
  5. $port = 21;
  6. foreach($HTTP_POST_VARS as $key=>$val)
  7. {
  8. if($var=="" or !$var)
  9. {
  10. print "<font face="arial" size="2">Nie zaznaczyłeś $key pliku do przesłania<br><a href="java script:history.back()">Powrót</a></font>";
  11. exit();
  12. }
  13. }
  14. $ftp_connect=@ftp_connect($host,$port);
  15. if(!$ftp_connect)
  16. {
  17. print "<font face="arial" size="2">Błšd połšczenia z serwerem $host<br><a href="java script:history.back()">Powrót</a></font>";
  18. exit();
  19. }
  20. $ftp_login=@ftp_login($ftp_connect,$username,$moje_haslo);
  21. if(!$ftp_login)
  22. {
  23. print "<font face="arial" size="2">Niepoprawny login<br><a href="java script:history.back()">Powrót</a></font>";
  24. exit();
  25. }
  26. $fp=@fopen($fupload,"r");
  27. if(!$fp)
  28. {
  29. print "<font face="arial" size="2">Przesłanie wybranego pliku jest niemożliwe<br><a href="java script:history.back()">Powrót</a></font>";
  30. exit();
  31. }
  32. @ftp_fput($ftp_connect,$fupload_name,$fp,FTP_BINARY) or die("<font face="arial" size="2">Przesłanie wybranego pliku jest niemożliwe<br><a href="java script:history.back()">Powrót</a></font>");
  33. echo "<font face="arial" size="2"><center><br><br><br>Przesłanie pliku <b>$fupload_name</b>,<br>o rozmiarze <b>$fupload_size bajtów</b>,<br>zostało zakończone sukcesem!<br><br><a href="java script:history.back()">Powrót</a></center></font>";
  34. fclose($fp);
  35. ftp_quit($ftp_connect);
  36. ?>




  1. Parse error: syntax error, unexpected T_STRING in /home/hostsi1/domains/stronawww.pl/public_html/upload.php on line 10
sowiq
Ściągnij sobie jakiś edytor z kolorowaniem składni, chociażby darmowy Notepad 2.

Zamiast np:
  1. print "<font face="arial" size="2">Nie zaznaczyłeś $key pliku do przesłania<br><a href="java script:history.back()">Powrót</a></font>";

powinieneś mieć:
  1. print '<font face="arial" size="2">Nie zaznaczyłeś ' . $key . ' pliku do przesłania<br><a href="java script:history.back()">Powrót</a></font>';

bo mieszają Ci się cudzysłowy - zauważ, że nawet forumowy listing jest kolorowany inaczej.
Phinix
dzieki wielkie za pomoc

Jest jeszcze 1 problem , gdy wchodze strona.pl/wyslij.php zaznaczam plik przerzuca mnie na strona.pl/upload.php i wyskakuje komunikat"Przesyłanie wybranego pliku jest nie możliwe" w czym może być błąd




wyslij.php


  1. <body>
  2. <table border="1" bordercolor="black" cellspacing="0">
  3. <tr><td>
  4. <table border="0" cellpadding="5" cellspacing="0" bgcolor=white>
  5. <form enctype="multipart/form-data" method="post" action="upload.php">
  6. <tr>
  7. <td colspan="2"><font face="arial" size="2">Plik</font>
  8. <input type="file" name="fupload"></td>
  9. </tr>
  10. <tr>
  11. <td colspan="2" align="center">
  12. <input type="submit" value="Wyślij"> <input type="reset" value="Anuluj"></form>
  13. </td></tr></table>
  14. </td></tr></table>
  15. </center>
  16. </body>
  17. </html>





upload.php


  1. <?php
  2. <?php
  3. $host = "ftp";
  4. $username = "loginl";
  5. $moje_haslo = "haslo";
  6. $port = 21;
  7. foreach($HTTP_POST_VARS as $key=>$val)
  8. {
  9. if($val=="" or !$val)
  10. {
  11. print '<font face="arial" size="2">Nie zaznaczyłeś ' . $key . ' pliku do przesłania<br><a href="java script:history.back()">Powrót</a></font>';
  12. exit();
  13. }
  14. }
  15. $ftp_connect=@ftp_connect($host,$port);
  16. if(!$ftp_connect)
  17. {
  18. print '<font face="arial" size="2">Błąd połączenia ' . $key . ' z serwerem<br><a href="java script:history.back()">Powrót</a></font>';
  19. exit();
  20. }
  21. $ftp_login=@ftp_login($ftp_connect,$username,$moje_haslo);
  22. if(!$ftp_login)
  23. {
  24. print '<font face="arial" size="2">Nie poprawny ' . $key . 'login<br><a href="java script:history.back()">Powrót</a></font>';
  25. exit();
  26. }
  27. $fp=@fopen($fupload,"r");
  28. if(!$fp)
  29. {
  30. print '<font face="arial" size="2">Przesyłanie wybranego pliku jest nie' . $key . ' możliwe<br><a href="java script:history.back()">Powrót</a></font>';
  31. exit();
  32. }
  33. @ftp_fput($ftp_connect,$fupload_name,$fp,FTP_BINARY) or die('<font face="arial" size="2">Przesłanie wybranego pliku jest niemożliwe<br><a href="java script:history.back()">Powrót</a></font>');
  34. echo '<font face="arial" size="2"><center><br><br><br>Przesłanie pliku <b>$fupload_name</b>,<br>o rozmiarze <b>$fupload_size bajtów</b>,<br>zostało zakończone sukcesem!<br><br><a href="java script:history.back()">Powrót</a></center></font>';
  35. fclose($fp);
  36. ftp_quit($ftp_connect);
  37. ?>


problem roziwązany
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-2024 Invision Power Services, Inc.