Position actuelle: Accueil> Derniers articles> Comment utiliser la fonction chdir () pour modifier le répertoire de travail actuel en PHP? Exemple complet de l'interprétation

Comment utiliser la fonction chdir () pour modifier le répertoire de travail actuel en PHP? Exemple complet de l'interprétation

gitbox 2025-10-01
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// PHP Script Préfixe Pièce sans rapport</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Voici quelques contenus pré-sortie,N&#39;a rien à voir avec le contenu de l&#39;article。\n"</span></span><span>;
</span><span><span class="hljs-variable">$foo</span></span><span> = </span><span><span class="hljs-number">123</span></span><span>;
</span><span><span class="hljs-variable">$bar</span></span><span> = [</span><span><span class="hljs-string">"a"</span></span><span>, </span><span><span class="hljs-string">"b"</span></span><span>, </span><span><span class="hljs-string">"c"</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">/**
 * chdir() Comment changer les fonctions PHP Répertoire de travail actuel dans?Exemple complet de l&#39;interprétation
 * 
 * exister PHP milieu,chdir() Les fonctions sont utilisées pour modifier le répertoire de travail actuel(Current Working Directory,CWD)。
 * Le répertoire de travail actuel est PHP Le chemin par défaut lorsque les scripts font fonctionner des fichiers,Si aucun chemin absolu n&#39;est spécifié,
 * Les opérations de fichiers seront basées sur le répertoire de travail actuel。
 *
 * Prototype de fonction:
 * bool chdir(string $directory)
 *
 * paramètre:
 * $directory - Le chemin vers le répertoire cible,Cela peut être un chemin relatif ou un chemin absolu。
 *
 * Valeur de retour:
 * Retourner avec succès true,Échec du retour false。
 *
 * Avis:
 * 1. si指定的目录不存exister,Reviendra false。
 * 2. si PHP Aucune autorisation pour accéder au répertoire,Ça échouera aussi。
 */</span>

</span><span><span class="hljs-comment">// Exemple 1:Passez au répertoire spécifié</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Exemple 1:Passez au répertoire spécifié\n"</span></span><span>;
</span><span><span class="hljs-variable">$targetDir</span></span><span> = </span><span><span class="hljs-string">"/tmp"</span></span><span>;  </span><span><span class="hljs-comment">// 你系统上存exister的目录</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">chdir</span></span><span>(</span><span><span class="hljs-variable">$targetDir</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Le répertoire de travail actuel a été modifié en: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">getcwd</span></span><span>() . </span><span><span class="hljs-string">"\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"La commutation du répertoire a échoué,请检查路径是否存exister或权限。\n"</span></span><span>;
}

</span><span><span class="hljs-comment">// Exemple 2:Utiliser des chemins relatifs</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\nExemple 2:Utiliser des chemins relatifs\n"</span></span><span>;
</span><span><span class="hljs-variable">$currentDir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getcwd</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Répertoire actuel: <span class="hljs-subst">$currentDir</span></span></span><span>\n";

</span><span><span class="hljs-variable">$relativePath</span></span><span> = </span><span><span class="hljs-string">"../"</span></span><span>; </span><span><span class="hljs-comment">// Répertoire avancé</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">chdir</span></span><span>(</span><span><span class="hljs-variable">$relativePath</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"切换到Répertoire avancé后: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">getcwd</span></span><span>() . </span><span><span class="hljs-string">"\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"La commutation de chemin relative a échoué。\n"</span></span><span>;
}

</span><span><span class="hljs-comment">// Exemple 3:Combiné avec des opérations de fichiers</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\nExemple 3:Combiné avec des opérations de fichiers\n"</span></span><span>;
</span><span><span class="hljs-variable">$newDir</span></span><span> = </span><span><span class="hljs-keyword">__DIR__</span></span><span> . </span><span><span class="hljs-string">"/testdir"</span></span><span>; </span><span><span class="hljs-comment">// 假设存exister一个 testdir</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">file_exists</span></span><span>(</span><span><span class="hljs-variable">$newDir</span></span><span>)) {
    </span><span><span class="hljs-title function_ invoke__">mkdir</span></span><span>(</span><span><span class="hljs-variable">$newDir</span></span><span>, </span><span><span class="hljs-number">0777</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
}

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">chdir</span></span><span>(</span><span><span class="hljs-variable">$newDir</span></span><span>)) {
    </span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-string">"example.txt"</span></span><span>, </span><span><span class="hljs-string">"这是一个Exemple文件,存放exister新工作目录。\n"</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"文件已创建exister: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">getcwd</span></span><span>() . </span><span><span class="hljs-string">"/example.txt\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Impossible de passer au nouveau répertoire pour créer un fichier。\n"</span></span><span>;
}

</span><span><span class="hljs-comment">// Résumer</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\nRésumer:\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"1. chdir() Utilisé pour modifier PHP Le répertoire de travail actuel du script。\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"2. utiliser getcwd() Vous pouvez obtenir le répertoire de travail actuel。\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"3. exister进行文件读写时,Peut être combiné chdir() Utiliser des chemins relatifs,Pratique pour gérer la structure des fichiers。\n"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>