我有PHP執行上的問題,請大家幫幫忙,謝謝。
php跑的是主機 0lx.net
把
php directives 的
magic_quotes_gpc 功能設為 on off都依樣,不能換行。
phpinfo出來的資料::
<://gcyber.0lx.net/echo.php>
這是照著跑程式,參考的網頁::跑出來結果不依樣!?
http://dreamtails.pixnet.net/blog/post/23934218-php%E5%B0%87%E5%AD%97%E4%B8%B2%E5%AF%AB%E5%85%A5%E6%AA%94%E6%A1%88
這是輸入後的網頁
http://gcyber.0lx.net/css.php
這是寫入的檔案
http://gcyber.0lx.net/css.txt
這是線上編輯php寫入的程式碼.
存檔後,再叫出來編輯,中文字會變亂碼也是個問題。
<link rel=stylesheet type="text/css" href="css.txt">
<div>
<?php
$Name=$_POST[Name];
$spe=$_POST[s];
echo ' The Name: '.$Name;
echo '<hr>';
echo 'setrwax: '.$s;
$gt=$Name;
$fp = fopen('css.txt',$s);
//"?ڜr\n?R\r\n?p"?h?O?n?g?J???妲
//?ӦbWindows?t?ΤU???妲??|?⦱uot;\r\n"???u??v
fwrite($fp,$gt);
//fputs($fp,$Name);
fclose($fp);
//$fp = fopen('css.txt','a+');
//$an=$Name;
//fwrite($fp,$Name);
//fputs($fp,$an);
//fclose($fp);
echo '<hr> echo readfile css.txt>>>';
echo readfile("css.txt");
echo '<hr> readfile css.txt>>>';
readfile("css.txt");
echo '<hr>';
?>
<hr><br>
<a href='css.txt'> check css.txt</a>
<textarea rows=26 cols=116>
fopen fwrite fclose
fputs
readfile
w will emty all content
a+ will add content
</textarea>
因為 \r\n 這類的東西並不是真正的換行符號
php 在建立字串時, 會把 \r\n 替換成真正的換行符號
而你從網頁輸入時, 網頁並沒有這樣替換的功能
所以你需要換行時, 你要用 enter 讓文字真的跳到下一行去
也因此你要用支援多行的輸入方法, 例如 textarea
又當你要把換行的東西顯示到網頁上的時候, 你還需要把換行符號替換成<br>
不然 html 大部分情況是不理換行的
另外亂碼的問題, 單純是你沒有把編碼固定下來, 建議用 utf8
這個寫起來又是一大堆了, 先自己查一下, 有問題再說吧
但是在 文字輸入欄位: <input type="text" name="Name">
放入: 我\r\n愛\r\n妳 ..再送出,就不會換行..
<input type="text" name="Name"> 是單行文字元件
應該是用textarea才可以換行吧