• 締切済み

PHPのFTP関数ftp_fgetエラーに関する疑問

こんにちは PHPでFTPサーバからファイルをダウンロードしようとしていますが、下記のエラーが来ました: PHP Warning: ftp_fget:あと4048バイト以上アップロードする必要があります。..... 同じftp_get関数もほぼ同じメッセージを出しています。 どうすればFTPのファイルをうまくダウンロードできますか? 環境:Apache 2.48 & PHP 5.1

  • PHP
  • 回答数1
  • ありがとう数2

みんなの回答

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

PHPのエラーは英語のはずですが実際にその日本語のメッセージが表示されているのでしょうか。

suzukika
質問者

補足

さっそくのご回答ありがとうございました。問題はFTPサーバ側の権限設定が間違ったことを判明しました。

関連するQ&A

  • phpでFTP関数を有効にする方法

    PHPでFTPサーバにファイルをアップロードしたいんですが、うまくいきません。 接続すらできないので、もしやと思いphp info()で確認したところ、「ftpsupport enable」と表示されないとftp関数が実行されないのではないかと思っています。 ftpsupportを有効にするにはphp.iniのどこを変えればよいのでしょうか。色々調べてみたのですが、見つけることができませんでした。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • FTP関数について

    FTP関数についての質問です。 自分のHPからFTPを用いてファイルをダウンロードできるように したいため、FTPサーバに接続してファイルをダウンロードさせる ロジックを作ったのですが、うまくいきません。 というのは、私の作ったFTP処理では、サーバ上で実行されるので、 呼び出し元がサーバになり、ファイルはサーバ上にダウンロード されてしまうのです。 そこで質問なのですが、 PHPのFTP関数は、クライアントからプログラムを実行しないと クライアント側にファイルはダウンロードされないのでしょうか?

    • ベストアンサー
    • PHP
  • phpのftp_get()でエラーが出ます。

    今回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; # 終了

    • 締切済み
    • PHP
  • phpのftp関数でサーバーから他のサーバーにファイルをアップロードする方法

    phpのftp関数でサーバーから他のサーバーにファイルをアップロードする方法が 上手くいかずに困っております。 どなたかご教授ください。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP ftp_fput()関数について

    下記のPHPスクリプトで、JPEGファイルをFTPサーバーにアップしようとしてるんですが、 サーバー側でエラーが出ます。どこが間違っているのか指摘していただけますか? ※ftp_chdir($ftp, $path); の$path は、相対パスか絶対パスか、URLか ※ftp_fput($ftp, $remote_file, $fp, FTP_BINARY)の、第二引数$remoto_file は、リモートでの ファイル名だけでよいのか、相対パスか、絶対パスかURLか ※ちなみに、FTPサーバーへのログインはできてます。 <?php //$photo = "akashi.jpg"; $photo = $_GET['photo']; // FTPサーバーに接続 $ftp_server="users109.lolipop.jp"; $ftp = ftp_connect($ftp_server); //$res = ftp_login($ftp, "root", " "); $res = ftp_login($ftp, " ", " "); if($res==FALSE){ echo("FTPサーバーのログインに失敗しました。"); exit(1); } //$path = "/home/users/1/raindrop.jp-5247423/web/tsukushinbo/upload_photo"; // 絶対パス $path = "../tsukushinbo/upload_photo"; // 相対パス ftp_chdir($ftp, $path); // サーバー側のディレクトリを変更 /* $cur = ftp_pwd($ftp); echo($cur); exit(1); */ // ローカル側でファイルをオープン /* $dir = dirname($photo); // ファイルあるいはディレクトリへのパスを含む文字列を受け取って、 親ディレクトリのパスを返します。 //$filename = $dir."/".$photo; echo($filename); exit(1); */ $fp = fopen("$photo", 'rb') or die; //$fp = fopen("$filename", 'r') or die; // ローカルでオープンされているファイルのポインタ。 ファイルの終端まで進むと読み込みが終了する。 // FTPサーバーに画像ファイルをアップロード $remote_file = $photo; // リモート上でのファイル名指定 if(ftp_fput($ftp, $remote_file, $fp, FTP_BINARY)){ // ローカルでオープンしている画像ファイルをバイナリモードでFTPサーバーにアップロードする echo "Successfully uploaded $file\n"; }else{ echo "There was a problem while uploading $file\n"; } fclose($fp); ftp_close($ftp); //header("Location: bbs.php"); ?>

    • ベストアンサー
    • PHP
  • ftp_getについて(バージョン4.1.2)

    上記のバージョンでftp_getをしようとすると、下記のようにワーニングがでてしまいます。 Warning: ftp_get: in また、ftp_closeも使えず、ftp_quitに変更しました。 何故このようなことがおこるのでしょうか? 書式は $cn = ftp_fget($conn_id, $fp, "./".$filepath_log[$i],FTP_BINARY);

    • ベストアンサー
    • PHP
  • FTPサーバの立て方が「???」

    Javaを使っています。ファイルのアップロード/ダウンロードをしたいのでFTPサーバを立てたいのですが、よく解りません。 Apache FTP Server 1.02で構築して、起動はされているのですが、ログインでいつも許可が得られません。 どなたか、簡単に使えるFTPサーバの構築方法を教えてください。

  • FTPサーバの立て方が「?」

    Javaを使っています。ファイルのアップロード/ダウンロードをしたいのでFTPサーバを立てたいのですが、よく解りません。 Apache FTP Server 1.02で構築して、起動はされているのですが、ログインでいつも許可が得られません。 どなたか、簡単に使えるFTPサーバの構築方法を教えてください。

  • PHPでFTP関数を使いたいと考えていますが、

    PHPでFTP関数を使いたいと考えていますが、 いろいろ回ってみても中々使えるサーバに出会えません。 ロリポップでは設定はされているとの記事を見かけたのですが、 ドキュメントルート以下しか使えないなど不便な面が多く使うのは控えようかと考えています。 私の探し方も上手くないのでしょうか・・・。 ある程度金額は高くても良いので(~10000円) ドキュメントルートより上も操作可能で、なおかつPHPとmysqlが使え、 PHPのftp関数がデフォルトもしくは設定にて使用可能なレンタルサーバをご存知の方は お教えいただけないでしょうか? お手数ですがよろしくお願いいたします。

  • PHP4.0.6をインストールして使いたいのですが・・・

    借りているサーバーがPHP4.0.6のため、PHP4.0.6とApacheをインストールしてローカルテストを行おうと考えています。 まず、Apache2とPHP4.0.6をダウンロードして、それぞれインストールしたのですが、php4apache2.dllがPHP4.0.6に入ってなかったため、Apache1.3.35をダウンロードし、インストールしなおしました。 すると今度は、php_mbstring.dllがないらしく、マルチバイト文字列関係の関数が使えません。 そこで素人処方でPHP4.4.2をダウンロードし、その中に入っているphp_mbstring.dllをextensionsフォルダにいれたもののdllから「php_mbstring.dllがみつかりません」のような趣旨のメッセージが出て使えません。 いろいろやってみたのですが、正直八方塞の状態です。 ローカルテストで、PHP4.0.6でマルチバイト文字列関係の関数をつかうことはできないでしょうか?(サーバー上ではつかえるのですが・・・)

    • ベストアンサー
    • PHP

専門家に質問してみよう