Maison  >  Article  >  développement back-end  >  PHP détermine si un fichier est accessible en écriture

PHP détermine si un fichier est accessible en écriture

王林
王林original
2019-09-30 17:44:243143parcourir

PHP détermine si un fichier est accessible en écriture

PHP détermine si un fichier ou un répertoire est accessible en écriture

En PHP, la fonction is_writable() peut être utilisée pour déterminer si un fichier/ Le répertoire est accessible en écriture, les détails sont les suivants :

Référence

is_writable — Détermine si le nom de fichier donné est accessible en écriture.

Description

bool is_writable ( string $filename )

Renvoie VRAI si le fichier existe et est accessible en écriture. (Le paramètre $filename peut être un nom de répertoire, qui vérifie si le répertoire est accessible en écriture.)

Remarque :

PHP ne peut exécuter le serveur Web qu'en tant que le nom d'utilisateur (généralement « personne ») pour accéder aux fichiers ne compte pas dans les restrictions du mode sans échec.

Exemple is_writable()

<?php
$filename = &#39;test.txt&#39;;
if (is_writable($filename)) {
    echo &#39;The file is writable&#39;;
} else {
    echo &#39;The file is not writable&#39;;
}
?>

Remarque : is_writeable() est un alias de is_writable() !

Afin d'être compatible avec différents systèmes d'exploitation, vous pouvez personnaliser une fonction inscriptible. Le code est le suivant :

/**
 * 判断 文件/目录 是否可写(取代系统自带的 is_writeable 函数)
 *
 * @param string $file 文件/目录
 * @return boolean
 */
function new_is_writeable($file) {
    if (is_dir($file)){
        $dir = $file;
        if ($fp = @fopen("$dir/test.txt", &#39;w&#39;)) {
            @fclose($fp);
            @unlink("$dir/test.txt");
            $writeable = 1;
        } else {
            $writeable = 0;
        }
    } else {
        if ($fp = @fopen($file, &#39;a+&#39;)) {
            @fclose($fp);
            $writeable = 1;
        } else {
            $writeable = 0;
        }
    }
 
    return $writeable;
}

Tutoriel recommandé : Tutoriel vidéo PHP

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