Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel dafür, wie PHP FTP zum Hoch- und Herunterladen von Dateien verwendet

Beispiel dafür, wie PHP FTP zum Hoch- und Herunterladen von Dateien verwendet

黄舟
黄舟Original
2017-07-21 15:38:081649Durchsuche

Das Beispiel in diesem Artikel teilt den spezifischen Code für das Hochladen und Herunterladen von PHP-FTP-Dateien als Referenz. Der spezifische Inhalt ist wie folgt:

FTP-Datei-Upload

PHP verfügt über ein Funktionspaket für FTP-Vorgänge, das über die folgenden Schritte durchgeführt werden kann:

1. Bestätigen Sie die IP-Adresse und die Portinformationen des FTP-Servers (Wenn Sie den Standardport verwenden, müssen Sie sich nicht darum kümmern). >3. Führen Sie den ftp_login-Vorgang aus und verwenden Sie den ftp_put-Vorgang.
4 Die Unterscheidung beginnt hier Datei-Upload hier; wenn die hochgeladenen Dateien entsprechend dem Verzeichnis gespeichert werden müssen, gehen Sie einfach weiter nach unten
5. Verwenden Sie ftp_nlist, um das Verzeichnis und die Dateinamen im angegebenen FTP-Verzeichnis abzurufen Verzeichnis existiert. Wenn es nicht existiert, müssen Sie das Verzeichnis mit ftp_chdir im Zielverzeichnis erstellen.
8 um die FTP-Verbindung zu schließen.

Um die Anforderung zum Hochladen von Dateien entsprechend dem Datumsformatverzeichnis in FTP zu erfüllen, führen Sie eine einfache Codeimplementierung durch:

Drucken:

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

Sie können sehen, dass der Druckvorgang erfolgreich war. Gehen Sie nun in das FTP-Serververzeichnis und Sie können die hochgeladene Datei sehen.

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
FTP-Datei-Download

Im Vergleich zum Datei-Upload ist es wirklich selten, PHP zum Herunterladen von FTP-Dateien zu verwenden, aber da diese Funktion verfügbar ist, bedeutet dies, dass es immer eine gibt Es besteht die Möglichkeit, dass jemand es verwendet. Machen Sie also auch ein einfaches Beispiel. Verwenden Sie die oben hochgeladene bbb.mp3-Datei als Download-Ziel. Laden Sie sie in das aktuelle Verzeichnis herunter und nennen Sie sie 1.mp3:

Das obige ist der detaillierte Inhalt vonBeispiel dafür, wie PHP FTP zum Hoch- und Herunterladen von Dateien verwendet. 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