[英]How can I save a file in PHP to a directory higher than current?
该脚本位于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($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);
由于某种原因,它在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脚本位于item文件夹中,并且item和data在目录层次结构中处于同一级别,则可以这样编码
$savedir = '../data/';
$filename = $savedir.'guestbook.txt';
通过“ chown -R apache:apache”和“ chmod 755”确保apache用户具有对该目录的写访问权。
您的代码中的“ /../”可能给出了错误。 尝试删除第一个正斜杠。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.