今回phpを使ってftp関数であるftp_getを実行してみたところ【Warning: ftp_get(): Error opening】が出てきました。
サイトで調べた結果、パスの指定のミスかパーミッションが原因だと言うことがわかりました。
それから小一時間あれこれ試してみましたがダメでした・・・。
そこで今度はperlを使って同じ内容のスクリプトを書いてみると成功しました。
どなたかphpの方ではなぜ正しく動作出来ないのかをご教示ください。
以下はphpとperlのスクリプトです。
===========================================================================
<?php
$FTPSERVER = "!!!";
$FTPUSER = "@@@";
$FTPPASSWORD = "***";
//ftpサーバに接続
$ftp = ftp_connect($FTPSERVER);
//ユーザログイン
ftp_login($ftp, $FTPUSER, $FTPPASSWORD);
ftp_pasv($ftp, true);
$srverfile = "test.txt";
$localfile = "data1.txt";
ftp_get($ftp, $localfile, $srverfile , FTP_BINARY);
ftp_quit($ftp);
?>
============================================================================
#!/usr/local/bin/perl
use Net::FTP;
my $host = '!!!';# 接続先
my $user = '@@@';# FTPのユーザ
my $pass = '***';# FTPのパスワード
my $remote_file = 'test.txt';# リモートのファイル(これを取得)
my $local_file = 'data1.txt';# ローカルファイル(ここに保存)
my $ftp = Net::FTP->new($host) or die "can not connection: $@";
$ftp->login($user, $pass) or die $ftp->message;# ログイン
$ftp->binary;# バイナリモードに変更
$ftp->get($remote_file, $local_file) or warn $ftp->message;# ファイル取得
$ftp->quit;# 終了
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ANo.1です。
補足説明ありがとうございます。
エラーメッセージは例示したものがすべてということは、ftp_getの第二引数が何らかの理由で正しく渡せていない(空の文字列が渡されている)のではないでしょうか。
この回答への補足
>エラーメッセージは「Warning: ftp_get(): Error opening」ですべてでしょうか。
この質問に関して取り違いていました。
エラーメッセージは正しくは
「Warning: ftp_get(): Error opening data.txt in phpのファイルパス on line 15」です。
すみませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- プロバイダー・ISP hpb22の接続方法の変更 1 2023/08/06 18:47
- その他(インターネット接続・インフラ) 楽天ひかりでホームページアップロードが出来ない 1 2022/07/30 10:02
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- サーバー ECサイトのFTPサーバーに使わないファイル20GBくらいがあるのですが、削除したら表示速度やページ 2 2022/12/20 08:45
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- ASP・SaaS サーバーログイン情報とFTP接続情報の見つけ方を教えてください。 3 2023/07/24 16:19
- その他(プログラミング・Web制作) wordpress 管理画面にログインについて(ftpファイル抹消してしまう) 2 2023/02/06 19:45
- デスクトップパソコン ウイルスに感染しないファイルのバックアップ方法について 5 2022/09/11 11:27
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
stat failed
-
ファイルの行数取得
-
PHPで特定の文字列のみ抽出し、...
-
2つの画像ファイルが異なるファ...
-
ファイルの読み込み方法について
-
PHPでの別のサーバーのテキスト...
-
fopenが動作しない
-
fwrite の文法が間違っています...
-
txtファイルに書かれた"東京...
-
stdinからの処理でメール情報を...
-
csvのデータをphpで表示する方...
-
日本語が文字化けしないよう読...
-
onedrive にexcelファイルをア...
-
CFileDialogの最初のディレクト...
-
透過PNGが透過されない!!
-
フォームで戻った際に入力済み...
-
別ファイルの変数を呼び出した...
-
PHPのif文でその処理を途中で抜...
-
phpの中でphpを書けないか
-
さくらサーバーにて、phpからメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでFilename cannot be empty...
-
2つの画像ファイルが異なるファ...
-
phpのftp_get()でエラーが出ます。
-
ファイルの行数取得
-
stat failed
-
ファイル名は、数字の「0」(...
-
XMLのロードに失敗する
-
日本語が文字化けしないよう読...
-
shift-jisでfgetcsv
-
別のサーバにあるファイルの存...
-
Smartyで吐き出されたhtmlソー...
-
PHPでテキストファイルかどうか...
-
PHPでの別のサーバーのテキスト...
-
PHPでAPI 出力はCSVを取得する...
-
値の取り出し方について教えて...
-
FirefoxでFormのfileでファイル...
-
PHPのファイル操作
-
日本語のファイルが開けない
-
Warning: preg_match_allの他に...
-
TSVファイルをCSV形式に変換したい
おすすめ情報