開發遇到乙個需求,需要將通過sftp上傳到遠端伺服器上,之前沒用過這個功能,折騰了我好幾天才搞定,下面記錄下我的處理方法:
$sftp = 'ssh2.sftp://';//連線sftp
$conn = ssh2_connect('ip','埠');
//登入
ssh2_auth_password(
$conn,"user","password");
$result = ssh2_sftp($conn
);//判斷是否存在目錄hm(特別注意賬號登入進來後預設的檔案路徑是不是根目錄,否則找不到資料夾,也不能建立資料夾,可通過pwd命令檢視當前資料夾路徑)
if (!file_exists($sftp.$result.'/hm/'))
else
if($dir
)else
//遠端伺服器建立乙個檔案$sftpstream = fopen($sftp.$result.$remotefilename, 'w'); //若報(failed to open stream: operation failed)錯誤,需要將$result改為intval($result)
//獲取本地檔案
$data_to_send = file_get_contents(realpath($localfilename
));//將本地檔案寫入到遠端檔案中
$send = fwrite($sftpstream, $data_to_send
);//關閉檔案流
fclose($sftpstream);
linux下命令列連線sftpsftp -oport=22 username@ip
本地檔案上傳到遠端伺服器
win7下 用putty好像不太行。用securecrt非常方便。步驟如下 2 輸入rz,點enter 3 會彈出對話方塊,選擇要上傳的檔案 4 上傳,會顯示百分比 速率和時間等資訊。前段時間裝了ubuntu,不再使用win7了.所以想起來要更新下這篇文章.ubuntu下,我喜歡用的工具是termi...
php將上傳的檔案上傳到遠端伺服器
問題場景還原如下 現有乙個上傳頁面,後端控制器用php來處理,但是php在得到上傳來的檔案時,要上傳給另乙個介面 用golang實現的,記為api2 api2原本也是處理簡單的上傳邏輯,但是不知道怎麼用php模擬上傳檔案給api2,如果有同學知道,煩請告知,非常感謝 最終採取了如下辦法 php將頁面...
上傳檔案到sftp伺服器
上傳檔案到sftp伺服器 param remotepath sftp伺服器路徑 param filename sftp伺服器檔名 param closeflag 是否要關閉本次sftp連線 true 關閉,false 不關閉 param filepathflag 是否要建立遠端的指定目錄 true ...