如何将PHP中的文件保存到比当前文件更高的目录?
脚本位于myusername/public_html/item/index.php中 保存文件的代码:如何将PHP中的文件保存到比当前文件更高的目录?,php,Php,脚本位于myusername/public_html/item/index.php中 保存文件的代码: $filename = $_SERVER['DOCUMENT_ROOT'].'/../data/guestbook.txt'; $filehandle = fopen($filename, 'ab+') or die("<p>Unable to create the file!</p>\n".$filename); flock($file
$filename = $_SERVER['DOCUMENT_ROOT'].'/../data/guestbook.txt';
$filehandle = fopen($filename, 'ab+') or die("<p>Unable to create the file!</p>\n".$filename);
flock($filehandle, LOCK_EX) or die("<p>Unable to lock the file!</p>\n");
fwrite($filehandle, $new_entry) or die("<p>Unable to write to the file!</p>\n");
fclose($filehandle);
$filename=$\u服务器['DOCUMENT\u ROOT']./../data/guestbook.txt';
$filehandle=fopen($filename,'ab+')或die(无法创建文件!\n“$filename”);
flock($filehandle,LOCK_EX)或die(无法锁定文件!\n”);
fwrite($filehandle,$new_entry)或die(无法写入文件!\n”);
fclose($filehandle);
由于某些原因,它在fopen上失败,文件名实际上以//结束,而不是导航到正确的路径
怎么办,怎么办
由于某种原因,它在fopen上失败了
编程中没有“某些原因”。总有某种原因。你必须知道这一点 实际上,文件名是以“/”结尾的/ 那正是你写的,没什么可抱怨的 如何将PHP中的文件保存到比当前文件更高的目录 从技术上讲,您设置的是正确的 但除了路径创建的错误方式之外,可能还有另一个原因。
是的,程序失败的原因总是很多 怎么办,怎么办 运行这段代码,看看它说了什么
ini_set('display_errors',1);
error_reporting(E_ALL);
$filename = $_SERVER['DOCUMENT_ROOT'].'/../data/guestbook.txt';
file_put_contents($filename,$new_entry);
它将告诉您失败的原因。如果php脚本位于项目文件夹中,并且项目和数据在目录层次结构中处于同一级别,则可以这样编写代码
$savedir = '../data/';
$filename = $savedir.'guestbook.txt';
确保apache用户通过“chown-R apache:apache”和“chmod 755”具有对目录的写访问权
可能代码中的“/…/”给出了错误。尝试删除第一个正斜杠。是否检查了目录/文件权限以确保您有访问权限?我记得我写的代码几乎可以写入任何任意位置。@ashes999是的,我可以访问数据目录:$\u服务器['DOCUMENT\u ROOT']的输出是什么?可能重复为什么人们对这里的“重复”问题着迷。谁在乎呢?哈哈