首页 > php教程 > php手册 > 正文

关于使用文本域(TextArea)的一个问题

php中文网
发布: 2016-06-21 08:58:28
原创
1398人浏览过

问题

  我在使用表单处理信息时发现,对文本域的处理不正确。例如下面的一个表格:

---------------------------------------------------------------
test.html



TextArea Test


php">
文件名

内容:







test.php


$fp=fopen($filename, "w");
fwrite($fp, $content);
fclose($fp);
echo "OK";
?>
------------------------------------------------------

  上面的例子是用来测试的,主要是想完成用户可以输入一个文件名,然后可以输入文件的内容。确认后可以在服务器上保存文件。下面简单地说明一个两个文件的内容。

  test.html 中有一个表单,里面有一个文本框和一个文本域。文本框用来输入要保存的文件名,文本域
用来输入文件的内容。文件名缺省设为"test.txt",文件内容缺省设为"aaa" "bbb"。表单的动作为"post",执行文件为"test.php"。

  test.php则很简单。打开指定文件,写入文件内容,关闭文件,输出"OK"。

奇域
奇域

奇域是一个专注于中式美学的国风AI绘画创作平台

奇域 30
查看详情 奇域

  原来我想文件内容应该是"aaa" "bbb",但结果并不是这样,而是"aaa" \"bbb\"!在每一个双引号(")和反斜线()(其实还有单引号和空(nul))前都加上了一个转义用的反斜线。这是为什么? 于是,我查询了PHP中文手册,看到关于PHP.ini的配置中关于magic_quotes_gpc和magic_quotes_runtime的说明,我知道了是因为PHP给自动处理了。这样,我就将PHP.ini配置中的magic_quotes_gpc和magic_quotes_runtime
设成了off,结果就正确了。

  但是如果服务器我无法改动怎么办?于是又查阅了一下字串符处理函数,我发现stripslashes()函数就可以完成这个工作。这样首先把PHP.ini改成原来的样子,再修改test.php如下:

--------------------------------------------------

$fp=fopen($filename, "w");
$content=stripslashes($content);
fwrite($fp, $content);
fclose($fp);
echo "OK";
?>
--------------------------------------------
  再检查结果,完全符合我的需要!

  还有要注意的是,如果你想做一个修改文件内容的应用。如,首先把文件内容读出来,放入到文本域中,用户可以进行修改。那么当文件中有特殊的符号,如"","&" 符等,直接显示就会与实际内容不符。没关系,PHP还提供了htmlspecialchars()函数将特殊字符转换成HTML 的字串格式,这样显示与处理都是正确的了。

  这是我在处理文本域时发现的一个问题,希望能对你有帮助!



相关标签:
php
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号