この記事では、PHP の ftp 関数を使用して FTP 経由でファイルをアップロードするいくつかの方法をまとめました。学習が必要な友人は参照してください。
ftp_get() 関数は、FTP サーバーからファイルをダウンロードします。
成功した場合は true を返し、失敗した場合は false を返します。
文法
ftp_get(ftp_connection,local,remote,mode,resume)
ftp_connect() 関数は、新しい FTP 接続を確立します。
成功した場合は接続 ID を返し、それ以外の場合は false を返します。
文法
ftp_connect(ホスト,ポート,タイムアウト)
ftp_login() 関数は FTP サーバーにログインします。
成功した場合は true を返し、失敗した場合は false を返し、警告を発行します。
文法
ftp_login(ftp_connection,ユーザー名,パスワード)
3つの機能を紹介しました。早速始めましょう。
例1
コードは次のとおりです |
コードをコピー |
$ftp_server = "*.*.*.*";
$ftp_user = "lu";
$ftp_pass = "愛しています";
//接続をセットアップするか、そうでなければ終了します
$conn_id = ftp_connect($ftp_server) または die("$ftp_server に接続できませんでした");
$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);
if ((!$conn_id) || (!$login_result)) {
echo "FTP 接続に失敗しました!";
echo "ユーザー $ftp_user_name の $ftp_server に接続しようとしました";
終了します;
} その他 {
echo "ユーザー $ftp_user_name の $ftp_server に接続しました";
}
//ログインしてみます
$filename=date('Ymd').".xml";
$source_file="/usr/local/IVR/sendwireless/xml/data/".$filename //送信元アドレス
エコー $source_file;
$destination_file="/ITC/admin/logstat/ftplog/".$filename //宛先アドレス ;
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY) または die("$ftp_server に接続できませんでした");
ftp_quit($conn_id);
if (!$upload) {
echo "FTP アップロードに失敗しました!";
} その他 {
echo "$source_file を $destination_file として $ftp_server にアップロードしました";
}
ftp_close($conn_id);
|
アップロードする際は、まずファイルをローカルにアップロードして透かしの追加など必要な変更を加えてから、FTP 経由でリモート サーバーにアップロードします。
例 2:
コードは次のとおりです |
コードをコピー |
//写真をアップロード
if ($_FILES['pic']['name'])
{
$file_path='/opt/www/img/';
$pic = Upload('pic', $filename, 'jpg|jpeg|gif|bmp|png', $file_path);
if(!$pic)
{
echo "画像のアップロードに失敗しました!";
終了します;
}
require_once(ROOT_PATH . 'Lib/Class/Ftp.class.php');
$ftp = 新しい ftp("127.0.0.1","gamezeroftp","123456","/opt/www");
$localfile='/opt/www/img/'.$pic;
$remotefile='/opt/www/gamepics/'.$pic;
$ftpput = $ftp->put($localfile, $remotefile) //FTP で元の画像をリモート サーバーにアップロードします
if(!$ftpput){
echo "リモート サーバーに写真をアップロードできませんでした!";
}
$ftp->bye(); //FTP接続を切断します
}
FTP 操作クラスを添付します:
ftpUrl=$ftpUrl;
}
if($ftpUser){
$this->ftpUser=$ftpUser;
}
if($ftpPass){
$this->ftpPass=$ftpPass;
}
if($ftpUrl){
$this->ftpDir=$ftpDir;
}
if ($this->ftpR = ftp_connect($this->ftpUrl, 21)) {
if (ftp_login($this->ftpR, $this->ftpUser, $this->ftpPass)) {
if (!empty($this->ftpDir)) {
ftp_chdir($this->ftpR, $this->ftpDir);
}
ftp_pasv($this->ftpR, true);//R はパッシブ モードを有効にします;
$ステータス = 1;
} その他 {
$ステータス = 3;
}
} その他 {
$ステータス = 2;
}
}
//R ディレクトリを切り替えます;
関数 cd($dir) {
return ftp_chdir($this->ftpR, $dir);
}
//R は現在の道路強度を返します;
関数 pwd() {
return ftp_pwd($this->ftpR);
}
//R ディレクトリを作成します
関数 mkdir($directory) {
return ftp_mkdir($this->ftpR,$directory);
}
//R ディレクトリを削除します
関数 rmdir($directory) {
return ftp_rmdir($this->ftpR,$directory);
}
//R ファイルをアップロードします;
関数 put($localFile, $remoteFile = '') {
if ($remoteFile == '') {
$remoteFile = end(explode('/', $localFile));
}
$res = ftp_nb_put($this->ftpR, $remoteFile, $localFile, FTP_BINARY);
while ($res == FTP_MOREDATA) {
$res = ftp_nb_Continue($this->ftpR);
}
if ($res == FTP_FINISHED) {
true を返します;
elseif ($res == FTP_FAILED) {
false を返します;
}
}
//R ダウンロードファイル;
関数 get($remoteFile, $localFile = '') {
if ($localFile == '') {
$localFile = end(explode('/', $remoteFile));
}
if (ftp_get($this->ftpR, $localFile, $remoteFile, FTP_BINARY)) {
$flag = true;
} その他 {
$flag = false;
}
$flag を返します;
}
//R ファイルサイズ;
関数サイズ($file) {
return ftp_size($this->ftpR, $file);
}
//R ファイルが存在するかどうか;
関数 isFile($file) {
if ($this->size($file) >= 0) {
true を返します;
} その他 {
false を返します;
}
}
//R ファイル時間
関数 fileTime($file) {
return ftp_mdtm($this->ftpR, $file);
}
//R ファイルを削除します;
関数 unlink($file) {
return ftp_delete($this->ftpR, $file);
}
関数 nlist($dir = '/service/resource/') {
return ftp_nlist($this->ftpR, $dir);
}
//R 接続を閉じます;
関数 bye() {
return ftp_close($this->ftpR);
}
}
?>
|
http://www.bkjia.com/PHPjc/445297.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/445297.html技術記事この記事では、php の ftp 関数を使用して FTP 経由でファイルをアップロードするいくつかの方法をまとめました。学習が必要な友人は参照してください。 ftp_get() 関数は、FTP サーバーからファイルをダウンロードします。 ...