2011年10月31日月曜日

php ファイルアップロード

<html>
<head><title>uploader.html</title></head>
<body>
<form method="post" enctype="multipart/form-data" action="up_load.php">
  <input type="file" name="upfile">
  <input type="submit" value="アップロードする">
</form>
</body>
</html>

<?php
  $updir = "c:test_up/";
  $filename = $_FILES['upfile']['name'];
  if(move_uploaded_file($_FILES['upfile']['tmp_name'], $updir.$filename)==FALSE){
    print("Upload failed");
    print($_FILES['upfile']['error']);
  }
  else {
    print("<b> $filename </b> uploaded");
  }
?>

phpでカレンダー


<form action="calen.php" method="get">
    <select name="year">
        <option value="2011">2011</option>
        <option value="2012">2012</option>
        <option value="2013">2013</option>
        <option value="2014">2014</option>
    </select>
    <select name="month">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
    </select>
    <input type="submit">
</form>



<?php
class Calen{
    function Calen(){
        if($_GET){
            $this->select_year = $_GET["year"];
            $this->select_month = $_GET["month"];
        }else{
            $this->select_year = date("Y");//年
            $this->select_month = date("n");//月
        }
    }
    function show_calender(){

        $max_day = date("t",mktime(0,0,0,$this->select_month,1,$this->select_year));//最大日

        print "$this->select_year"."年"."$this->select_month"."月";
        print "<table border=\"1\">";
        for($day = 1; $day <= $max_day; $day++){
            $day_color = date("w",mktime(0,0,0,$this->select_month,$day,$this->select_year));//曜日にナンバーを取得
            if($day_color == 0 || $day == 1){    //1日か0ならtrタグ開始
                print "<tr>";
            }
           
            if($day == 1){
                $i = 0;
                $day_color = (int)$day_color;
                while($day_color > 0){
                    print "<td> </td>";
                    $day_color--;
                }
            }
            print "<td>".$day."</td>";
            if($day_color == 6){                //6ならtrタグ終了
                print "</tr>";
            }
        }
        print "</table>";

        //////////
    }
}

$calender = new Calen();
$calender->show_calender();



?>

2011年10月28日金曜日

現場でperlをやってみて思ったこと、

現場でperlをやってみて思ったこと、

①まず、引数の受け取りが違っていた、「$_」「$_[0]」「@_」
②言語の文法が柔軟でした、
③特殊変数の使い方にとまどいました、
④引数の渡し方は普通でした、
⑤ローカル変数の宣言  my($i,@j)
⑥perlとは違うがmysqlで「SELECT DATE_ADD」は勉強になった、「SELECT date_add(current_date, interval 3 day);」など超楽できた。
⑦関数の戻り値のうけとりで、($a,$b)=関数($c$d)、普通だった、

⑧「map・join」関数はよくつかっていたし、あわせて「$_」もで、正直は????だった、
書式は「join(','map {$_b} list)」こんなのです。


※今の課題を解決する方法として
①しっかりとしたリファレンスを読む、


②他人に書いたコードを読む、


③自分で動かし、デバックで確認する

④知らない関数はググルり、書式として残す、アウトプットは大切だし記憶に残ることがよくわかった

やるしかないのだ!!