Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie den Datei-Upload in PHP

So implementieren Sie den Datei-Upload in PHP

qzuser
qzusernach vorne
2018-01-01 19:13:532704Durchsuche

Wie implementiert PHP das Hochladen von Dateien? Dieser Artikel führt Sie anhand von Codebeispielen in die Methode zum Hochladen von Dateien ein. Ich hoffe, dass er für Freunde hilfreich ist.

Das globale PHP-Array $_FILES wird hier verwendet, um den Datei-Upload zu implementieren:

  • $_FILES["file"]["name"] - Der Name der hochgeladenen Datei

  • $_FILES["file"]["type"] - Der Typ der hochgeladenen Datei

  • $_FILES["file"]["size"] – Die Größe der hochgeladenen Datei in Bytes

  • $ _FILES[ "file"]["tmp_name"] – Der Name der temporären Kopie der auf dem Server gespeicherten Datei

  • $_FILES["file"] ["Fehler"] – Fehlercode, der durch das Hochladen der Datei verursacht wurde

[Empfehlung für ein entsprechendes Video-Tutorial: PHP-Tutorial]

HTML-Code :

<form action="upload_file.php" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file" /><br />
    <input type="submit" name="submit" value="Submit" />
</form>

PHP-Code:

if (!empty($_FILES)) {
 
    // 限制文件大小
    $file_size = $_FILES["file"]["size"];
    // 限制2M大小
    if ($file_size > 1024 * 1024 * 2) {
        echo '文件大小超过限制';
        exit;
    }
 
    // 限制文件上传类型
    $file_type = $_FILES["file"]["type"];
    $file_type_arr = ['image/jpg', 'image/jpeg', 'image/png', 'image/pjpeg', 'image/gif'];
    if (!in_array($file_type, $file_type_arr)) {
        echo '上传文件类型错误';
        exit;
    }
 
    // 文件上传到服务器临时文件夹之后的文件名
    $tem_name = $_FILES['file']['tmp_name'];
    // 取得文件后缀名
    $file_fix = explode('.', $_FILES['file']['name'])[1] ? explode('.', $_FILES['file']['name'])[1] : 'png';
    // 文件重命名,这里自动生成一个不重复的名字,方便使用
    $name = md5(uniqid(md5(microtime(true)), true)) . '.' . $file_fix;
    // 要存放文件的目录定义,这里按日期分开存储
    $file_dir = dirname(__FILE__) . '/upload/' . date('Ymd') . '/';
    // 检测要存放文件的目录是否存在,不存在则创建
    if (!is_dir($file_dir)) {
        mkdir($file_dir, 0755, true);
    }
    // 移动文件到指定目录下
    @ move_uploaded_file($tem_name, $file_dir . $name);
 
    echo '上传成功';
    exit;
} else {
    echo '文件上传失败';
    exit;
}

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Lernen aller hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Datei-Upload in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen