各サイトに必要な違いを提供するために、データベース (実際には、実稼働サイト用の 1 つのデータベースとアプリケーション、および開発サイト用の 1 つのデータベースとアプリケーション) を利用した 1 つの CI アプリケーションで 70 を超えるプロパティ Web サイトを維持しています。プロパティマネージャーがサイトを定期的に更新できるように、カスタム CMS を提供しています。CMS を介して開発サイトに加えられた変更を本番サイトにプッシュするための承認プロセスがあります。
CMS の機能の 1 つに、フォト アルバムのアップロードがあります。アルバムが開発用にアップロードされ、制作用に承認されたら、このフォルダーを開発用アセットから制作用アセットにコピーする必要があります。
FTP 接続を確立し、次を使用して問題なくフォト アルバム フォルダーを作成します。
$this->ftp->mkdir($path['ftpP'].'photoAlbums/'.$album[0]['albumFolderName'].'/', DIR_WRITE_MODE);
($path['ftpP'] は次のようになります: /httpdocs/edrAssets/propsP/700/
FTP クラスでミラー機能を使用しようとすると、エラーや警告は表示されませんが、転送も行われません。
そのコードは次のとおりです。
$dLink = $path['ftpD'].'photoAlbums/'.$album[0]['albumFolderName'].'/';
$pLink = $path['ftpP'].'photoAlbums/'.$album[0]['albumFolderName'].'/';
$this->ftp->mirror($dLink, $pLink);
私は木曜日の夜遅くからこれと戦っていて、アドバイスが必要です. すべての助けに感謝します。
ジョン
要求されたログ ファイル:
DEBUG - 2012-06-18 07:15:31 --> コントローラ クラスが初期化されました
DEBUG - 2012-06-18 07:15:31 --> Ftp クラスは既にロードされています。2 回目の試行は無視されました。
DEBUG - 2012-06-18 07:15:31 --> ここで FTP しようとしています
エラー - 2012-06-18 07:15:31 --> 重大度: 警告 --> opendir() [function.opendir]: /httpdocs/edrAssets/propsD/700/photoAlbums/theUSOpen2012/ /var/www にアクセスできません/vhosts/edrpropertyoperations.com/httpdocs/WEBdev/system/libraries/Ftp.php 532
エラー - 2012-06-18 07:15:31 --> 重大度: 警告 --> opendir(/httpdocs/edrAssets/propsD/700/photoAlbums/theUSOpen2012/) [function.opendir]: dir を開くことができませんでした: そのようなものはありませんファイルまたはディレクトリ /var/www/vhosts/edrpropertyoperations.com/httpdocs/WEBdev/system/libraries/Ftp.php 532
DEBUG - 2012-06-18 07:15:31 --> 最終出力がブラウザに送信される
DEBUG - 2012-06-18 07:15:31 --> 合計実行時間: 0.1626
追加*
public function approved_create_album( $id ){
$thisTask = $this->mcms->getSingleAdminTask( $id );
$album = $this->mcms->getAlbumByID($thisTask[0]['itemID']);
$path = $this->mcms->path_variables( $album[0]['propNumber']);
$this->load->library('ftp');
$ftp['hostname'] = <REMOVED>;
$ftp['username'] = <REMOVED>;
$ftp['password'] = <REMOVED>;
$ftp['port'] = 21;
$ftp['passive'] = FALSE;
$ftp['debug'] = TRUE;
$ftp['ssl_mode'] = FALSE;
$this->ftp->connect($ftp);
$dLink = $path['ftpD'].'photoAlbums/'.$album[0]['albumFolderName'].'/';
$pLink = $path['ftpP'].'photoAlbums/'.$album[0]['albumFolderName'].'/';
if( !file_exists($pLink) && !is_dir($pLink)){
$this->ftp->mkdir($path['ftpP'].'photoAlbums/'.$album[0]['albumFolderName'].'/', DIR_WRITE_MODE);
} // end if
log_message('debug', 'Trying to FTP here');
$this->ftp->mirror($dLink, $pLink);
echo $dLink . " to " . $pLink;
} // end approved_create_album function