我正在尝试使用fopen和fwrite
$book="http://bittotb.com/synthesis_study_material/student_admin/include/uploaded/epub/923960_hotel (1).epub";
$path=$book.".php";
$myfile =fopen($path, "w");
$txt = "<?php include('hello.php'); ?>";
fwrite($myfile, $txt);
fclose($myfile);
当我像这样在fopen中写文件名时
$myfile =fopen("abc.php", "w");
然后在同一目录中创建文件,但我想在另一个目录中创建该文件。使用path时,如果我回显$ path则不起作用
http://bittotb.com/synthesis_study_material/student_admin/include/uploaded/epub/923960_hotel (1).epub.php
这是正确的文件名和路径,但是,这仍然使我无法打开文件,并且我的文件夹权限显示为0777
答案 0 :(得分:3)
您必须使用服务器上的路径,而不是页面的URL。
例如,您的页面可以具有URL http://example.org/index.php
。该文件可以位于称为/var/www/example.org/index.php
的服务器上。
使用此代码确定您的目录:
<?php
echo getcwd();
如果上面的代码显示/var/www/example.org/
,则文件http://example.org/test.php
的文件路径为/var/www/example.org/test.php
。但是最好使用相对路径。 (见下文)
如果您有页面http://example.org/index.php
,并且要创建http://example.org/test.php
,请使用以下方法:
$file = fopen("test.php", "w");
fwrite($file, "<?php echo 'Hello World'; ?>");
fflush($file);
fclose($file);
如果要从脚本http://bittotb.com/synthesis_study_material/student_admin/include/uploaded/epub/file.php
写入文件http://bittotb.com/synthesis_study_material/student_admin/module/corses/file.php
,请使用相对路径:
$file = fopen("../../include/uploaded/epub/file.php", "w");
// ...