2017-02-23 4 views
0

私はエラー与えてFTPサーバーへの接続 ")(ftp_loginをブール値が与えられ、パラメータ1は資源であることを期待"

ftp_ssl_connect()

を使用してFTPサーバーに接続しようとすると、それは私は、このエラーを与えて

ftp_login()は、パラメータ1は、ライン上に /home/web/public_html/FTP.phpで与えられたリソース、boolean型であることを期待9

ここ

は私のソースコードが

<?php 

// set up basic ssl connection 
$conn_id = ftp_ssl_connect($host,'990','20'); 

// login with username and password 
$ftp_user_name='user'; 
$ftp_user_pass='pass'; 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

if (!$login_result) { 
    // PHP will already have raised an E_WARNING level message in this case 
    die("can't login"); 
} 

echo ftp_pwd($conn_id); ///

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

である私は、このような多くの質問を見ましたが、私に任意の適切な答えを与えられていない、助けてください。

+0

'以下のようにそれをやりました。 –

+0

実際に私のFTP接続はTLS上のFTPによって動作するので、私はそれを使いました。 – Anju

+0

はサーバー上でポート990を開いていますか? –

答えて

0

私はこれを解決しました。実際には私のFTP接続はTLS上の暗黙的なFTPなので、ftp_connectとftp_ssl_connectの代わりにCURLを使用する必要があります。 私は `ftp_connect`を使用する代わりに、SSLを介して接続することができませんでし` false`をを返しftp_ssl_connec`

$fp = fopen('/', 'r'); 
$ftp_server = 'ftps://'.$server.'/'.$filename; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $ftp_server); 
curl_setopt($ch, CURLOPT_USERPWD,$user.':'.$pass); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY); 
curl_setopt($ch, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_TLS); 
curl_setopt($ch, CURLOPT_UPLOAD, 1); 
curl_setopt($ch, CURLOPT_INFILE, $fp); 

$output = curl_exec($ch); 
$error_no = curl_errno($ch); 
//var_dump(curl_error($ch)); 
curl_close($ch); 
関連する問題