设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 网络编程 >> PHP >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
PHP+MySQL应用中使用XOR…
PHP中使用crypt()实现用…
使用C#开发SmartPhone程…
js关于document和window…
使用外部CSS设置FlashMX…
你应该知道的10件关于Ja…
使用AJAX技术打造博客无…
如何使用PHP中的字符串函…
PHP中如何使用header发送…
使用PHP的错误处理
  关于使用文本域(TextArea)的一个问题           
关于使用文本域(TextArea)的一个问题
 

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

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

<html>
<head>
<title> TextArea Test </title>
</head>
<body bgcolor="#FFFFFF">
<form method="post" action="test.php">
文件名<input type="text" name="filename" value="test.txt"><br>
内容:<br>
<textarea name="content" cols="80" rows="20">"aaa" \"bbb\"</textarea><br>
<input type="submit" name="Submit" value="写好了">
<input type="reset" name="Submit2" value="重写">
</form>
</body>
</html>

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"。

  原来我想文件内容应该是"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 的字串格式,这样显示与处理都是正确的了。

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

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2006-11-9
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:admin    责任编辑:admin 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持