Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果第一条语句有效,则执行第二条语句_Php_Codeigniter - Fatal编程技术网

Php 如果第一条语句有效,则执行第二条语句

Php 如果第一条语句有效,则执行第二条语句,php,codeigniter,Php,Codeigniter,如果目录不存在,我创建目录并保存一个文件,如果目录存在,我也可以只保存一个文件。应该一次创建一个文件,而不是与下面的代码同时创建所有文件。如果现在创建了第一个文件,那么只应在调用函数时创建下一个文件。这些文件名为R1、R2…Rn。我怎样才能做到这一点,这同时创造了它们 $fileName1=$fileName1='somedir/'.$thedir.'/'.$thefile.'_R1.xlsx'; ... if (!dir($dirName)) { mkdir('somedir/'

如果目录不存在,我创建目录并保存一个文件,如果目录存在,我也可以只保存一个文件。应该一次创建一个文件,而不是与下面的代码同时创建所有文件。如果现在创建了第一个文件,那么只应在调用函数时创建下一个文件。这些文件名为R1、R2…Rn。我怎样才能做到这一点,这同时创造了它们

$fileName1=$fileName1='somedir/'.$thedir.'/'.$thefile.'_R1.xlsx';

...

if (!dir($dirName)) 
{
    mkdir('somedir/' . thedir, 0777);
    $objWriter->save($fileName);
}

if (dir($dirName) && (!file_exists($fileName))) 
{
    $objWriter->save($fileName);
} 

if (dir($dirName) && file_exists($fileName)) 
{
    $objWriter->save('somedir/' . $thedir . '/' . $thefile . '_R1.xlsx');
}

if (dir($dirName) && file_exists($fileName1)) 
{
    $objWriter->save('somedir/' . $thedir . '/' . $thefile . '_R2.xlsx');
}

...

您必须添加错误处理,并注意,仅检查一个文件可能会产生并发问题(两个进程同时尝试发现文件不存在并尝试创建它)。

您需要使用
[is_dir][1]
函数检查文件夹是否存在

看看这段代码-你的代码有点重复

$fileName1=$fileName1='somedir/'.$thedir.'/'.$thefile.'_R1.xlsx';
....

// Directory does not exist - create it
if (!is_dir($dirName)) 
{
    mkdir('somedir/' . thedir, 0777);
    $objWriter->save($fileName);
}

// Directory exists
if (is_dir($dirName))
{
    // File does not exist - create it
    if (!file_exists($fileName))) 
    {
        $objWriter->save($fileName);
    } 

    // Check one more time if the file exists
    if (file_exists($fileName))) 
    {
        $objWriter->save('somedir/' . $thedir . '/' . $thefile . '_R1.xlsx');
        $objWriter->save('somedir/' . $thedir . '/' . $thefile . '_R2.xlsx');
    }
}

.......

你需要的是功能,而不是你想的那样。谢谢,这就像一种魅力。如何使第一个文件不带后缀,然后使后续文件为R1…RnI最终发现,我不必在数组的第一个值中使用后缀
$fileName1=$fileName1='somedir/'.$thedir.'/'.$thefile.'_R1.xlsx';
....

// Directory does not exist - create it
if (!is_dir($dirName)) 
{
    mkdir('somedir/' . thedir, 0777);
    $objWriter->save($fileName);
}

// Directory exists
if (is_dir($dirName))
{
    // File does not exist - create it
    if (!file_exists($fileName))) 
    {
        $objWriter->save($fileName);
    } 

    // Check one more time if the file exists
    if (file_exists($fileName))) 
    {
        $objWriter->save('somedir/' . $thedir . '/' . $thefile . '_R1.xlsx');
        $objWriter->save('somedir/' . $thedir . '/' . $thefile . '_R2.xlsx');
    }
}

.......