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写文件 路径的格式的主要内容,如果未能解决你的问题,请参考以下文章