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] =>
)
..预计也会出现这种情况!
还有一件事。 当我遇到意想不到的行为时...我的目标文件存在时运行代码!所以主要条件应该是假的......并且假设没有任何事情发生。但是,我得到所有新的文件夹结构都有奇怪的名字......并且不能在相同的代码块中触发其他任何东西,比如我在该块第一行的回声测试函数。
答案 0 :(得分:0)
这绝对是我见过的最混乱的错误。经过10多个小时的调试后,我发现PHP与HTML脚本相混淆,后者包含在前面的代码中。 不一定是普通的HTML,如果我使用echo函数生成一些HTML部分,也会引起同样的困惑。
这部分代码是关键:
--watch
所以,让我们关注img标签。如果我更改此标记名称,则不再存在任何错误! 如果我更改了此标记的src属性,它将直接导致意外文件夹的不同名称(生成文件夹时)
这显然是PHP的意外行为? ......我不知道我的错误是什么? :/