0

重複の可能性:
警告: mysql_fetch_row() はパラメーター 1 がリソースであることを想定しています

以前にも質問しましたが、違う方法で。フォーム データを取得し、一時的な CSV ファイルにコンパイルして、FTP over SSL 経由でクライアントに送信しようとしています (これは、これを行うための回避策がない限り、解決策を聞きたい唯一のルートです。作成できません)変わります)。私は次のことを試しました:

  1. ftp_connect - 何も起こらず、ページがタイムアウトするだけです
  2. ftp_ssl_connect - 何も起こらず、ページがタイムアウトするだけです
  3. curl ライブラリ - 同じことですが、URL を指定してもエラーが発生します。

次の情報が提供されます。

  • FTPS サーバーの IP アドレス
  • TCP ポート (1234)
  • ユーザー名
  • パスワード
  • ファイルをダンプするデータ ディレクトリ
  • FTP モード: パッシブ

非常に基本的なコード (少なくとも接続を開始する必要があると思います): コード:

<?php
$ftp_server = "00.000.00.000";  //masked for security
$ftp_port = "1234"; // masked but not 990
$ftp_user_name = "username";
$ftp_user_pass = "password";


// set up basic ssl connection
$conn_id = ftp_ssl_connect($ftp_server, $ftp_port, "20");

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);

echo ftp_pwd($conn_id); // /
echo "hello";

// close the ssl connection
ftp_close($conn_id);

?>

これを SmartFTP クライアントで実行すると、すべて正常に動作します。PHPを使用して動作させることができません(これは必要です)。過去にこれを成功させた人はいますか?私はあなたのアプローチを聞くことに非常に興味があります.

EDIT 以下のように ftp_login の後に ftp_pasv() コマンドを追加しましたが、まだ接続できません。次のエラーが表示されます。

警告: ftp_login() は、パラメーター 1 がリソースであると想定します。12 行目の C:\xampp\htdocs\test.php で指定されたブール値です。

警告: ftp_pasv() は、パラメーター 1 がリソースであると想定し、14 行目の C:\xampp\htdocs\test.php で指定されたブール値です。

警告: ftp_pwd() は、パラメーター 1 がリソースであると想定します。16 行目の C:\xampp\htdocs\test.php で指定されたブール値です。

警告: ftp_close() は、パラメーター 1 がリソースであると想定します。20 行目の C:\xampp\htdocs\test.php で指定されたブール値です。

4

2 に答える 2

0

まず、使用しているセキュア FTP を確認する必要があります。

  1. SFTP : SSH FTP
  2. FTPS : FTP オーバー SSL

FTPS が機能するには、openssl モジュールが静的にリンクされている必要があります (動的拡張機能としてインストールされていません)。

SFTP には PECL ssh2 拡張機能が必要です。

于 2010-05-26T00:21:21.360 に答える
0

PHP インストールで FTP が有効になっていますか? phpinfo() を使用します。インストール情報をエコーし​​ます。表に「FTP サポート - 有効」と記載された ftp のセクションが必要です。

于 2010-05-26T00:04:52.920 に答える