Maison développement back-end Problème PHP Comment modifier le chemin de sauvegarde des fichiers téléchargés PHP

Comment modifier le chemin de sauvegarde des fichiers téléchargés PHP

Apr 04, 2023 am 10:41 AM

PHP, en tant que langage de script côté serveur, est largement utilisé dans le développement Web. Lors du processus de développement d'applications Web, il est souvent nécessaire de télécharger certains fichiers, tels que des images, des documents, etc. PHP fournit une fonction de téléchargement de fichiers pratique, mais les fichiers téléchargés sont stockés par défaut dans le répertoire temporaire du serveur, ce qui n'est pas propice à la gestion et à l'application des fichiers.

Par conséquent, de nombreux développeurs Web doivent modifier le chemin de sauvegarde des fichiers téléchargés PHP afin que les fichiers téléchargés puissent être stockés dans le répertoire spécifié. Cet article présente principalement comment modifier le chemin de sauvegarde des fichiers téléchargés PHP, ainsi que certains problèmes auxquels il faut prêter attention lors de la modification du chemin.

1. Définissez le répertoire de téléchargement PHP

En PHP, le chemin où les fichiers téléchargés sont enregistrés est contrôlé par la variable $_FILES['userfile']['tmp_name']. Par défaut, cette variable pointe vers le répertoire de téléchargement temporaire sur le serveur PHP. Le chemin spécifique est généralement /tmp ou /var/tmp. Afin d'enregistrer le fichier téléchargé dans le répertoire spécifié, vous devez définir la variable upload_tmp_dir pour spécifier le chemin du répertoire pour le téléchargement du fichier. $_FILES['userfile']['tmp_name'] 控制的。默认情况下,这个变量指向PHP服务器上的临时上传目录,具体路径通常是 /tmp 或者 /var/tmp。为了保存上传的文件到指定的目录中,需要设置 upload_tmp_dir 变量来指定文件上传的目录路径。

具体的设置方法有两种:

  1. 在PHP的配置文件 php.ini 中设置。

找到以下两个参数:

upload_tmp_dir = /path/to/upload/dir
upload_max_filesize = 2M
Copier après la connexion

其中,upload_max_filesize 是指定文件上传的最大大小,单位为字节。上述代码表示上传文件的最大大小为 2M。

  1. 在PHP代码中使用 ini_set 函数设置。

如果您没有权限修改 php.ini 配置文件,可以在PHP代码中使用 ini_set 函数动态设置上传目录路径。例如:

ini_set('upload_tmp_dir', '/path/to/upload/dir');
ini_set('upload_max_filesize', '2M');
Copier après la connexion

这些代码会将PHP的上传路径设置为 /path/to/upload/dir,并限制上传文件的最大大小为 2M。

二、设置上传文件的目标路径

在设置了上传目录后,PHP 会将上传的文件存储在所指定的目录中。但是,目前为止,还没有指定上传文件存储的最终目标路径。本节将介绍如何设置上传文件的目标路径。

  1. 使用 move_uploaded_file 函数

在PHP中,可以使用内置函数 move_uploaded_file 来将上传的文件移动到指定的目标路径。move_uploaded_file 函数接受两个参数,分别是上传文件的临时路径和目标路径。例如:

$uploadfile = '/path/to/upload/dir/' . basename($_FILES['userfile']['name']);
 
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "文件已经被成功上传!";
} else {
    echo "上传失败!";
}
Copier après la connexion

以上代码首先定义了上传文件的临时目录,并使用 move_uploaded_file 函数将上传的文件移动到指定的目标路径中。这样,就可以将文件以指定的文件名称,保存在指定的目录中了。

  1. 检查上传文件的类型和大小

为了避免上传非法文件和大文件,我们还应该在上传过程中,检查上传文件的类型和大小。这可以通过使用PHP的预定义变量 $_FILES

Il existe deux méthodes de paramétrage spécifiques :

Défini dans le fichier de configuration PHP php.ini.

  1. Retrouvez les deux paramètres suivants :
  2. $uploadfile = '/path/to/upload/dir/' . basename($_FILES['userfile']['name']);
     
    $allowedExtensions = ['jpg', 'png', 'gif'];
    $maxSize = 1000000;
     
    if (in_array(pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION), $allowedExtensions)
        && $_FILES['userfile']['size'] <= $maxSize
        && move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
     
        echo "文件已经被成功上传!";
    } else {
        echo "上传失败!";
    }
    Copier après la connexion
  3. Parmi eux, upload_max_filesize est la taille maximale du téléchargement de fichier spécifié, en octets. Le code ci-dessus indique que la taille maximale du fichier téléchargé est de 2 Mo.
    1. Utilisez le paramètre de fonction ini_set dans le code PHP.
    2. Si vous n'êtes pas autorisé à modifier le fichier de configuration php.ini, vous pouvez utiliser la fonction ini_set dans le code PHP pour définir dynamiquement le chemin du répertoire de téléchargement. Par exemple :
    rrreee

    Ces codes définiront le chemin de téléchargement PHP sur /path/to/upload/dir et limiteront la taille maximale du fichier téléchargé à 2 Mo.

    2. Définissez le chemin cible du fichier téléchargé

    🎜Après avoir défini le répertoire de téléchargement, PHP stockera le fichier téléchargé dans le répertoire spécifié. Cependant, jusqu'à présent, le chemin de destination finale du stockage des fichiers téléchargés n'a pas été spécifié. Cette section explique comment définir le chemin de destination des fichiers téléchargés. 🎜🎜🎜Utilisez la fonction move_uploaded_file 🎜🎜🎜En PHP, vous pouvez utiliser la fonction intégrée move_uploaded_file pour déplacer le fichier téléchargé vers le chemin cible spécifié. La fonction move_uploaded_file accepte deux paramètres, qui sont le chemin temporaire et le chemin cible du fichier téléchargé. Par exemple : 🎜rrreee🎜Le code ci-dessus définit d'abord le répertoire temporaire pour le téléchargement des fichiers et utilise la fonction move_uploaded_file pour déplacer les fichiers téléchargés vers le chemin cible spécifié. De cette façon, le fichier peut être enregistré dans le répertoire spécifié avec le nom de fichier spécifié. 🎜
      🎜Vérifiez le type et la taille des fichiers téléchargés🎜🎜🎜Afin d'éviter de télécharger des fichiers illégaux et des fichiers volumineux, nous devons également vérifier le type et la taille des fichiers téléchargés pendant le processus de téléchargement. Ceci peut être réalisé en utilisant la variable prédéfinie de PHP $_FILES. Par exemple : 🎜rrreee🎜Dans le code, nous définissons les types et les tailles de fichiers autorisés à être téléchargés, et nous les filtrons en conséquence. Si le type et la taille du fichier téléchargé répondent aux exigences, il sera enregistré dans le chemin spécifié. 🎜🎜3. Notes🎜🎜🎜Lors de la définition du répertoire de téléchargement, veuillez vous assurer des autorisations de lecture et d'écriture du répertoire, sinon les fichiers ne pourront pas être créés dans le répertoire. 🎜🎜Lors de la définition du répertoire de téléchargement, il est préférable d'utiliser un chemin absolu pour éviter les erreurs de chemin. 🎜🎜 La taille et le type de fichier doivent être vérifiés lors du téléchargement de fichiers pour éviter de télécharger des fichiers illégaux ou des fichiers volumineux qui occupent trop de ressources du serveur. 🎜🎜Lors du téléchargement de fichiers, ne vous fiez pas au nom et au type du fichier téléchargé. Il est préférable d'utiliser SHA1 ou une chaîne aléatoire pour renommer les fichiers afin d'éviter les collisions de noms de fichiers et les problèmes de sécurité. 🎜🎜🎜Résumé🎜🎜Cet article explique comment modifier le chemin d'enregistrement des fichiers téléchargés PHP et définir le chemin cible des fichiers téléchargés. Au cours du processus de mise en œuvre spécifique, certaines précautions doivent être suivies pour garantir la stabilité et la sécurité du téléchargement de fichiers. J’espère que le contenu ci-dessus pourra être utile au développement d’applications Web de chacun ! 🎜

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. Mar 26, 2025 pm 04:13 PM

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. Mar 25, 2025 am 10:37 AM

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Mar 26, 2025 pm 04:18 PM

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

Encryption PHP: cryptage symétrique vs asymétrique. Encryption PHP: cryptage symétrique vs asymétrique. Mar 25, 2025 pm 03:12 PM

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Mar 25, 2025 pm 03:06 PM

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

Limitation du taux de l'API PHP: stratégies de mise en œuvre. Limitation du taux de l'API PHP: stratégies de mise en œuvre. Mar 26, 2025 pm 04:16 PM

L'article traite des stratégies de mise en œuvre de la limitation du taux d'API en PHP, y compris des algorithmes comme un godet de jeton et un seau qui fuit, et en utilisant des bibliothèques comme Symfony / Rate-Limiter. Il couvre également la surveillance, l'ajustement dynamiquement des limites de taux et la main

Protection PHP CSRF: comment empêcher les attaques du CSRF. Protection PHP CSRF: comment empêcher les attaques du CSRF. Mar 25, 2025 pm 03:05 PM

L'article traite des stratégies pour prévenir les attaques du CSRF dans PHP, notamment en utilisant des jetons CSRF, des cookies de même site et une bonne gestion de session.

Validation d'entrée PHP: meilleures pratiques. Validation d'entrée PHP: meilleures pratiques. Mar 26, 2025 pm 04:17 PM

L'article traite des meilleures pratiques pour la validation des entrées PHP pour améliorer la sécurité, en se concentrant sur des techniques telles que l'utilisation de fonctions intégrées, une approche de liste blanche et une validation côté serveur.

See all articles