Maison >développement back-end >tutoriel php >Exemple de la façon dont PHP utilise FTP pour télécharger et télécharger des fichiers

Exemple de la façon dont PHP utilise FTP pour télécharger et télécharger des fichiers

黄舟
黄舟original
2017-07-21 15:38:081728parcourir

L'exemple de cet article partage le code spécifique pour le téléchargement et le téléchargement de fichiers FTP php pour votre référence. Le contenu spécifique est le suivant

Téléchargement de fichiers FTP

.

PHP est livré avec un package de fonctions pour les opérations FTP. Une opération de téléchargement de fichier FTP relativement simple peut être effectuée en suivant les étapes suivantes :

1 Confirmez l'adresse IP et les informations de port du serveur FTP. (Si vous utilisez le port par défaut, vous n'avez pas besoin de vous en soucier) ;
2. Effectuez l'opération ftp_connect et connectez-vous au serveur ftp (vous devez faire attention à ce que le paramètre de port soit défini ); >3. Effectuez l'opération ftp_login et utilisez le nom d'utilisateur et le mot de passe ftp ;
4. Si vous avez uniquement besoin de télécharger des fichiers et qu'il n'y a aucune autre exigence, vous pouvez effectuer l'opération ftp_put. téléchargez le fichier ici ; s'il est nécessaire de stocker les fichiers téléchargés en fonction du répertoire, continuez simplement à descendre
5. Utilisez ftp_nlist pour obtenir le répertoire et les noms de fichiers dans le répertoire ftp donné, et vérifiez si ceux-ci sont requis ; Le répertoire existe. S'il n'existe pas, vous devez créer le répertoire avec ftp_mkdir ;
6. Effectuez l'opération ftp_close ; pour fermer la connexion FTP.

Pour répondre à l'exigence de téléchargement de fichiers en fonction du répertoire de format de date dans FTP, effectuez une implémentation de code simple :


Imprimer :

<?php
$host = &#39;10.0.0.42&#39;;
$user = &#39;uftp&#39;;
$pwd = &#39;uftp&#39;;

// 进行ftp连接,根据port是否设置,传递的参数会不同
if(empty($port)){
    $f_conn = ftp_connect($host);
}else{
    $f_conn = ftp_connect($host, $port);
}
if(!$f_conn){
    echo "connect fail\n";
    exit(1);
}
echo "connect success\n";

// 进行ftp登录,使用给定的ftp登录用户名和密码进行login
$f_login = ftp_login($f_conn,$user,$pwd);
if(!$f_login){
    echo "login fail\n";
    exit(1);
}
echo "login success\n";

// 获取当前所在的ftp目录
$in_dir = ftp_pwd($f_conn);
if(!$in_dir){
    echo "get dir info fail\n";
    exit(1);
}
echo "$in_dir\n";

// 获取当前所在ftp目录下包含的目录与文件
$exist_dir = ftp_nlist($f_conn, ftp_pwd($f_conn));
print_r($exist_dir);

// 要求是按照日期在ftp目录下创建文件夹作为文件上传存放目录
echo date("Ymd")."\n";
$dir_name = date("Ymd");
// 检查ftp目录下是否已存在当前日期的文件夹,如不存在则进行创建
if(!in_array("$in_dir/$dir_name", $exist_dir)){
    if(!ftp_mkdir($f_conn, $dir_name)){
        echo "mkdir fail\n";
        exit(1);
    }else{
        echo "mkdir $dir_name success\n";
    }
}
// 切换目录
if(!ftp_chdir($f_conn, $dir_name)){
    echo "chdir fail\n";
    exit(1);
}else{
    echo "chdir $dir_name success\n";
}
// 进行文件上传
$result = ftp_put($f_conn, &#39;bbb.mp3&#39;, &#39;/root/liang/ftp/bbb.mp3&#39;, FTP_BINARY);
if(!$result){
    echo "upload file fail\n";
    exit(1);
}else{
    echo "upload file success\n";
    exit(0);
}


Vous pouvez voir que l'opération d'impression est réussie. Allez maintenant dans le répertoire du serveur ftp et vous pouvez voir le fichier téléchargé.

root@webdevelop232:~/liang/ftp# php ftp.php 
connect success
login success
/home/uftp
Array
(
  [0] => /home/uftp/Kalimba.mp3
  [1] => /home/uftp/test.txt
)
20170721
mkdir 20170721 success
chdir 20170721 success
upload file success

Téléchargement de fichiers FTP

Par rapport au téléchargement de fichiers, il est vraiment rare d'utiliser php pour télécharger des fichiers FTP, mais comme cette fonction est disponible, cela signifie qu'il y a toujours un Il y a de fortes chances que quelqu'un l'utilise, alors faites également un exemple simple.

Utilisez le fichier bbb.mp3 téléchargé ci-dessus comme cible de téléchargement. Téléchargez-le dans le répertoire actuel et nommez-le 1.mp3 :

.

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