Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html]Upload plików na serwer ftp.
Forum PHP.pl > Forum > Przedszkole
uzytkowicz
no to zacznijmy od tego że mam serwa na 60free.ovh.org ;]] to może się poprostu nie da :)) przeanalizowałem wszystko tutaj http://algorytmy.pl/doc/php/ref.ftp.php i dalej nic... jak w temacie zależy mi na tym aby wrzucić plik na serwer ftp za pomocą przeglądarki :)) a więc pierw zrobiłem to:

index.html

  1. <form enctype="multipart/form-data" action="wyslij.php" method="POST">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  3. Wyślij plik: <input name="userfile" type="file" /><
  4. input type="submit" value="Send File" />
  5. </form>


czyli chyba ma się rozumieć że plik wysłany za pomocą tego formularza mam pod zmienną $userfile ??

następny krok

wyslij.php

  1. <?php
  2. $proxyhost = "ftp.60free.ovh.org";
  3. $user = "user";
  4. $password = "pass";
  5. $conn_id = ftp_connect($proxyhost);
  6. $dz = ftp_login($conn_id,$user,$password);
  7. $up = ftp_put($conn_id, $userfile, $userfile, FTP_BINARY);
  8. ftp_close($conn_id);
  9. ?>


i teraz dodam tylko że DZ == 1, czyli loguje się i wszystko ok a niestety UP się nie udaje... nie wiem co jest źle :(( pomocy... ;]
webdice
Spróbuj zmienić $userfile na $_POST['userfile']

EDIT: @Zeman święta racja, przepraszam za wprowadzenie w błąd.
uzytkowicz
no i nic nie pomogło... sad.gif( pliku nie ma sad.gif(
Zeman
Cytat(webdicepl @ 10.04.2007, 23:11:10 ) *
Spróbuj zmienić $userfile na $_POST['userfile']


Pewnie Pan przeoczył, że to był input typu file więc $_FILES['userfile'] winksmiley.jpg
uzytkowicz
No i zmieniłem ;]]

Aktualnie to wygląda tak

  1. <?php
  2. $proxyhost = "ftp.60free.ovh.org";
  3. $user = "user";
  4. $password = "pass";
  5. $conn_id = ftp_connect($proxyhost);
  6. ftp_login($conn_id,$user,$password);
  7. ftp_put($conn_id, $_FILES['userfile'], $_FILES['userfile'], FTP_BINARY);
  8. ftp_close($conn_id);
  9. ?>


i zwraca mi tak:

Warning: ftp_put() expects parameter 2 to be string, array given in /home/b/l/e/ee/www/viewpage.php(26) : eval()'d code on line 7

;((
Zeman
Niechże Pan trochę wykaże własnej inicjatywy.

Podpowiem tyle:
  1. <?php
  2. echo '<pre>'.print_r($_FILES['userfile'], true).'</pre>';
  3.  
  4. ftp_put($conn_id, $_FILES['userfile'], $_FILES['userfile'], FTP_BINARY);
  5. ?>


i niech Pan przeczyta jeszcze raz komunikat i niech Pan przeczyta w dokumentacji jakie parametry ma

ftp_put

Więcej nie podpowiem.
uzytkowicz
  1. <?php
  2. $proxyhost = "ftp.60free.ovh.org";
  3. $user = login;
  4. $password = pass;
  5. $conn_id = ftp_connect($proxyhost);
  6. ftp_login($conn_id,$user,$password);
  7. $nazwa = $_FILES['userfile']['name'];
  8. ftp_chdir($conn_id,www);
  9. fopen("$nazwa", "w+");
  10. ftp_chmod($conn_id, 0777, $nazwa);
  11. $dane = $_FILES['userfile']['tmp_name'];
  12. ftp_put($conn_id, $nazwa, $dane, FTP_BINARY);
  13. ftp_close($conn_id); 
  14. ?>


no dziękuje, dziękuje ;* mam prototyp skryptu... teraz muszę go ograniczyć tylko do utworów *.mp3 itp, itd smile.gif) tylko mam takie pytanie, ostatnie tongue.gifP bo jak widać:

  1. <?php
  2. fopen("$nazwa", "w+");
  3. ?>


musiałem sobie sam stworzyć plik w którym zapisze dane, a jak zrobić plik nowy na ftp'eku w którym zapisze wszystko questionmark.gif jaka komenda questionmark.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.