php:写文件

1 php file-io

我想在PHP中动态地在Web服务器上创建一个文件.

首先,我创建一个目录来存储文件.这个工作

// create the users directory and index page
$dirToCreate = "..".$_SESSION['s_USER_URL'];
mkdir($dirToCreate, 0777, TRUE); // create the directory for the user
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个名为index.php的文件,并将一些内容写入其中.

我在尝试:

$ourFileName = $_SESSION['s_USER_URL']."/"."index.php";
$ourFileHandle = fopen($ourFileName, 'x') or die("can't open file");
fclose($ourFileHandle);

// append data to it
$ourFileHandle = fopen($ourFileName, 'a') or die("can't write to file");

$stringData = "Hi";

fwrite($ourFileHandle, $stringData);
Run Code Online (Sandbox Code Playgroud)

但它永远不会超过$ourFileHandle = fopen($ourFileName, 'x') or die("can't open file");Saying文件不存在,但这就是重点.我想创造它.

我做了一些回应,路径(/ people/jason)存在,我正在写信给/people/jason/index.php

有没有人对我做错了什么有任何想法?

我相信Linux服务器上的PHP 5.

-Jason

Tom*_*igh 5

首先你做:

$dirToCreate = "..".$_SESSION['s_USER_URL']; 
Run Code Online (Sandbox Code Playgroud)

但是您尝试写入的文件名不以".."为前缀,因此请尝试更改

$ourFileName = $_SESSION['s_USER_URL']."/"."index.php";
Run Code Online (Sandbox Code Playgroud)

$ourFileName = '..' . $_SESSION['s_USER_URL'] . '/index.php';
Run Code Online (Sandbox Code Playgroud)

或者可能更整洁:

$ourFileName = $dirToCreate . '/index.php';
Run Code Online (Sandbox Code Playgroud)

您可能正在收到警告,因为您尝试将文件写入的目录不存在