Aujourd'hui, j'ai rencontré un problème lorsque j'utilisais cette fonction pour déterminer si une image existe.
if(file_exists("/ueditor/php/upload/image/20170621/1498038174913865.jpg")){
echo 1;
}else{
echo 0;
}
//输出0
<img src ="/ueditor/php/upload/image/20170621/1498038174913865.jpg" />
Cependant, l'utilisation de la balise img sur la même page peut afficher l'image correctement. Pourquoi est-ce ?
L'adresse commençant par / déterminée par file_exists est le chemin absolu du fichier Linux, et l'adresse commençant par / dans la balise img est le chemin relatif à votre url. Les deux chemins sont définitivement différents !
Les bases de HTML et Linux ne suffisent pas
Bonne réponse à l'étage~
Combiné avec ce qui précède, si vous souhaitez résoudre votre problème.
Les paramètres dans file_exists doivent être des adresses absolues, vous pouvez essayer d'utiliser la constante __DIR__.
S'il s'agit d'un framework, des constantes correspondantes seront généralement utilisées, donc la définition et le jugement seront relativement contrôlables.
La bonne réponse à l'étage est d'obtenir au moins le répertoire racine du site et de le rassembler.
Les bases ne sont pas assez bonnes. L'un est le chemin du système de fichiers et l'autre est le chemin de l'URL. Les deux n'ont rien à voir l'un avec l'autre.
Cela semble similaire, c'est juste une coïncidence.