SQLの窓 イラストAC フリー素材

2010年04月28日

PHPモード終了場所に存在する特異点

そもそも、それを仕事として使いこなす以上、「省略」は避けなければいけない
ので、逆に気づく事もなく、さらには気づく必要もない特徴が、PHPモード 終了場所に
はあります。

▼ 通常
-------------------------------------
<?
	print(ok); 
?>
-------------------------------------

▼ 正常終了( ファイルの終わりには必要無い )
-------------------------------------
<?
	print(ok); 
-------------------------------------

▼ エラー
-------------------------------------
<?
	print(ok)
-------------------------------------

▼ 正常終了
-------------------------------------
<?
	print(ok)
?>
-------------------------------------

二つ目は、require 等で読み込まれる場合に不要なスペースが入らなくて済むと
の事ですが、気持ち悪い事このうえないし、ならば、なぜ次がエラーになる仕様
なのかも解りません。PHP モードの最後は文の終わりを省略できるのはわりと
知られているでしょうが、特に省略する理由も無いですし、コードを行でコピーして
来るときには困るのです。

require の中に HTML モードの空白や改行を含ましてしまって HTTP ヘッダを出力
する時にエラーとなってしまうのは、初心者のよくする失敗ですが、それとこれと
はかなり別のような気もします。


posted by at 2010-04-28 21:17 | PHP | このブログの読者になる | 更新情報をチェックする

2010年01月21日

PHP:広告の無いMySQLの使えるWEBスペースで接続情報と使用するドメインさえ書き換えればアップロードしてすぐ使えるGDとフォントを使ったアクセスカウンタ

▼ 以下からダウンロードできます

PHP+MySQL+GD+フォントでアクセスカウンタ
通常、レンタルサーバーを借りるとたいてい MySQL が使えると 思いますが、アプリケーションからの接続に必要な情報は、
1) サーバー
2) データベース
3) ユーザー
4) パスワード
の四つになります。
いずれも、レンタルサーバーによってまちまちですが、最初に
その情報はメールされていると思います。それを使って page_counter.php に
直接情報を書き込んで、trust.lst に、カウンターを設置する URL を記述
して、他からは使え無いようにします。つまり、アクセスカウンターが置かれる
サーバーと、カウンターを設置する場所は全く違う場所でいいわけです。

実装方法は IMG 要素の SRC 属性で設定し、必要になった時に id=名前 で
その場でユニークなキーを設定します。無ければ新しく作るようになっています。
また、テーブルの作成も、最初に自動的に行われるので、アップロードすれば
すぐ使えるはずです。

もし、接続情報が不正で DB にアクセスできない場合は、オール 0 となり、
設置した URL を許可していない場合は、オール 8 となります。勝手に他人
がアクセスカウンタを設置できないように、設置した場所の URL が自分のもの
である時だけ DB にアクセスします

出力は PHP が画像データのバイナリを出力しているので、強制的に広告が
付加される無料WEBサーバーでは使用する事ができない可能性があると思って
(以前そのような事があったような気がしたので) land.to の最近のサーバー
で試してみると、普通に動作しました。

land.to についてきっちり調べました

古いサーバーでは、image/png で画像としてブラウザに送るように
していても、広告が付加されていました。しかし、最近のサーバーでは
( おそらく、広告が必ず出るようになったサーバー ) では、image/png
の出力をすると、広告は付加されずに正しく表示されています。
これを利用して、HttpRequest で呼び出す時に、image/png にしてテキスト
を送り出し、クライアントでテキストとして取得すると広告は含まれずに
オブジェクトとサーバー間の通信がうまく動作しました。


関連する記事

posted by at 2010-01-21 20:50 | PHP | このブログの読者になる | 更新情報をチェックする

2009年07月08日

PHP:あとからギャラリー

昨日未完成だったのを完成させました。
目的がそういう事だったので、「あとからギャラリー」という名前にしました。

最初、開発の為にファイルを3つに分けてましたが、
使えるようになったので、1つにしました。
( 対象画像形式は、jpg と png です。gif は小さな部品である事が多いので外しました )

画像があるディレクトリに置いて、s という、サムネイルを入れるディレクトリを
手動で作成するだけです。これがインストール作業ですね。

さくらと、ラクーカンで試しましたが、ラクーカンは死ぬほど遅いという事が
よ〜く解りました。さくらはサクサク動くのですが、ラクーカンは表示していると、
ある一定の間隔で固まるし、一度サーバーエラーになりました。

ファイルの存在チェックが原因でしょうが、その程度でねぇ・・・


いまさら、ラクーカンは無くせないのですけれど、
あんまり酷いと1年かけて退去計画たてるかもです。


■ 関連する記事
Form(サーバー送信)汎用スケルトン(5) : ディレクトリ内のファイル一覧


posted by at 2009-07-08 15:42 | PHP | このブログの読者になる | 更新情報をチェックする

2009年07月07日

Form(サーバー送信)汎用スケルトン(5)は、ディレクトリ内のファイルの一覧


Form(サーバー送信)汎用スケルトン(5) : ディレクトリ内のファイル一覧

これだけでは、たいしたスケルトンでも無いのですが、現在作成中の
派生プログラムは、既に画像がいっぱいあるのだけれど、何があったか
よく解らないのでギャラリー化してしまおう・・・

というものを作っています。
あと、ページ処理書いたら完成ですので、
1ページあたりのファイルを多くすると今でも使えます。

GD を使って、サムネイルが無い画像をページがロード
される度に指定枚数サムネイルを作ってしまおうというギャラリーです。
自分としては、IE 拡張メニューで画像を扱う HTML 作成するのに
使いたいので、エラー処理もちゃんと作りました。

( 画像によってはやはりタマにエラーになるみたいです )

作成中ですが、こんなかんじになっています。
( 完成しました )

つくりかけのソースコードです
( 完成しました )



posted by at 2009-07-07 19:24 | PHP | このブログの読者になる | 更新情報をチェックする

2009年06月26日

Form(サーバー送信)汎用スケルトン(4)

バージョン4になりましたが、今回で MVC の一部としての画面部分を view.php で
切り離しています。機能的な主軸は、「ファイルアップロード」ですが、2会話による入力
コントロールも行っています

Form(サーバー送信)汎用スケルトン(4)  : ファイルアップロード


Form(サーバー送信)汎用スケルトン : BASIC
Form(サーバー送信)汎用スケルトン(2) : HTTP通信
Form(サーバー送信)汎用スケルトン(3)  : クッキー


posted by at 2009-06-26 17:31 | PHP | このブログの読者になる | 更新情報をチェックする

2009年06月12日

PHP5で使うクラスの基本的な機能をまとめたサンプルコード




PHP + クラス


べつに凝る必要は無いですが、PHP4 の時以来まじめに作った事なかったので、
ざっと機能的な内容をよんで、もっともよさげなサンプルにしました。


PHP : クラスのサンプル

その他、プログラマがチェックしておくべきは、オーバーロードマジックメソッドですね。


posted by at 2009-06-12 11:39 | PHP | このブログの読者になる | 更新情報をチェックする

2008年06月30日

【PHP】WEBアプリケーションにおけるパラメータリレー





ページ上に IFRAME を置いて、データの参照を行う為のテクニックです。
ドキュメントでは、特に記述しなかったですが、IFRAME の position を
absolute にする事によって、好きな場所で WINDOW を開けてデータ
参照が可能です。

何故か、一般 WEB では見かけないような気がしますが・・・


便利ですよ。

posted by at 2008-06-30 01:01 | PHP | このブログの読者になる | 更新情報をチェックする

2008年03月06日

【PHP】javascriptとして埋め込むテキストアクセスカウンター


http://winofsql.jp/php/codeget/php_getter.php?id=7656

MDBのコードパッケージができたので、
DB使ったアクセスカウンタです。

信頼リストに自分が使う URL の先頭文字列を載せる事により、
他からは利用できません。

id に指定した文字列が未登録の場合は
自動的にレコードが作成されます。

( ※MySQL への変更も容易です )





次は、GDとフォント使って、
画像として埋め込みのを作成します

posted by at 2008-03-06 16:22 | PHP | このブログの読者になる | 更新情報をチェックする

2008年03月04日

windows(php5)Excelをアップロードcomでexcelを読むcomでMDBに更新

わけの解らないタイトルですが、
要するにこういう事です。

WEBサーバーが Windows で稼動している場合、
COM 経由で ADO を使い、Excel や MDB は
データーベースとして扱えます。

1) PHP のアップロード機能で Excel プックをアップロード
2) そのまま PHP で、Excel のセルに DB の列としてアクセス
3) 取得したデータを MDB へ更新

3) は MDB である必要はありませんが、コードパッケージ
にする為にそうしました。実際は、Oracle や SQLServer に
対して行う事になるでしょう。


いずれにせよ、イントラネットですね。
PHP の動く レンタル Windows サーバーって知りませんし。

ただ、http://cervi.jp/ 使えば、ASP やら ASP.NET で書けます。
ASP の場合、basp21 標準で実装されているので、アップロードもできます。
でも、やはり外部で Excel アップロードなんてしないなぁ・・・



http://winofsql.jp/php/codeget/php_getter.php?id=7637

 

posted by at 2008-03-04 20:23 | PHP | このブログの読者になる | 更新情報をチェックする

【PHP】汎用ダウンロードコード

<A href="aaa.htm">ダウンロード</A> のように、アンカーに指定した
ファイルで、拡張子によって動作が決められている場合でも、ダウンロード
する為の PHP コード

↓こんなかんじ
<A href="download.php?target=..%2F..%2F..%2Fdownload%2Fphp.ini">php.iniをダウンロード</A>



http://winofsql.jp/php/codeget/php_getter.php?id=7632


.php や .cgi などは、ソースのままダウンロードされても困るので除外するようには
していますが、コードを配置するユーザの都合です。
パスさえ解っておれば、ダウンロードできてしまうので注意です。

ただ、おもしろいのは、httpから指定すると、他のサーバからも
ダウンロードできてしまうところ。この場合はファイルサイズが
解らないので( 厳密には解るが、そこまでする必要も無い )
ダウンロード時にプログレスバーが出ません。




posted by at 2008-03-04 20:03 | PHP | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します