一晩かけて学校に通うphpプログラム


背景:あるお客様にアンケート項目を作成する場合(小さな項目ですが、一応項目と呼びましょう).需要と自身の熟知度に基づいてaspを採用することを決定し始めた.Netでやります.メモ帳のIO操作を実現することにほかならない.あとはクライアントサーバ環境の問題でPHPに変更しました.PHPについては耳にするだけで、聞く回数もかなり多く、ずっと火がついていたので、長い間触っていませんでした.今需要が来て、仕方がなくて、無理に見に行くしかありません.しかも時間が迫っていて、変更したプログラムは翌日に使います.
まずC#で書いたコードを貼り付けます
protected void commitInfo_Click(object sender, EventArgs e)
    {
        Monitor.Enter(lockObject);

        try
        {
            string name = this.name.Value.Trim();
            string idcard = this.idcard.Value.Trim();
            string phone = this.phone.Value.Trim();
            string company = this.company.Value.Trim();
            string code = this.code.Value.Trim();
            string address = this.address.Value.Trim();
            string msg = "";
            string filePath = Server.MapPath(".") + "\\data\\result.txt";
            string text = File.ReadAllText(filePath);

            if (!string.IsNullOrEmpty(text))
            {
                if (Regex.IsMatch(text, idcard))
                {
                    this.scriptDiv.InnerHtml = "<script>alert('               ');</script>";
                    return;
                }
            }
            if (string.IsNullOrEmpty(name))
            {
                msg += "      ,   !
"; } if (string.IsNullOrEmpty(idcard)) { msg += " , !
"; } if (string.IsNullOrEmpty(phone)) { msg += " , !
"; } if (string.IsNullOrEmpty(address)) { msg += " , !
"; } if (!string.IsNullOrEmpty(msg)) { this.scriptDiv.InnerHtml = "<script>alert('" + msg + "');</script>"; return; } using (StreamWriter sw = File.AppendText(filePath)) { sw.WriteLine(" : " + name); sw.WriteLine(" : " + idcard); sw.WriteLine(" : " + phone); sw.WriteLine(" : " + company); sw.WriteLine(" : " + address); sw.WriteLine(" : " + code); sw.WriteLine(" : " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); sw.WriteLine(); //sw.Flush(); //sw.Close(); } this.scriptDiv.InnerHtml = "<script>setCookie('IDCARD','" + idcard + "',100);alert(' , ');</script>"; } catch (Exception ex) { this.scriptDiv.InnerHtml = "<script>alert('" + ex.Message + "');</script>"; } finally { Monitor.Exit(lockObject); } }

提出したユーザ情報を手帳に保存するという、簡単な機能です.その中には、同時制御とリソースの解放が含まれています.そして類似の機能をPHPで実現する必要がある.
もともと機能は簡単ですが、phpについては環境も分からないので、盲目的です.
まず、ネット上でPHP環境を構築する資料を探して、いくつかを探して、どの環境が良いか分からないで、結果は1種の最も簡単なPHP環境構築を採用して、PHPNOWで、いわゆる1ボタンでPHPを構築する環境です.ほほほ、しかしこれは比较的に简単で、1歩1歩の选択を说明することに従ってよくなって、结果PHP+MySQL+apacheの环境は构筑しました
次はPHPの文法を见て、実は言叶はすべて同じで、第1目は见て、javascript言语ととても似ていると感じて、接触し始めたばかりの第1感じ、このようにするかどうか分かりません.結局書いたプログラム
 
<?php
try
{
$name = $_POST["name"];
$idcard = $_POST["idcard"];
$phone = $_POST["phone"];
$code = $_POST["code"];
$address = $_POST["address"];
$company = $_POST["company"];
date_default_timezone_set ('PRC'); 
$datetime = date( "Y-m-d H:i:s");

$FileName = $_SERVER['DOCUMENT_ROOT']."\\data\\result.txt";
$data=""; 
$fp=null;

try
{
$fp=fopen($FileName,"r"); 
}
catch(Exception $e){
	}
while(!feof($fp)) 
{
$data.=fread($fp,1024*1024*5); 
} 
fclose($fp); 

if (ereg($idcard,$data)){
	echo "<div style='font-size:18pt;color:red;'>            !<a href='Index.php'>  </a></div>";
}else{
$fd = fopen($FileName, "a");
flock($fd, LOCK_EX);
fwrite($fd, "  :		".$name."\r
"); fwrite($fd, " : ".$idcard."\r
"); fwrite($fd, " : ".$phone."\r
"); fwrite($fd, " : ".$company."\r
"); fwrite($fd, " : ".$code."\r
"); fwrite($fd, " : ".$datetime."\r
"); fwrite($fd, " : ".$address."\r
"); fwrite($fd, "\r
"); flock($fd, LOCK_UN); fclose($fd); echo "<script>setCookie('IDCARD','".$idcard."',60);</script>"; echo "<div style='font-size:18pt;color:red;'> , !<a href='Index.php'> </a></div>"; } //echo "<script language='javascript'>"; //echo "alert(' , ');"; //echo "</script>"; //header("Location: Index.php"); } catch(Exception $e) { echo " :".$e->getMessage(); } ?>

 
(インデントの問題を処理していないで、少し乱れているように見えて、手帳で書いたので、気にしないで、多く許してください)PHPに対して私はまだ素人ですが、この夜の成果に対して私はやはり比較的に満足して、ほほほ.言葉には共通点があるので、これからはゆっくりと深く入り込みましょう
多くのものが追い出されているという話があります.しかし、これは良いことではありませんよね.