2013-11-27 50 views
0

我對PHP很陌生,我試圖連接到ftp併發佈一個表單,其中有幾個文本字段,以及3個圖像上傳,圖像將被上傳到服務器。我使用的是godaddy,他們不允許ftp_connect,只有fsocketopen(),並且只能在端口80(http)和443(https)上使用。我可以就如何解決這個問題(fsockopen)提供一些建議嗎?我認爲第一部分是服務器,第二部分是端口,所以我假設是80(因爲godaddy說只有2個端口可用),但最後3個是什麼? $ error_number,$ error_string和最後一部分?無法使用fsockopen()

謝謝你的時間。對不起,如果這個問題是一個新手問題。我研究了一段時間,但仍然無法修復。

fsockopen('abc.com', '80', $error_number, $error_string, 30) 

<?php 
$ftp_user_name='name'; 
$ftp_user_pass='pass'; 
$connection = 'server'; 
$errno=''; 
$connect= fsockopen("abc.info", 80, $errno, $errstr, 30) or die ("Cannot connect to host"); 

$login = ftp_login($connect, $ftp_user_name, $ftp_user_pass); 


if (!$connect) 
{die ("FTP connection has encountered an error!");} 


//exit; 


if (!$login) 
{die ("But failed at login Attempted to connect to $connection for user $ftp_user_name....");} 


?> 

回答

1

請冒風險自負,RTM請。

PHP Docs

errno
如果提供,包括系統級錯誤數 發生在系統級connect()調用。如果在 errno中返回的值爲0並且函數返回FALSE,則表明 錯誤發生在connect()調用之前。這很可能是由於 初始化套接字引起的問題。

errstr
錯誤消息爲字符串。

timeout
連接超時,以秒爲單位。

+0

哈哈未見其行,我也讀了手冊,我只是不知道它是什麼想說的大聲笑,但我會給一個嘗試,看看它好了,因爲我感到非常遲鈍,在下面的說明哈哈 – Benyaman

+0

如果連接不成功,'errno'和'errstr'就是函數返回的標識符。 timeout是在失敗之前等待連接的秒數。 – BenM

+0

我試過了,但是我有ftp_login():提供的資源不是有效的FTP緩衝區資源.....我會在睡眠之後再給它一次,一直持續數小時 – Benyaman