如何使用PHP在Live Server中创建目录?

时间:2014-02-14 07:11:10

标签: php windows cakephp

<?php
$dirPath = "Admin/new_images";
$result = mkdir($dirPath, 0777);
if ($result == 1) {
echo $dirPath . " has been created";
} else {
    echo $dirPath . " has NOT been created";
}
?>

此代码与我的本地主机一起正常运行。 但它不适用于实时服务器。 任何人都可以帮我吗?

3 个答案:

答案 0 :(得分:0)

试试这个:

<?php
$dirPath = "Admin/new_images";
$result = mkdir($dirPath, 0777, true);
chmod($dirPath, 0777); 

if ($result == 1) {
echo $dirPath . " has been created";
} else {
    echo $dirPath . " has NOT been created";
}
?>

对于窗口,您必须更改$dirPath,如下所示:

$dirPath = "Admin\\new_images"; 

答案 1 :(得分:0)

mkdir - 制作目录

描述

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )

尝试创建pathname指定的目录。

参数:

  

pathname目录路径。

     

模式默认情况下,模式为0777,这意味着最宽的模式   访问。有关模式的更多信息,请阅读chmod()上的详细信息   页。

     

注意:

     在Windows上忽略

模式。

     

请注意,您可能希望将模式指定为八进制数,   这意味着它应该有一个前导零。该模式也被修改   通过当前的umask,您可以使用umask()进行更改。

     

recursive允许创建在。中指定的嵌套目录   路径名。默认为FALSE。

     

context注意:PHP 5.0.0添加了上下文支持。为一个   上下文的描述,请参阅流函数

返回值

  

成功时返回TRUE,失败时返回FALSE。

<?php

/**
 * Makes directory, returns TRUE if exists or made
 *
 * @param string $pathname The directory path.
 * @return boolean returns TRUE if exists or made or FALSE on failure.
 */

function mkdir_recursive($pathname, $mode)
{
    is_dir(dirname($pathname)) || mkdir_recursive(dirname($pathname), $mode);
    return is_dir($pathname) || @mkdir($pathname, $mode);
}

?>

答案 2 :(得分:0)

尝试以下代码

<?php 
test();
function test(){
    $root_path = $_SERVER['DOCUMENT_ROOT'];
    $directory_name = 'testDir';
    if (!file_exists($root_path.'/'.$directory_name)) {
        if(mkdir($root_path.'/'.$directory_name, 0777, true)){
            print "Directory created successfully.";
        }else{
            print "Error in creating Directory.";
        }
    }else{
        print "Directory already exists.";
    }
}
?>