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!