Skocz do zawartości

Upload na inny serwer


Kinimod

Rekomendowane odpowiedzi

Witam,

jak zrobić upload plików na innym serwerze niż serwer na którym jest skrypt?

 

 

<div>
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" />
<input name="plik" type="file" />
<input type="submit" value="Wyślij plik" />
<br>(Dozwolone typy: .bmp, .png, .jpg, .gif)
</form>
</div>

<?php
$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];
$plik_typ = substr($plik_nazwa, -3, 3);
$plik_adres = $_POST['plik'];
$doztyp = array("jpg", "gif", "png", "bmp"); 

$maxrozmiar = 1*1024*1024;
$plik_nazwa = rand(1, 99).rand(1, 99).rand(1, 99).rand(1, 99).rand(1, 99).rand(1, 99)."_".$plik_nazwa;

if(is_uploaded_file($plik_tmp)) 
{
if($maxrozmiar >= $plik_rozmiar)
{
if(in_array($plik_typ, $doztyp)) 
{

$name = $plik_nazwa;
$filename = $plik_adres;

$ftp_server = "adres";
$ftp_user_name = "nazwa";
$ftp_user_pass = "haslo";
$destination_file = "public_html/";

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

$upload = ftp_put($conn_id, $destination_file.$name, $filename, FTP_BINARY);


echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
    
}else echo "Plik ma niedozwolony format!";
}else echo "Plik nie może przekraczać więcej niż 1MB";
}
?>

To skrypt bierzącego. Szukałem w manualu ale znalazłem tylko ftp_put ale to nie działa.

Z góry dzięki za pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

jesteś pewien, że nie musisz pierw przenieść pliku z temp?

 

$file = $_FILES[ 'file' ];
$file_tmp = $file[ 'tmp_name' ];

if( is_uploaded_file( $file_tmp ))
{
    $up_file = move_uploaded_file( $file_tmp, $file_to );
    
    if ( $up_file )
    {
        echo 'plik został poprawnie uploadowany';
        
        //dalsze Twoje przeniesienia na ftp...
    }
}

Odnośnik do komentarza
Udostępnij na innych stronach

jesteś pewien, że nie musisz pierw przenieść pliku z temp?

 

$file = $_FILES[ 'file' ];
$file_tmp = $file[ 'tmp_name' ];

if( is_uploaded_file( $file_tmp ))
{
    $up_file = move_uploaded_file( $file_tmp, $file_to );
    
    if ( $up_file )
    {
        echo 'plik został poprawnie uploadowany';
        
        //dalsze Twoje przeniesienia na ftp...
    }
}

Nie musi.

 

P.S. Wam to chyba nawet porządny debugger nie pomoże.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...