ソフト作成ログ -5ページ目

画像を表示させる方法 xoops eストア

xoops module eストア


のソースを使う。



テンプレート内  

<{if $st.matterid >= 0}>
<img src='<{$imgurl}>?matterid=<{$st.matterid}>' width='300' height='210' align='left'>
<{else}>
<img src='<{$imgurl}>' width='300' height='210' align='left'>
<{/if}>
<{$st.body}>
</img>

 


<{$imageurl}>を作る仕組み(画像を作る。) image.php


if (isset($HTTP_GET_VARS['matterid']) ) {
$mid = intval($HTTP_GET_VARS['matterid']);
$mt = new ShoppingMatter($mid);
header("Content-Type: image/jpeg");
$imgstr =$mt->image;
}
else{
$noimage = XOOPS_ROOT_PATH. '/modules/shoppingcart/images/noimage.jpg';
$fp = fopen($noimage,'rb');
$imgstr = fread($fp,filesize($noimage));
fclose($fp);
}
$img = imagecreatefromstring($imgstr);
header("Content-Type: image/jpeg");
imagejpeg($img);
imagedestroy($img);

shoppingMatter クラス


class ShoppingMatter
{
var $db;
var $title;
var $matterid;
var $image;
var $title;
var $bodytext;
var $disporder;
var $nosmily;
var $nohtml;
var $cdate;
var $max;
var $price;

function ShoppingMatter($sid = -1)
{
$this->db =& Database::getInstance();
$this->matterid = $sid;
if($sid >= 0){
$sql = sprintf("SELECT * FROM " . $this->db->prefix('shoppingcart_matter') ." WHERE matterid=%u" , $this->matterid);
$arr= $this->db->fetchArray($this->db->query($sql));
foreach($arr as $k => $v){
$this->$k = $v ;
}
}
}



なぞぃ関数一覧


imagecreatefromstring()

文字列の中のイメージストリームから新規のイメージを作る。

ex)

<?php
$data
=
'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
.
'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
.
'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
. '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg=='
;
$data = base64_decode($data
);

$im = imagecreatefromstring($data
);
if (
$im !== false
) {
header('Content-Type: image/png'
);
imagepng($im
);
}
else {
echo
'エラーが発生しました。'
;
}
?>


説明

 画像を表示させる仕方は、<img src=" ?matterid=□ > クエリでidを渡しそれに応じた画像をデータベースから取り出して表示している。


流れ


テンプレ 

<img src='<{$imgurl}>?matterid=<{$st.matterid}>' width='300' height='210' align='left'>
 ↓

image.php パラメータを受け取り、それにあった画像を出力


$mt = new ShoppingMatter($mid);
$imgstr =$mt->image;
$img = imagecreatefromstring($imgstr);
header("Content-Type: image/jpeg");
imagejpeg($img);
imagedestroy($img);



XOOPS技 始めに

今日から、xoopsをハックしていきます。


完全備忘録として書いていきます。




目的は、XOOPSのモジュールを開発するためのネタをストックするためです。


今までは、ノートにまとめて書いてましたが、ノートの枚数が増えてもう一度調べるのに時間がかかってしまいます。



ですので、まとめて勉強した記録を残し、開発に役立てようと考えてます。



ブログで公開する理由は、1番は今までたくさんのページを参考にさせてもらってた(これからも)ので、少しもの恩返しです。



間違ってる記述がたくさんあると思いますが、許してください。


eclipse PHP 初心者 3

eclipse PHP エディター  文字コード 変換の巻



英語が得意でないかたは、パッチをあてて日本語に変えましょう。


それと、問題の文字コードの変換の仕方。


簡単に説明します ↓


日本語変換のプラグインを入れた場合


設定→ 一般 → コンテンツタイプ → Text → PHPContentType


デフォルト文字コードを 

EUC-JP、Shift-JIS と直接入力。



これで、文字化けも安心です(-^□^-)


eclipse PHP 初心者向け 2

eclipse PHP エディター



いやぁ~


使ってみた感想、便利です。


フリーでこんなにいいソフトだとは。。


昔、JAVA iアプリを開発(遊び)をしていたとき、少し使っていましたが、プログラムをある程度わかるようになってから使うと、eclipseの凄さに驚きでした。


今までは、PHPエディターを使っていました。



違いについて説明します。



何よりも、定数の上にカーソルを置くと、その定数がvalueがなにで、どこにあるかのポップアップが出てきます。


クラスの場合も同様です。


しかもクリックすると飛んでいきます。



画面も分割ができ、効率よくプログラムを読むことができます。



いままで、使っていたものはもちろんそんな機能はありません。


一番役に立ちeclipseをプロジェクト単位でソースを管理するので、検索をかけたり、置換するのが簡単にできます。



一番の欠点は少し重いところです。


こんだけの機能があれば、重いのもしょうがないですが。



続く。

eclipse PHP 初心者向け

eclipse PHP xoops 開発環境


自分と同じぐらいのレベルの初心者向けにお話します。



1.まず、sunのサイトで、 JDKをダウンロード。


2. 次に、eclipse エディターをダウンロード。



ここで、ブレイクタイム。


eclipse は、プラグインが充実してます。

eclipseは、自分の記憶だと、JAVA対応のものっていう感覚で捉えていました。


しかし、プラグインによってなんと、PHPにも対応するし、日本語にもなるし、とても助かります。



ということで、eclipseのプラグインをダウンロードしましょう!!


というよりは、もともとプラグインを組み込まれているeclipseをダウンロードしましょう。



このURLにあります↓

http://download.eclipse.org/tools/pdt/downloads/



続く