Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie die FTP-Datei-Download-Funktion mit Curl in PHP

So implementieren Sie die FTP-Datei-Download-Funktion mit Curl in PHP

墨辰丷
墨辰丷Original
2018-05-22 15:21:052039Durchsuche

In diesem Artikel wird hauptsächlich PHP zur Implementierung der FTP-Datei-Download-Funktion vorgestellt. Er hat einen bestimmten Referenzwert.

Der spezifische Inhalt ist wie folgt

Ich weiß nicht, warum die Verwendung der normalen ftp_get-Funktion zum Herunterladen von Dateien so langsam ist, aber die Verwendung des FTP-Clients lädt schnell herunter, also habe ich die Curl-Download-Methode geändert und die Geschwindigkeit ist normal

function file_upload($ftpIp,$ftpUser,$ftpPwd,$path,$fileSavePath){
  $curlobj = curl_init();//初始化
  //传入ftp的目标文件,如'ftp://192.168.3.1/test/1.jpg'
  curl_setopt($curlobj,CURLOPT_URL,"ftp://".$ftpIp."/".$path);
  curl_setopt($curlobj,CURLOPT_HEADER,0);//不输出header
  curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,0);
  //time out after 300s 
  curl_setopt($curlobj,CURLOPT_TIMEOUT,2000);//超时时间
  //通过这个函数设置ftp的用户名和密码,没设置就不需要! 
  curl_setopt($curlobj,CURLOPT_USERPWD,$ftpUser.':'.$ftpPwd);

  $outfile = fopen($fileSavePath,'w+'); //保存到本地文件的文件名 
  curl_setopt($curlobj,CURLOPT_FILE,$outfile);

  $rtn = curl_exec($curlobj);
  if(curl_errno($curlobj)){
    writeLog('Curl error: ' . curl_error($curlobj));
  }
  fclose($outfile);
  curl_close($curlobj);
   if($rtn == 1){
    return true;
   }else{
    unlink($fileSavePath);//如果下载失败,但是本地open了这个文件,所以要删除
    return false;
   }

}

Es ist normal, dass der Test kleine Dateien herunterlädt, aber wenn die Netzwerkgeschwindigkeit sehr langsam ist und eine große Datei heruntergeladen wird, wird ein FTP-Timeout-Fehler gemeldet. Ich weiß immer noch nicht, was die Konfiguration ist Problem ist oder was das Problem ist.

Verwandte Empfehlungen:

php sendet XML-Daten über curl und erhält XML-Daten

php curlDetaillierte Erläuterung der Schritte zum Erhalten des Rückgabewerts

php implementiert curlUpload, Download, https-Login

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die FTP-Datei-Download-Funktion mit Curl in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn