2011-09-24 2 views
0

Можно ли загрузить его на жесткий диск (как показано на моем удаленном сервере) с помощью PHP ftp_get? Загрузка с использованием ftp_get() прошла успешно, однако файл, загруженный с моего удаленного сервера, загружается в каталог моего php-скрипта. Я не удивлен никакими средствами, но я хотел бы знать, как я могу изменить каталог загрузки в конкретное место на моем жестком диске - скажем, диск «C: \», например.Не удается загрузить на жесткий диск с помощью ftp_get()

Ниже код был принять от php.net, но это именно то, как мой код установки, а также:

<?php 

// define some variables 
$local_file = 'local.rar'; 
$server_file = 'server.rar'; 

// set up basic connection 
$conn_id = ftp_connect($ftp_server); 

// login with username and password 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// try to download $server_file and save to $local_file 
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) { 
    echo "Successfully written to $local_file\n"; 
} else { 
    echo "There was a problem\n"; 
} 

// close the connection 
ftp_close($conn_id); 

?> 

Спасибо за любую помощь,

Эвана

ответ

1

Для загрузите файл локально, ваш PHP-скрипт должен отправить соответствующие заголовки, а затем отобразить содержимое файла. Однако это может произойти только в том случае, если вы еще не вызвали какой-либо другой выход из скрипта PHP (через echo или иначе). Этот код должен заставить ваш браузер открыть окно сохранения файла или загрузить его в папку по умолчанию.

// try to download $server_file and save to $local_file 
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) { 

    // Don't echo output here... 
    //echo "Successfully written to $local_file\n"; 

    // You've downloaded the file into `$local_file` on your server. 
    // Now send it to the browser: 
    header("Content-type: application/x-rar-compressed"); 

    // Also helps to send Content-length 
    header("Content-length: " . filesize($local_file)); 

    // Dump out the file contents 
    echo file_get_contents($local_file); 

    // Delete it from the server 
    unlink($local_file); 

    // Always exit when you're done 
    exit(); 
} else { 
    echo "There was a problem\n"; 
} 
+0

Спасибо, я дам это. –

+0

@Evan не забудьте использовать самые современные. Думаю, я изменил его после вашего комментария. –

+0

По какой-то причине приведенный выше код (самая актуальная версия) загружает мой скрипт PHP на мой жесткий диск - не локальный файл :) –

Смежные вопросы