Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem uploadem plików na serwer.
Forum PHP.pl > Forum > Przedszkole
bobo168
Witam mam taki skrypt uploadowania plików na serwer:
wyslij.php
  1. <?php
  2. <html>
  3. <body>
  4. <center>
  5. <table border="1" bordercolor="black" cellspacing="0">
  6. <tr><td>
  7. <table border="0" cellpadding="5" cellspacing="0" bgcolor=white>
  8. <form enctype="multipart/form-data" method="post" action="upload.php">
  9. <tr>
  10. <td colspan="2"><font face="arial" size="2">Plik</font>
  11. <input type="file" name="fupload"></td>
  12. </tr>
  13. <tr>
  14. <td colspan="2" align="center">
  15. <input type="submit" value="Wyślij"> <input type="reset" value="Anuluj"></form>
  16. </td></tr></table>
  17. </td></tr></table>
  18. </center>
  19. </body>
  20. </html>
  21. ?>

upload.php
  1. <?php
  2. $host = "host";
  3. $username = "username";
  4. $moje_haslo = "haslo";
  5. $port = 21;
  6. foreach($HTTP_POST_VARS as $key=>$val)
  7. {
  8. if($val=="" or !$val)
  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. ?>

Lecz nie specjalnie działa :/ Pisze że plik został uploadowny na serwer itp. Ale na serwie go nie widać wczym leży problem?
Prosze o pomoc!:)
$liwa
Jakoś tak dziwnie to jest zapisane imho, ale chyba chodzi o to, że plik jest zapisany w folderze tymczasowym radze wykorzystać is_uploaded_file i move_uploaded_file
bobo168
Prubowałem... Ale kompletnie mi to nie wychodziło. Miałem problem z ścieżką pliku jaką określić. A więc przy okazji zapytam jak ma wygladać ścieżka pliku żeby plik zapisał się w folderze folio a skrypt znajduje się w foldezrze admin który jest w folderze folio...
$liwa
../nazwa pliku chyba tak się cofało;p znaczy "../"

co do uploadu to możesz zobaczyć jak ja zrobiłem tutaj: http://sliwa.vgroup.pl
bobo168
Dobra ten skrypt co napisałem w 1 poście działą ale zapisuje wszytskie pliki do głównego folderu. A ja chce żeby była w katalogu /file więc wpadłem na świetny pomysł (tongue.gif) żeby kopiowac te pliki z katalogu głównego do foloderu folio. No i mam z tym problem... Plik z fucknja copy(); jest w folderze /folio/admin/ i jak mam zapisać żeby mi kopiowało z głównego katalogu do folio ?:/
Pisze tak:
  1. <?php
  2. copy("../folio../".$fupload_name, "/folio/".$fupload_name) or die("Błąd przy kopiowaniu");
  3. ?>

Nie działa
Pisze tak:
  1. <?php
  2. copy("http://www.electronicweb.eu/".$fupload_name, "http://www.electronicweb.eu/folio/".$fupload_name) or die("Błąd przy kopiowaniu");
  3. ?>

Równierz nie działa... Więc jak mam to zrobić?
$liwa
czyli jest tak głowny folder/folio/admin
chcesz zapisuwac glowny folder/file
Więc cofasz sie ../../file/nazwa pliku chyba dobrze mowie
bobo168
A może mi ktoś powiedzieć czy te ścieżki określa względem kopiowanego pliku czy skryptu kopiującego?
lopik
Ja bym ten twój kod od razu zamienił np; na takie coś:
http://www.leon.w-wa.pl/texts/kurs/upload.php
FALCONcom
Cytat
ftp_fput($ftp_connect,$fupload_name,$fp,FTP_BINARY)


W zmiennej $fupload_name podaj dokladna scieszke gdzie ma byc zapisane zdjecie np:

Kod
$fupload_name = "folio/admin/foto.jpg"


Powinno zadzialac.
frickle
A ja wam powiem że to chyba zależy od serwera. Gdy dawałem względną ścieżkę typu:

  1. <?php
  2. '../pliki/'
  3. ?>


to mi wywalał błąd że katalog nie znajduje się w zdefiniowanych katalogach i nie mam pozwolenia na wejście

natomiast gdy dałem:

  1. <?php
  2. '/home/mojanazwa/public_html/../pliki'
  3. ?>


to działa bez zarzutu, chociaż wskazuje dokladnie na ten sam katalog. Jest to dziwne, ale cóż, jaśli tak trzeba to mogę wklepać te kilka znaków dodatkowo.

Aha, i wszystkie pliki ładuje domyślnie z uprawnieniami 600. A co ciekawe, gdy usiłuję zrobić im chmod na 777 to dostaję w efekcie 411. Ale w sumie i tak nikt nie będzie tych plików poprawiał tylko ściągał smile.gif
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.