我想在PHP中动态地在Web服务器上创建一个文件.
首先,我创建一个目录来存储文件.这个工作
// create the users directory and index page $dirToCreate = "..".$_SESSION['s_USER_URL']; mkdir($dirToCreate, 0777, TRUE); // create the directory for the user
现在我想创建一个名为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);
但它永远不会超过$ourFileHandle = fopen($ourFileName, 'x') or die("can't open file");
Saying文件不存在,但这就是重点.我想创造它.
我做了一些回应,路径(/ people/jason)存在,我正在写信给/people/jason/index.php
有没有人对我做错了什么有任何想法?
我相信Linux服务器上的PHP 5.
-Jason
首先你做:
$dirToCreate = "..".$_SESSION['s_USER_URL'];
但是您尝试写入的文件名不以".."为前缀,因此请尝试更改
$ourFileName = $_SESSION['s_USER_URL']."/"."index.php";
至
$ourFileName = '..' . $_SESSION['s_USER_URL'] . '/index.php';
或者可能更整洁:
$ourFileName = $dirToCreate . '/index.php';
您可能正在收到警告,因为您尝试将文件写入的目录不存在