首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使目录已经存在,也会显示错误

即使目录已经存在,也会显示错误
EN

Stack Overflow用户
提问于 2012-03-25 07:00:57
回答 3查看 118关注 0票数 0

我正在用PHP制作一个内联网客户管理器。对于每个客户,都会为商店创建一个目录以将文件添加到其中。实际发生的情况是,如果该目录已经存在,我会收到以下错误:

代码语言:javascript
复制
Warning: mkdir() [function.mkdir]: File exists in     C:\server2go\server2go\htdocs\customermgr\administrator\components\com_chronoforms\form_actions\custo    m_code\custom_code.php(18) : eval()'d code on line 14

那么到底发生了什么,它还是试图创建它,即使if语句应该阻止它?,我对我做错了什么感到困惑:-S。

代码语言:javascript
复制
    <?php
    $customerID = $_GET['cfid'];
    $directory = "/customer-files/$customerID";

    if(file_exists($directory) && is_dir($directory)) { 
    }
    else {


    $thisdir = getcwd(); 


    mkdir($thisdir ."/customer-files/$customerID" , 0777); }

    ?>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-25 07:06:08

替换:

if(file_exists($directory) && is_dir($directory)) {

通过以下方式:

代码语言:javascript
复制
$thisdir = getcwd();
if(file_exists($thisdir.$directory) && is_dir($thisdir.$directory)) {

或者更好:

代码语言:javascript
复制
   <?php
    $customerID = $_GET['cfid'];
    $directory = "./customer-files/$customerID";

    if(file_exists($directory) && is_dir($directory)) { 
    }
    else {


    mkdir($directory , 0777); }

    ?>
票数 1
EN

Stack Overflow用户

发布于 2012-03-25 07:06:47

我只是看了一下,但我会试试这个:

代码语言:javascript
复制
$directory = $thisdir . "/customer-files/$customerID";

并从mkdir()中删除$thisdir;

此外,您还应该将$thisdir移到$directory声明之前

票数 1
EN

Stack Overflow用户

发布于 2012-03-25 07:13:41

is_dir()可以使用相对路径,但函数file_exists()不使用相对路径。因此,请使用公分母,并将绝对路径传递给这些函数。此外,您可以将对getcwd()的调用移到$directory赋值中,并在以后重用$directory来创建目录。

代码语言:javascript
复制
<?php

   $customerID = $_GET['cfid'];

   // Get full path to directory
   $directory = getcwd() . "/customer-files/$customerID";

    if(file_exists($directory) && is_dir($directory)) { 
       // Do nothing
    }
    else { 
       // Directory doesn't exist, make it
       mkdir($directory , 0777); }
    }

?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9856425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档