\$ ドルマーク \\ 円マーク
カテゴリー: PHP
さくらインターネットのサーバーで定期的にphpファイルを実行させる
cd /home/[アカウント名]/www/[phpファイルのあるディレクトリ]; /usr/local/bin/php /home/[アカウント名]/www/[ディレクトリ]/[実行するphpファイル]
gdライブラリを利用してサムネイルを作成する画像アップローダを作る
保存先ディレクトリを選択できる画像アップローダー
/*** 受け取ったあとの処理 ***/ //格納するディレクトリ $updir = "../images"; //アップロードされたファイルが存在するかどうかを確認 if( is_uploaded_file($_FILES["upfile"]["tmp_name"])or die("no")){ //アップロードされたファイルをディレクトリへコピーする if( move_uploaded_file($_FILES["upfile"]["tmp_name"], $updir . "/" . $_FILES["upfile"]["name"])or die("nono")){ chmod($updir . "/" . $_FILES["upfile"]["name"], 0644); $file_name = $updir . "/" . $_FILES["upfile"]["name"]; }else { print "ファイルをアップロードできません。"; } } else { print "ファイルが選択されていません。"; } //アップロードした画像を加工する $image = ImageCreateFromJPEG($file_name); //元画像のサイズを取得する $size = getimagesize($file_name); $old_width = $size[0]; //横 $old_height = $size[1]; //縦 //いろいろ出力して確認しながら。。。 //print "<br>画像の横幅:" . $old_width ."<br>"; //サムネイルの横幅 $new_width = "80"; //縦と横が同じ比率で圧縮されるように計算する $rate = $new_width / $old_width; $new_height = $old_height * $rate; //print "圧縮比:" . $rate . "<br>"; //縮小された画像を貼り付ける(?)画像を作成する $new_image = ImageCreateTrueColor($new_width, $new_height); //imagecopyresizedで元画像を圧縮する if(ImageCopyResized($new_image, $image,0,0,0,0,$new_width,$new_height,$old_width,$old_height)){ print "圧縮されました"; } //サムネイルを保存するためのパスとファイル名。ここではthumというディレクトリを作ります $updirthum = $updir . "/thum/" . $_FILES["upfile"]["name"]; //imageJPEGで圧縮した画像をJPEGとして保存します。 imageJPEG($new_image, $updirthum)or die("could not save image"); 画像IDを破棄します imagedestroy ($dst_img); imagedestroy ($src_img);
ちなみに縮小した画像を表示するには
header("ContentType: image/jpeg"); imagejpeg($new_image);
とします。
imagejpegの前にヘッダー情報を出力しないと、もしくはヘッダー情報の前に何か出力してると、
画像が文字列で出力されてしまいます。。。
画像の表示はできるのに保存ができず2,3日困ってしまいましたが、ただのパーミッッションの
問題だったようです。
SSHでログインして
chmod [775] [ディレクトリ名]
で解決しました。
保存先を別のディレクトリにしてるときは注意
in_array serch_array
$hogehoge = array(); for($i=0;$i>=100;$i++){ if(($i%3) == 0){ array_push($hogehoge,$i); } } if(in_array($check,$hogehoge)){ print "その数は配列に存在します"; }else{ print "その数は配列に存在しません"; }
in_array serch_array
$hogehoge = array(); for($i=0;$i>=100;$i++){ if(($i%3) == 0){ array_push($hogehoge,$i); } } if(in_array($check,$hogehoge)){ print "その数は配列に存在します"; }else{ print "その数は配列に存在しません"; }
現在のurlを取得する $_SERVER['REQUEST_URI']
ユーザーが選択した結果に基づいて生成されたページにさらに変数をくっつけてリロードする場合
$_SERVER['REQUEST_URI']
で現在の状態のURLを取得できます。
例えば
http://www.hogehoge.org/index.html?option=QrYQZRQVNQsNZN
のページで
$link = $_SERVER['REQUEST_URI'];
としておいて
<a href='" . $link . "&option2=hoge'>
とすると
http://www.hogehoge.org/index.html?option=QrYQZRQVNQsNZN&option2=hoge
へのリンクが作れます。
array_push データベースから抽出したデータを配列に格納する
$_hogehoge = array(); //配列を初期化 //SQLを実行 $sql = "select id from tbl_hoge"; $rst = mysql_query($sql,$con); //抽出したデータを一件ずつ配列の最後に格納していく while($row = mysql_fetch_array($rst)) { array_push($_hogehoge,$row["id"]); } print_r($_hogehoge);
割り算の余りの処理
floor | 余りを切り捨てる |
ceil | 余りを切り上げる |
round | 四捨五入 |
$x = 10; $y = 3; print floor($x / $y); print ceil($x / $y); print round($x / $y);
- :実行結果:::
343
round は四捨五入する際の桁数も指定できます
print round($x / $y, 3);
- :実行結果:::
3.333
ページへジャンプする。
htmlのメタタグを出力してジャンプする。
ex.プライバシーポリシーなどの確認ページから押されたボタンによって異なるページを読み込むとき↓
if($confirm == "yes"){ echo("<META HTTP-EQUIV=Refresh CONTENT=0;URL='hogehoge.php'>\n"); }elseif($confirm == "no"){ echo("<META HTTP-EQUIV=Refresh CONTENT=0;URL='index.php'>\n"); }
“yes”なら hogehoge.php へ、
“no”なら index.php へジャンプします。
- ::参考URL::::
http://phpnet.blog91.fc2.com/blog-entry-19.html
http://tuevin.jugem.jp/?eid=51
http://blog.tommmmy.com/2007/03/post_3.html
number_format 金額を表示する
number_format($number);
なので円マークをエスケープして
$number = "123456789"; $price = "\\" . $number_format($number); print $price;
- :出力結果:::
\123,456,789