php写文件 路径的格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php写文件 路径的格式相关的知识,希望对你有一定的参考价值。

我自己的理解:
如果路径以 / 开头,比如:fopen("/test.txt", "a");
应该会写到网站的根目录吧?
可是,我实验了下,却写到了硬盘的根目录,而不是网站所在的根目录。

请问该怎么办。
我是 win + apache
奇怪,补充的问题怎么不见了

可以直接使用绝对路径。
如果是Windows可以直接写“C:/Cache/”
如果是Linux可以直接写“/Cache/”,需先改cache的权限为777.看看报什么错。在php的最前面加上error_reporting(E_ALL & ~E_NOTICE);相对路径是相对fopen所在的PHP文件即a.php而言的。
$f = fopen("cache/$filename", \'ab);
如果a.php在根目录下的b文件夹:
$f = fopen("../cache/$filename", \'ab);
参考技术A resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )

关于参数 filename ,如果被指定是文件名而非网络 URL ,那么 PHP 认为 filename 指定的是一个本地文件。所以会以服务器实际路径去解析。
如果要 fopen() 要指定打开网站根目录文件,一般使用 $_SERVER['DOCUMENT_ROOT'] :
fopen($_SERVER['DOCUMENT_ROOT']."/test.txt", "a");本回答被提问者采纳
参考技术B <?php
$imgdir = '你存放图片的文件夹';
$logfile = '你要写入的文件名';
$submit = $_POST['submit'];
if($submit == 'write')
include('lib/write.class.php');
$wt = new writeTo();
$wt->while($imgdir,$logfile);

?>
<input type = 'submit' name = 'submit' value = 'write'>
这个是前提文件

下面的是类文件
<?php
class writeTo
function isjpg($filename)
/*
用来判断是否是 .jpg结尾的文件 由于本机器无JPG 所以使用PHP
代替了JPG 你自己使用的时候请自行替换
*/
if(preg_match('/\.php$/',$filename))
return true;

false;

function listjpg($dir)//查看文件夹内的所有JPG文件名并存入数组
$arr = array();
if(is_dir($dir))
$dp=dir($dir);
while($file=$dp->read())
if($this->isjpg($file))
$arr[substr($file,0,(strlen($file)-4))] = $file;



$dp->close();
return $arr;

function write($dir,$filename)//利用前面生成的数字重写文件
if($link = fopen($filename,'w+'))
//由于使用W+所以如果存在该文件请给予读写权限 如不存在则程序自动建立
$str = "<?xml version='1.0' encoding='utf-8'?>\n";
$str .= " <path>\n";
$arr = $this->listjpg($dir);
foreach($arr as $key => $v)
$str .= " <url info=".$key.">pic/".$v."</url>\n";

$str .= " <\path>\n";
if(fwrite($link,$str))
fclose($link);
return true;

return false;

return false;

以上是关于php写文件 路径的格式的主要内容,如果未能解决你的问题,请参考以下文章

12.写一个函数,算出两个文件的相对路径

如何在cmd下面写php代码

php加载 GD库后 路径写的也正确 还是无法显示图片? 到底是啥原因 ? 求答案~

怎么写批处理文件可以自动清理指定格式的文件?

php导出word和pdf文件

Java 下载文件的方法怎么写