How are you working to upload files through FTP to the server? I have found many examples on the Internet, but none of them are successful. SFTP is supported, hope you can help me
Reply to discussion (solution)
Php provides ftp extensions in various versions
Php provides the ssh2 extension (PECL) in non-Windows versions. the Function prefixed with ssh2_sftp _ is
For more information, see the manual.
Boss, is there an example? I'm in a hurry. my machine is from centos. how can I configure it? I haven't done it for two days.
I never did. Read the manual, http://ca2.php.net/manual/zh/book.ssh2.php.
host = $host;}if($user) {$this->user = $user;}if($pswd) {$this->pswd = $pswd;}if(!$this->connectId = @ftp_connect($this->host)) {$this->error("");}else {//echo 'connect is ok
';}if(!$this->loginId = @ftp_login($this->connectId, $this->user, $this->pswd)){$this->error("");}else {if(@ftp_pasv($this->connectId, true)) {//echo 'pasv mode is open
';}//echo 'login successful
';}@ftp_set_option($this->connectId, FTP_TIMEOUT_SEC, $timeout);}function chdir($targetDir) {return @ftp_chdir($this->connectId, $targetDir);}function put($sourceFile, $targetFile, $ftpType=FTP_BINARY) {return @ftp_put($this->connectId, $targetFile, $sourceFile, $ftpType);}function chmod($file, $pr=0777){return @ftp_chmod($this->connectId, $pr, $file);}function mkdir($dirName=''){if(!$dirName) {return false;}else {return @ftp_mkdir($this->connectId, $dirName);}}function exec($cmd=''){ //for some unsafe systemif(!$cmd){return false;}return @ftp_exec($this->connectId, $cmd);}function ls($pwd='./') {return @ftp_nlist($this->connectId, $pwd);}function pwd() {return @ftp_pwd($this->connectId);}function rmFile($file) {return @ftp_delete($this->connectId, $file);}function close(){return @ftp_close($this->connectId);}function error($errorMsg) {//echo "";print_r($errorMsg);//echo "
";return;}}?>
$ftp = new Ftp($row['ftpHost'], $row['ftpUser'], $row['ftpPswd']); if($ftp->loginId) { $webRoot = WEB_ROOT; $res=$ftp->put(APP_ROOT. "upload". "/". $fileName, $webRoot. $fileName); $res=$ftp->put(APP_ROOT."database.php", $webRoot."database.php"); $res=$ftp->put(APP_ROOT."wp-config.php", $webRoot."wp-config.php"); $res=$ftp->put(APP_ROOT."updatesql.php", $webRoot."updatesql.php"); $ftp->close(); $url = "http://".$row['ftpHost']."/database.php"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, false);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_FAILONERROR, false);$result = curl_exec($ch);curl_close($ch);
WinSCP
Boss, is there an example? I'm in a hurry. my machine is from centos. how can I configure it? I haven't done it for two days.
Is your machine centos using sftp? Sudo apt-get install ssh
It's the ftp that ssh carries...
Php ftp file Upload class
Look at this and see if it can solve the problem!
I want to implement the program's automatic upload function, such as through shell.