Position actuelle: Accueil> Derniers articles> Comment utiliser Pathinfo pour déterminer les types de fichiers et exécuter différentes logiques de fonctionnement PHP?

Comment utiliser Pathinfo pour déterminer les types de fichiers et exécuter différentes logiques de fonctionnement PHP?

gitbox 2025-09-08
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie du code n&#39;a rien à voir avec le contenu du texte,Juste un exemple d&#39;affichage,L&#39;application réelle peut être ajustée au besoin</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Le programme commence à exécuter&lt;br&gt;"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * Comment utiliser pathinfo Déterminer le type de fichier et exécuter différent PHP Logique opérationnelle?
 * 
 * existerPHPEn cours de développement,Il est souvent nécessaire d&#39;exécuter différentes logiques de traitement en fonction du type de fichier,Par exemple, fichiers d&#39;images、Dossier de documents、Fichiers vidéo, etc.。
 * PHPIntégré pathinfo Les fonctions peuvent facilement obtenir des informations sur le chemin du fichier,Inclure l&#39;extension du fichier,Cela permettra le jugement du type de fichier。
 * 
 * Voici un exemple simple,Démontrer comment l&#39;utiliser pathinfo Obtenir une extension de fichier,Et effectuer différentes opérations selon différents types。
 */</span>

</span><span><span class="hljs-comment">// Supposons qu&#39;il y ait un nom de fichier</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.jpg"</span></span><span>;

</span><span><span class="hljs-comment">// utiliser pathinfo Obtenir des informations sur le fichier</span></span><span>
</span><span><span class="hljs-variable">$fileInfo</span></span><span> = </span><span><span class="hljs-title function_ invoke__">pathinfo</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>);

</span><span><span class="hljs-comment">// Obtenez l&#39;extension(Faites attention aux minuscules,Évitez l&#39;extension incohérente du cas)</span></span><span>
</span><span><span class="hljs-variable">$extension</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$fileInfo</span></span><span>[</span><span><span class="hljs-string">'extension'</span></span><span>] ?? </span><span><span class="hljs-string">''</span></span><span>);

</span><span><span class="hljs-comment">// Exécuter une logique différente en fonction de l&#39;extension</span></span><span>
</span><span><span class="hljs-keyword">switch</span></span><span> (</span><span><span class="hljs-variable">$extension</span></span><span>) {
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'jpg'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'jpeg'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'png'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'gif'</span></span><span>:
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Ceci est un fichier photo,Exécuter la logique de traitement d&#39;image。&lt;br&gt;"</span></span><span>;
        </span><span><span class="hljs-comment">// Ici, vous pouvez écrire des codes de traitement liés à l&#39;image,Par exemple, génération de miniatures、Compression d&#39;image, etc.</span></span><span>
        </span><span><span class="hljs-keyword">break</span></span><span>;

    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'pdf'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'doc'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'docx'</span></span><span>:
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"这是一个Dossier de documents,Exécuter la logique de traitement des documents。&lt;br&gt;"</span></span><span>;
        </span><span><span class="hljs-comment">// Ici, vous pouvez écrire le code de traitement lié au document,Par exemple, analyse de contenu、Conversion de format, etc.</span></span><span>
        </span><span><span class="hljs-keyword">break</span></span><span>;

    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'mp4'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'avi'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'mov'</span></span><span>:
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Ceci est un fichier vidéo,Exécuter la logique de traitement vidéo。&lt;br&gt;"</span></span><span>;
        </span><span><span class="hljs-comment">// Ici, vous pouvez écrire des codes de traitement liés à la vidéo,Par exemple, transcoding、Extraire des couvertures, etc.</span></span><span>
        </span><span><span class="hljs-keyword">break</span></span><span>;

    </span><span><span class="hljs-keyword">default</span></span><span>:
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Types de fichiers inconnus ou non pris en charge,Exécuter la logique de traitement par défaut。&lt;br&gt;"</span></span><span>;
        </span><span><span class="hljs-comment">// Écrivez la logique de traitement par défaut ici,Par exemple, refusant de télécharger、Erreurs rapides, etc.</span></span><span>
        </span><span><span class="hljs-keyword">break</span></span><span>;
}

<span class="hljs-comment">/**
 * Portez une attention particulière ici:
 * 1. pathinfo Analyser uniquement la chaîne de nom de fichier lui-même,不验证文件是否存exister。
 * 2. Le jugement d&#39;extension dépend du suffixe de nom de fichier,可能存exister安全风险(Par exemple, modifier malicieusement le suffixe),Combiné si nécessaire mime_content_type Vérification secondaire。
 * 3. Les extensions doivent être converties en format unifié(Généralement utilisé strtolower)Pour éviter les erreurs de jugement causées par la casse supérieure et inférieure。
 */</span>

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>