Skip to content

PC問題解決!

  • ホーム

PHPでSFTPアップロードを行う

Posted on 2018年7月7日2022年1月4日 Edited on 2022-01-04 by TAKE

【問題】

PHPでSFTPアップロードを行いたい。(SSHで書き込みを行いたい)

 

【解決法】

// -- 変数の設定 --
$sHost = '000.000.000.000';
$iPort = 22;
$sUser = 'user';
$sPW = 'password';
$sPath = '/path/';
$sFileName = 'filename.txt';

// -- 書き込むファイルの取得 --
$sFile = file_get_contents($sPath . $sFileName); 

// -- SSH(SFTP)での書き込み --
$sConnect = $sUser . ':' . $sPW . '@' . $sHost . ':' . $iPort;
$rcFile = fopen('ssh2.sftp://' . $sConnect . $sPath . $sFileName, 'w');
fwrite($rcFile, $sFile);
fclose($rcFile);

 

【備考】

PHPのSFTPアップロードの方法を探してみたのですが、どうも正常に動作しないサンプルばかりネット上に転がっていたので、ここにサンプルを置いておきます。

 

要は

ssh2.sftp://user:pass@example.com:22/path/to/filename

の形でアクセスすれば普通のファイル書き込みと同様に行えます。

 

詳細は 下記をご覧ください。

http://php.net/manual/ja/wrappers.ssh2.php

この投稿は役に立ちましたか? 役に立った 4人中4人がこの投稿は役に立ったと言っています。
Posted in PHP

投稿ナビゲーション

Previous PostCentOS – rvmを最新のバージョンにアップグレードしたい
Next PostCentOSで、LVM (ボリューム) の情報を知りたい

カテゴリー

  • Linux
  • PHP
  • Thunderbird
  • Wordpress
  • その他
  • ウェブ
  • エクセル
  • ネットワーク

最近の投稿

  • VSCodeにFTPSの設定を行なう方法(エックスサーバー)
  • 空のpタグに高さをつけたい(pタグを入れても改行されない)
  • Chromeのソースコードが文字化けする
  • WordPress(ワードプレス)でマルチサイト化(ネットワーク化)を有効にする方法
  • ファイルサイズが肥大化したExcelを直す方法(Excel for Microsoft 365)
  • Thunderbird(サンダーバード)の軽量化
  • redirect permanentを使って.htaccessに1行でサイト丸ごとリダイレクト
  • MailPoetでカラムを追加すると、ページからはみ出し、コンテンツを追加すると古いテキストが一緒に表示される
  • ダウンロードしてしまった過去のメールから添付ファイルを分離・削除する方法(Thunderbird)
  • IMAP設定したThunderbirdが重たくなったのを軽くする方法(高速化)
  • WordPressでログインを強制的に失敗させ、シェイク(ふるふる)させたい
  • WordPressでアカウントごとに最大同時ログイン数を制限したい
  • Outlookで受信したメールが文字化けする
  • エクセルのフィルタで候補が出ない
  • Windows Update (0x8024401c)でエラーが出る
  • Windows 10 – Windows Updateでエラーが出る
  • 1行で書く.htaccess リダイレクト(転送:redirect)の設定方法 – 正規表現不要
  • ディスクの初期化でMBRとGPTの違いを知りたい
  • 新しいディスク(HDD、SSD)をインストールしたが、Windowsがディスクを認識しない
  • WordPressで画像アップロード時『HTTP エラー。』が出る
Powered by Headline WordPress Theme