php,字符串斜杠问题

时间:2015-07-08 14:17:14

标签: php string slash

generirajSkripte()是我的功能,但它对于检测问题并不重要。 所以,下一个代码工作得很好:

generirajSkripte('pages/','developingStyles/','develop'); 
generirajSkripte('pages/','developingStyles/fonts/','fonts');  

这段代码也很好用:

//All these variable matching strings above!
generirajSkripte('pages/',$Pages[0].'/',$ScriptNames[0]); 
generirajSkripte('pages/',$Pages[0].'/fonts/',$ScriptNames[1]);  

这段代码不起作用:

generirajSkripte('pages/',$Pages[0].'/',$ScriptNames[0]); 
generirajSkripte('pages/',$Pages[0].'/'.$Pages[1].'/',$ScriptNames[1]);  

可变$ Pages [1] =='字体' 101%,我花了8个小时检查它以及更多......没有任何东西是没有意义的!

所以,让我们进入generirajSkripte():

function generirajSkripte($pageFolderName,$path,$scriptName)
    {
    if(!file_exists(noSlashRight($pageFolderName.$path))) 
        {
        echo '(test echo) dont exist: '.$pageFolderName.$path;br();
        //die('miki');
        if (!mkdir(noSlashRight($pageFolderName.$path), 0777, true)) {die('Failed to create folders...');};

        //model.php
        $file=fopen($pageFolderName.$path.$scriptName."_m.php", "w");  
        fwrite($file, "<?php nnnnn?>"); fclose($file);

        //wiev php (content)
        $file=fopen($pageFolderName.$path.$scriptName."_w.php", "w"); 
        $fileTxt=""; 
        fwrite($file, $fileTxt );
        fclose($file);

        //file.js
        $file=fopen($pageFolderName.$path.$scriptName.".js", "w");
        fwrite($file, "/*\n onload(function()\n\t{\n\t});\n*/"); 
        fclose($file);

        //file.css
        $file=fopen($pageFolderName.$path.$scriptName.".css", "w");
        fclose($file);


        echo 'There is new script for path: '.$pageFolderName.$path;br();
        }
    }

在代码不起作用的情况下,会产生一堆奇怪的文件夹,但不会触发测试回显线。太奇怪!!

错误?没有错误,只有我得到额外的无意义和意外的文件夹层次结构。这些文件夹的名称就像我的主文件夹一样。文件夹的某些名称就像我的img文件夹中的图像一样,它位于结构的顶层。

当我打印变量...我在函数generirajSkripte()中得到的所有变量都与预期完全一样......两种情况都一样!

我在$ Pages中寻找一些额外的字符,所以我做了测试:

echo '<pre>';
print_r($Pages);
print_r($ScriptNames);
echo '</pre>';

得到了:

Array 
( 
    [0] => developingStyles 
    [1] => fonts 
    [2] =>  
    [3] =>  
    [4] =>  
) 
Array 
( 
    [0] => develop 
    [1] => fonts 
    [2] =>  
    [3] =>  
    [4] =>  
)  

..预计也会出现这种情况!

还有一件事。 当我遇到意想不到的行为时...我的目标文件存在时运行代码!所以主要条件应该是假的......并且假设没有任何事情发生。但是,我得到所有新的文件夹结构都有奇怪的名字......并且不能在相同的代码块中触发其他任何东西,比如我在该块第一行的回声测试函数。

1 个答案:

答案 0 :(得分:0)

这绝对是我见过的最混乱的错误。经过10多个小时的调试后,我发现PHP与HTML脚本相混淆,后者包含在前面的代码中。 不一定是普通的HTML,如果我使用echo函数生成一些HTML部分,也会引起同样的困惑。

这部分代码是关键:

--watch

所以,让我们关注img标签。如果我更改此标记名称,则不再存在任何错误! 如果我更改了此标记的src属性,它将直接导致意外文件夹的不同名称(生成文件夹时)

这显然是PHP的意外行为? ......我不知道我的错误是什么? :/