社区
基础编程
帖子详情
PHP新手--PHP文件操作问题
zhanghaidang
2007-07-26 04:01:45
Linux下,有两个目录:
/usr/local/hsmail/apache/mail6000/phpdemo.php
/etc/postfix/main.cf
问题需求是:phpdemo.php文件要读取到main.cf文件
我的理解是phpdemo.php文件应该只能读取到apache控制范围之内的目录及文件,能够按物理路径来读取文件吗?
...全文
448
13
打赏
收藏
PHP新手--PHP文件操作问题
Linux下,有两个目录: /usr/local/hsmail/apache/mail6000/phpdemo.php /etc/postfix/main.cf 问题需求是:phpdemo.php文件要读取到main.cf文件 我的理解是phpdemo.php文件应该只能读取到apache控制范围之内的目录及文件,能够按物理路径来读取文件吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhanghaidang
2007-07-27
打赏
举报
回复
好像不行啊,参数不匹配啊.
file_put_contents ( string filename, string data [, int flags [, resource context]] )
第一个参数为文件名啊,preg_replace返回的是什么东西啊,mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
mixed这是什么类型……~~~~~~~~~~~~~~
mrshelly
2007-07-27
打赏
举报
回复
<?php
$value="33333";
file_put_contents("main.cf",preg_replace("/(message_size_limit[\s]*=)[\s]*([0-9]*)/is", "\\1 {$value}", file_get_contents("main.cf")));
?>
zhanghaidang
2007-07-27
打赏
举报
回复
preg_replace为用正则表达式进行匹配替换,我现在是字符串查找并替换成功了,但是我想将替换后的字符串写入到文件中,并且在文件的原地修改
mrshelly
2007-07-27
打赏
举报
回复
file_put_contents(preg_replace("/(message_size_limit[\s]*=[\s]*)([0-9]*)/is", "\\1"."你要改成的数字", file_get_contents("main.cf")));
自己调试吧.我没有测....
zhanghaidang
2007-07-27
打赏
举报
回复
改正一下: $row = fgets($file); 这一行后面没有."<br>";
mrshelly
2007-07-27
打赏
举报
回复
preg_replace
zhanghaidang
2007-07-27
打赏
举报
回复
现在又有一个问题,
有一个文本文件:
virtual_trash_count = yes
virtual_trash_name = .Trash
#==The maximal size in bytes of a message, including envelope information===#
message_size_limit = 60971520
virutal_mailbox_limit_size = 80971520
vitual_mailbox_limit_override = yes
virtual_maildir_extended = yes
virtual_maildir_suffix = Maildir/
virtual_create_maildirsize = yes
我现在需要将"message_size_limit = 60971520"中的60971520动态改写为自己需要的数字,以下为我的程序
<?php
$filename = 'main.cf';
if (file_exists($filename)) {
if($file=fopen($filename,'a+')){
while(!feof($file)){
$row = fgets($file)."<br />";
if(strncasecmp("message_size_limit = ", $row, 21) == 0){
echo "找到字符串<br>";
echo $row."<br/>";
$rowtemp = substr_replace($row, "791126", 21)."\r\n"; //字符串替换
echo $rowtemp."<br/>";
//将替换的字符串写入文件
if (fwrite($file, $rowtemp) === TRUE) {
echo "写入到文件成功!";
}else{
echo "不能写入到文件 $filename";
exit;
}
}else{
echo "字符串查找失败<br>";
}
}
}else{
echo "打开文件失败";
}
fclose($file);//关闭文件
}else{
echo "文件打开失败";
}
?>
PHP文件与'main.cf'文件在同一个目录下,现在运行后的效果为,会提示
不能写入到文件 main.cf
但是当我用记事本打开文件时,却又看到在文件未尾有
message_size_limit = 791126
这一行记录,
请问我该怎么样写,才能在文件指针找到"message_size_limit = "后,将后面的内容进行改写,
我的思路是找到这一行,然后将整行字符串进行替换,再将替换后的字符串写入文件,
请问程序该怎么修改
zhanghaidang
2007-07-27
打赏
举报
回复
又有问题了,呵呵 ,不好意思,麻烦大家了.
<?php
$filename = '/hehe.cf';
if (file_exists($filename)){
if($file=fopen($filename,'a+')){
while(!feof($file)){
$row = fgets($file);
echo $row.'<br>';
}
}
fclose($file);//关闭文件
}
//以上为显示文件内容部分,成功显示
echo '<br>*******************<br>';
$value="999999999999999999";
if(file_exists("$filename")){
file_put_contents("$filename",preg_replace("/(message_size_limit[\s]*=)[\s]*([0-9]*)/is", "\\1 {$value}", file_get_contents("$filename")));
echo "值修改成功....";
}
?>
现在的问题是,在Linux下,我能够读取文件,但是不能修改文件内容,但是在Linux下,此文件('/hehe.cf')的权限分配已经最大化了,请问该怎么处理啊.....
谢谢.
zhanghaidang
2007-07-27
打赏
举报
回复
晕,就这一句搞定了,我还写那么多,真是晕.......
mrshelly
2007-07-26
打赏
举报
回复
楼上,楼主没有说在PHP4下.
再说.PHP4的主机已经不多了.
ashchen
2007-07-26
打赏
举报
回复
楼上,要php5才支持put
mrshelly
2007-07-26
打赏
举报
回复
只要权限够的APACHE才允许执行此操作.
PHP操作文本最简单的莫过于
file_get_contents
file_put_contents
zhanghaidang
2007-07-26
打赏
举报
回复
顺便还恳请好心人给个文件操作的例子,网上这方面的资料不多啊.
Claude模型版本辨伪指南:3分钟识别真假更新
大语言模型版本号是理解能力演进与服务变更的关键入口,其背后关联着训练架构升级、推理引擎优化和API行为变化等核心原理。准确识别版本真伪,直接决定token成本控制、响应稳定性保障与生产SLA达成的技术价值。在Anthropic官方采用Claude 3.x整数命名体系的背景下,‘Opus 4.7’等非标编号往往指向CDN调度优化、配额调整或私有微调等实际场景,而非模型代际跃迁。本文聚焦一线工程师高频面临的版本误判
问题
,结合HTTP响应头分析、prompt稳定性压测与成本ROI反推等可执行方法,提供一套无需依赖
虚拟同步发电机惯量-阻尼协同自适应并网控制及稳定性分析(Simulink仿真、Matlab代码实现)
内容概要:本文系统研究了虚拟同步发电机(VSG)的惯量-阻尼协同自适应并网控制策略及其稳定性分析,聚焦于提升高比例可再生能源接入背景下电网的频率稳定性。通过Simulink仿真平台与Matlab代码实现,构建了VSG并网系统的动态模型,深入探讨了惯量与阻尼参数的自适应调节机制,以优化系统对频率波动的响应能力。研究涵盖了双机并联VSG的功率精确分配、微电网黑启动过程、虚拟阻抗的引入以及预同步控制等关键技术,并结合根轨迹分析与调节系数对比,验证了所提控制策略在提升系统稳定性和动态性能方面的有效性。文章强调了协同自适应控制在现代电力系统中的关键作用,为微电网和分布式能源系统的稳定运行提供了理论支持和技术方案。; 适合人群:具备电力系统、自动控制或新能源并网等相关专业知识背景,熟悉Matlab/Simulink仿真工具,从事电力电子、微电网控制、可再生能源并网等领域科研或工程应用的研发人员及研究生。; 使用场景及目标:①掌握VSG在微电网及并网系统中的高精度建模与仿真方法;②深入理解惯量-阻尼协同自适应控制对电网频率稳定的优化机制;③应用于微电网黑启动、功率均分控制、虚拟阻抗设计及预同步等实际工程场景的算法开发与性能验证; 阅读建议:建议结合提供的Matlab代码与Simulink模型进行同步仿真
操作
,重点关注参数自适应调节模块的设计逻辑、根轨迹稳定性分析及不同调节系数下的动态响应对比,以深化对控制策略内在机理的理解与实际应用能力。
stm32单片机项目资料课程设计文档C语言程序代码原理图电路PCB实例电源的分类及知识
stm32单片机项目资料课程设计文档C语言程序代码原理图电路PCB实例电源的分类及知识
易语言源码-模块-加密配置类
易语言源码_模块_加密配置类
chromedriver-win32-152.0.7946.0(Canary).zip
chromedriver-win32-152.0.7946.0(Canary).zip
基础编程
21,889
社区成员
140,337
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章