Maison  >  Article  >  développement back-end  >  Introduction de base au téléchargement de fichiers php

Introduction de base au téléchargement de fichiers php

小云云
小云云original
2018-03-02 11:04:201672parcourir

1. Téléchargement de fichiers

Grâce à PHP, les fichiers peuvent être téléchargés sur le serveur. Les données peuvent être soumises au serveur via un formulaire ou par courrier, mais la publication ne peut pas soumettre d'informations sur les données de type de fichier.
1>Configuration de la commande de téléchargement de fichier php

  1. file_uploads=on|off

     Déterminez si le script PHP sur le serveur peut accepter les téléchargements de fichiers.

  2. max_execution_time=integer
     Durée maximale, en secondes, qu'un script PHP peut exécuter avant d'enregistrer une erreur fatale.

  3. memory_limit=integer

     Définissez la mémoire maximale que le script peut allouer, en Mo. Cela empêche les scripts incontrôlables de monopoliser la mémoire du serveur.

  4. upload_max_filesize=integer
     Définissez la taille maximale des fichiers téléchargés, en Mo.

  5. upload_tmp_dir=string
     Définissez le fichier téléchargé pour qu'il soit stocké dans un emplacement temporaire sur le serveur avant d'être traité jusqu'à ce que le fichier soit déplacé vers sa destination finale.

  6. post_max_size=integer
     Détermine la taille maximale, en Mo, des informations pouvant être acceptées via la méthode POST.

2>$_FILES tableau

<form action="upload_file.php" method="post"enctype="multipart/form-data">
    <label for="file">上传文件:</label>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000"/>
    <input type="file" name="file" id="file" /> 
    <img id="preview">
    <br />
    <input type="submit" name="submit" value="Submit" />
</form>

ENCTYPE=”multipart/form-data” :
Il s'agit de la méthode d'écriture fixe, sinon le téléchargement du fichier échouera.
ACTION=”upload.php” :
Définissez le chemin du fichier programme pour gérer le téléchargement.
MÉTHODE=”post”:
Définissez la méthode de transmission comme POST. Généralement, les données de soumission du formulaire sont définies sur POST.
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
Il s'agit d'un champ masqué qui définit la limite supérieure de la taille du fichier téléchargé. Lorsque cette valeur est dépassée, le téléchargement échoue. Il doit être défini devant le domaine de téléchargement de fichier. Et la valeur définie ici ne peut pas dépasser la valeur définie dans upload_max_filesize dans le fichier php.ini, sinon elle n'aura aucun sens (Remarque : la valeur de MAX_FILE_SIZE n'est qu'une suggestion pour. le navigateur. En fait, il peut être facilement contourné. Ne vous fiez donc pas aux restrictions du navigateur. En fait, la valeur maximale des fichiers téléchargés dans les paramètres PHP.ini ne sera pas invalide, mais il est préférable de l'ajouter dans le navigateur. MAX_FILE_SIZE car cela évite aux utilisateurs de passer du temps à attendre qu'un gros fichier soit téléchargé pour découvrir que le fichier est trop gros)

Il s'agit du domaine de téléchargement de fichiers. L'attribut Type doit être défini sur fichier, mais l'attribut Nom peut être personnalisé. Cette valeur sera utilisée dans le fichier de code.

<?php
    print_r($_FILES);?>

Variable super globale $_FILES, qui stocke diverses informations liées au téléchargement qui sont cruciales pour les fichiers téléchargés sur le serveur via des scripts PHP.
1. La valeur stockée dans la variable

_FILES["file"]["name"] est le nom du fichier dans le système utilisateur.
3. La valeur stockée dans la variable _FILES["file"]["type"] est le type MIME du fichier, par exemple : text/plain ou image/gif.
5. La valeur stockée dans la variable $_FILES["file"]["error"] sera n'importe quel code d'erreur lié au téléchargement du fichier. Il s'agit d'une nouvelle fonctionnalité ajoutée dans PHP4.2.0.
l'erreur fournit respectivement certaines constantes du tableau :
+ 0 : Indique qu'aucune erreur ne s'est produite.
+ 1 : Indique que la taille du fichier téléchargé dépasse la valeur convenue. La taille maximale du fichier est spécifiée dans le fichier de configuration PHP, la directive est upload_max_filesize.
+ 2 : Indique que la taille du fichier téléchargé dépasse la valeur maximale spécifiée par l'élément MAX_FILE_SIZE du formulaire HTML.
+ 3 : Indique que le fichier n'a été que partiellement téléchargé.
+ 4 : Indique qu'aucun fichier n'est téléchargé.

3> Fonction de téléchargement
PHP fournit également deux fonctions spécifiquement pour le processus de téléchargement de fichiers : is_uploaded_file() et move_uploaded_file().

//确定是否上传文件if (is_uploaded_file($_FILES["file"]["tmp_name"])) {    echo '已经上传到临时文件夹';    $filename = "upload".time()."png";    //移动上传文件(将文件移动到指定文件夹)
    if (!move_uploaded_file($_FILES["file"]["tmp_name"],img/,$filename)) {        echo '移动失败';        exit;
    }else{        echo "移动成功";
    }
} else {    echo '失败';
}

2. Répertoire de fichiers

Organisez les données associées en entités telles que des fichiers et des répertoires. Les programmeurs doivent disposer d'un moyen d'obtenir des détails importants sur les fichiers et les répertoires. emplacement, taille, heure de la dernière modification, heure du dernier accès et autres informations d'identification.
1>Opération sur le répertoire
+ Obtenir le chemin du fichier actuel
1. __FILE__
Chemin du fichier actuel + nom du fichier actuel
2. __DIR__
Chemin du fichier actuel
3. dirname ( __FILE__)
   Chemin actuel du fichier
  4. basename(__FILE__)
  Nom actuel du fichier
  5. pathinfo(__FILE__)
  Tableau associatif d'informations sur le chemin, y compris : le nom du répertoire, la base nom et extension
6. realpath(__FILE__)
Chemin absolu (le chemin absolu ne peut être obtenu que si le fichier existe réellement dans le projet actuel, et seules les informations de chemin de fichier correspondantes dans le fichier actuel peuvent être lues)

__FILE__ et __DIR__ sont pour le fichier actuel, dinrname() et basename() sont pour n'importe quel chemin de fichier

2> >1. Taille du fichier
filesize($path)
Calculez la taille du fichier en octets.

$file = __FILE__;echo round(filesize($file)/1024).'KB';
  1. Taille de l'espace libre du disque

    disk_free_space()
    L'espace libre de la partition de disque où se trouve le répertoire spécifié.

$drive = 'C:';echo round(disk_free_space($drive)/1024/1024/1024,2).'GB';
  1. 磁盘的总容量
     disk_total_space()
     指定的目录所在磁盘分区的总容量。

$drive = 'C:';echo round(disk_total_space($drive)/1024/1024/1027,2).'GB';

相关推荐:

php文件上传简单实例分享

php文件上传类及PHP封装的多文件上传类分享

HTML5 Ajax文件上传进度条如何显示

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