我的文件夹结构就像 -
root
admin
create_page.php
pages
my_page1.php
my_page2.php
我有在“pages”文件夹中创建新php文件的代码。代码就像 -
$dir_path = "../pages/";
$ourFileName = '../'.$page_name.".txt";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
$ourFileContent = '<?php echo "something..." ?>';
if (fwrite($ourFileHandle, $ourFileContent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
代码正常执行..没问题。但该页面尚未创建。请告诉我我做错了什么。路径有问题吗? FCLOSE($ ourFileHandle);
答案 0 :(得分:22)
这是一个使用fopen,fwrite,fclose
更简单的file_put_contents()包装器的示例<?php
error_reporting(E_ALL);
$pagename = 'my_page1';
$newFileName = './pages/'.$pagename.".php";
$newFileContent = '<?php echo "something..."; ?>';
if (file_put_contents($newFileName, $newFileContent) !== false) {
echo "File created (" . basename($newFileName) . ")";
} else {
echo "Cannot create file (" . basename($newFileName) . ")";
}
?>
答案 1 :(得分:7)
$ourFileHandle = fopen("../pages/" .$ourFileName, 'w') or die("can't open file");
将上述更改改为第三行,它可能会起作用;我尝试了它并且它有效。
答案 2 :(得分:1)
你有没有故意错过了汇总$ dir_path和$ ourFileName;
现在
答案 3 :(得分:1)
如果出现同样的问题,将不会在具有不同权限的文件夹中创建文件,请确保文件夹的权限与其他文件相同。
答案 4 :(得分:0)
试试这个
$pagename = 'your_filename';
$newFileName = '../pages/'.$pagename.".php";