Невозможно открыть файл во время записи файла php - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь использовать 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, то я получаю

http://bittotb.com/synthesis_study_material/student_admin/include/uploaded/epub/923960_hotel (1).epub.php

это правильное имя файла и путь, но тем не менее, он дает мне Невозможно открыть файл, и мое разрешение папки показывает 0777

1 Ответ

0 голосов
/ 27 января 2019

Вы должны использовать путь на сервере, а не 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");
// ...
...