Maison  >  Article  >  développement back-end  >  Comment utiliser curl pour implémenter la fonction de téléchargement de fichiers FTP en php

Comment utiliser curl pour implémenter la fonction de téléchargement de fichiers FTP en php

墨辰丷
墨辰丷original
2018-05-22 15:21:051978parcourir

Cet article présente principalement PHP pour utiliser curl pour implémenter en détail la fonction de téléchargement de fichiers FTP. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Le contenu spécifique est le suivant

. Je ne sais pas pourquoi l'utilisation de la fonction ftp_get normale pour télécharger des fichiers est si lente, mais l'utilisation du client FTP télécharge rapidement, j'ai donc changé la méthode de téléchargement curl et la vitesse est normale

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;
   }

}

Il est normal de tester le téléchargement de petits fichiers, mais si la vitesse du réseau est très lente, une erreur de délai d'attente FTP sera signalée lors du téléchargement de gros fichiers. Je ne sais toujours pas quel est le problème de configuration. ou quel est le problème.

Recommandations associées :

php envoie des données XML via curl et obtient des données XML

php curlExplication détaillée des étapes pour obtenir la valeur de retour

php implémente curltéléchargement, téléchargement, connexion https

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn