トップページphp
1001コメント308KB

【PHP】下らねぇ質問はここに書き込みやがれ 43

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/04/01(日) 04:21:50ID:VGqlLhlD
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 41
http://pc11.2ch.net/test/read.cgi/php/1173163186/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
0195nobodyさん2007/04/04(水) 00:14:16ID:???
いや表示のときに連番にすりゃいいだけの話だろ
01961722007/04/04(水) 00:25:17ID:????2BP(396)
>>194
count($file)で行数カウント後の番号を利用しちゃ駄目という事ですかね?
01971722007/04/04(水) 00:27:27ID:????2BP(396)
>>195
ログを全て表示した時にも
ラジオボタン削除利用したいので
フォームへのvalue値の自動挿入はしときたいのですが
無謀ですかね。
0198nobodyさん2007/04/04(水) 00:30:35ID:???
削除されたら名前・内容を“あぼーん”に書き換える処理にしとけば解決。
0199nobodyさん2007/04/04(水) 00:35:05ID:???
>>197
番号抜けアリのラジオボタンを並べりゃ「ラジオボタン削除が利用できる」けど
富豪的に>>178でやればいいよ。配列に何MB食わせるのか知らないけど。

削除用のラジオボタンとやらをログのナンバーと無関係に連番振って吐いてるのかな。
0200nobodyさん2007/04/04(水) 00:42:47ID:???
>>197
っつーか何がしたくて今何が問題なのかがよくわかんないんだけど.。
ログを全て表示した時にラジオボタン削除(って何なのか知らんけど)をするために
フォームへのvalue値の自動挿入(hiddenのことか?)することは
別に無謀でも何でもないからさっさと作ればいいと思うけど
0201nobodyさん2007/04/04(水) 01:01:03ID:???
行を削除したあとに連番に数をそろえないていいから。
そろえたものをログに書き込むのは必要ないし効率が悪いからやめたまえ。
ログを配列に読み込んで、その配列を連番でvalueに利用すればおまえのやりたいことはできる。
つべこべいわずだまってマニュアルみろ。

16歳、工業高。

0202nobodyさん2007/04/04(水) 01:02:13ID:???
つけわすれた。

氏ね
02031722007/04/04(水) 01:02:18ID:????2BP(396)
アドバイス頂いてありがとうございます、
countでカウントしたものを
ラジオ削除のナンバーに置き換えて処理するようにして
それで手におえないようなら
番号抜け削除を次候補という事で考えてみます。
本来ならあぼーんが掲示板の性質上いいのでしょうが
今回は比較的単純なスクリプトで後に大量設置する可能性があるもので
文字数省略できるところはしとこうかと。

>>199
削除用番号はログのナンバーを引用してます。

>>200
すいません、
html部分に先にvalue手打ちで書き込んどけということかと思ったもので
ログ利用では駄目なのかなと。
0204nobodyさん2007/04/04(水) 01:02:42ID:???
ってか、DBで行の入れ替えってできないんだな
02051722007/04/04(水) 01:03:29ID:????2BP(396)
>>202
わざわざありがとうございます。
0206nobodyさん2007/04/04(水) 01:03:41ID:???
は?
0207nobodyさん2007/04/04(水) 01:04:17ID:???
DBで行の入れ替えができないとでも?
0208nobodyさん2007/04/04(水) 01:08:09ID:???
いや行の入れ替えができるとかできないじゃなくて、
そもそも「行の順番」て何だ? DBでそんな概念あるか?
0209nobodyさん2007/04/04(水) 01:11:23ID:???
>>208
DBに格納した順番
0210nobodyさん2007/04/04(水) 01:12:03ID:???
ORDER BYとか指定しない限りINSERTした順に表示されるとかそんな保証はないでしょ
0211nobodyさん2007/04/04(水) 01:23:36ID:???
連想配列のキーと値を入れ替える関数あるじゃん?
1年ぐらい前にその関数使ってゴニョゴニョしたら5〜6分かかってたバッチ
処理が2秒で終わったことがあった。






ちゃんとテストして処理に抜けとか問題は無かったけどあまりにも早すぎて
怖くなってから元に戻しておいた。
0212nobodyさん2007/04/04(水) 01:27:53ID:???
テストの結果は正しくても、書いたロジックに自信のないvoodooプログラミングなのであればそれが正解かも
0213nobodyさん2007/04/04(水) 01:28:15ID:????2BP(396)
まだ勉強し始めたばかりですが
そんなプログラムの組み立てによって差が出るんですね。
あっても2,3秒のものだと思ってました。
0214nobodyさん2007/04/04(水) 01:36:18ID:???
>>172
ツッコまれてる理由は理解したの?
効率とか関係ないから。

> ナンバー 名前 内容 日付 パスワード
「ナンバー」とやらをキーにしてログを削除したいんだろ?
「ナンバー2のログを削除」みたいな感じで。
その「ナンバー」が削除処理の度にコロコロ変わったらマズいのは分かるよな?

分かってるならあとは好きに書けばいい。
0215nobodyさん2007/04/04(水) 01:47:37ID:???
>>212
いやマジであれはやばいって絶対何かの呪いだもん


「なんか」で変換すると「男か」ってでるな
0216nobodyさん2007/04/04(水) 01:48:18ID:????2BP(396)
>>214
ナンバーは消して現在こういう感じで処理してます。
explode以降は改修前のままですので今から直しますが。

$cdlog=file('comment.txt');
for($i=0;$i<count($cdlog)-1;$i++){
$cditems=explode("\t",$cdlog[$i]);
if($items[0]==$_POST['delradio']&&$items[4]==$_POST['delkey2']||$items[0]==$_POST['delradio']&&'pass'==$_POST['delkey2']){
0217nobodyさん2007/04/04(水) 01:54:35ID:???
>>215
その5分が2秒に劇的改善した処理ってどんなのなの?
0218nobodyさん2007/04/04(水) 02:24:38ID:???
>>216
あなたがページを表示したとする。
あなたはname="delradio" value="5"のカキコを削除したいと思った。(削除ボタンはまだ押していない。)
と、ここで他の誰かが割り込んで、name="delradio" value="4"のカキコを削除した。(削除ボタンを押した。サーバ側で削除処理も完了した。)
あなたは削除ボタンを押した。

あなたは目的のカキコを削除できる?
たまたまじゃなくて必ず削除できる?
0219nobodyさん2007/04/04(水) 02:29:03ID:???
>>209
格納した順というか、リソート機能ならPHPMyAdminで一発で出来るし
自前でやるとしても簡単なコードで出来るでしょう。
オートインクリメントしてるなら、それでソートすればいいんじゃね?
もっともこれはPHPMyAdminみたいな、基本ORDER BY付けないGUIで見るときに見やすいとかだけで
普通にDBから検索する場合、大抵はORDER BYつけるしリソートすること自体あんまり意味無いと思うが。
0220nobodyさん2007/04/04(水) 02:59:00ID:????2BP(396)
>>218
ファイルロックをしないといけないということですよね。
後程完成品をアプしますのでまたお気づきになった点を
ご指摘いただければありがたいです。
0221nobodyさん2007/04/04(水) 03:08:41ID:???
ファイルロックはもちろん必要だが、どう見てもそれ以前の問題だろ。
まぁいいやコードが有れば話もしやすいだろうし。
0222nobodyさん2007/04/04(水) 03:19:14ID:???
>>189で既に指摘されてることやん・・・
0223nobodyさん2007/04/04(水) 03:21:56ID:???
>>220
1 a
2 b
3 c

というデータになっているとしよう。Xという人が1を、Yという人が2を
ほぼ同時に消すという操作をしたとしよう。ファイルロックをしたとして、
XのクエリがYのそれよりも速く到達したときどうなるかというと、

Xのクエリの処理後
1 b
2 c

になる。これはわかるよね。次にYのクエリの処理だが、
これは2を消せという指令だ。ロジックはファイルの中から2を探して消すのだから、最終的には

1 b

になる。でもYが消したかったのは最初のbの行じゃなかったのか?
というのが問題。わかったかな。
0224nobodyさん2007/04/04(水) 03:25:12ID:????2BP(396)
あーなるほど・・・・・・
と言う事は結局削除文字列代入しか無理と言う結論に?・・・・・・・・・
しっかしよくスレッドフローティング方式の掲示板とか作れますね、
作ってる方尊敬しますわ。

下記は現在作成中のソースです。
一番下のソースはめちゃくちゃなので放置お願い致します。
http://www.pachiweb.com/updir/data/php.txt
したい事は投稿者が自身でコメントか情報かを選択しそれを別々に保存、
そのログから新着5行づつを表示させると言うものです。
ラジヲボタンでその記事を削除したいのですが
なるべく情報、コメント含めラジオボタンで選択→パスワード入力後
ワンクリックで削除という手軽さで削除を行いたいです。

ファイル構成は
本体.php
reference.txt
comment.txt
です。
0225nobodyさん2007/04/04(水) 03:26:46ID:????2BP(396)
>>221さんを見てやっと気がついたんですが
いろいろご解説頂いて本当にすいません。
マジすいません。
0226nobodyさん2007/04/04(水) 03:39:33ID:???
>>225
ごめん、コードを見ずにそういうことをしたい場合の定石を書くw

・ID列と連番列を別に取る
データには一度書いたら書き換わらないID列と、メッセージ番号(seq)を示す数を別に記録しておく

ID seq その他情報
1 1 a
2 2 b
3 3 c

消すときはIDをキーに行を探し、seq列を連番に書き換える。たとえば上の表のID2の行を消したときは

ID seq その他情報
1 1 a
3 2 c

のようにやる。IDは書き換えない

・そもそもseqはファイルに記録せずにいちいち数える
要件にもよるけどこれで十分処理が間に合う場合がけっこうある
0227nobodyさん2007/04/04(水) 03:50:19ID:????2BP(396)
な、なるほど初心者には結構複雑な事をしなきゃいけないんですね。
IDとSEQに同じように番号を割り振ったとしても
ID側は歯抜け数字列になっても
SEQ側はきれいな数字列に直されると。
要するにID側をvalueに割り振れば問題解決ですか。
0228nobodyさん2007/04/04(水) 03:54:46ID:????2BP(396)
すいません、複雑でもないですね。
とりあえずナンバーをまた採取するようにして
それをIDにしてladioに代入します。
結局、素人の私がナンバーを振り直したいとか
訳わからん事言わなければ普通に解決してた問題なのですね・・・・・・
0229nobodyさん2007/04/04(水) 05:11:36ID:???
各レコードに削除フラグをつけたらどうでしょ
処理が増えるようだけど172さんにとってはすっきり書けるような気がする
通番用にはそれの変数一つ増やすだけだし
あと“何が”削除されたのか後で管理者が分かるのもメリットと言えばメリット

書いては消し書いては消しタイプ(削除比率の高いもの)だと
ファイルが膨らむばかりなので向かないけど
0230虚弱PHP2007/04/04(水) 09:25:54ID:???
普通のサービスだと、普通の削除は削除フラグ立てるだけの場合が多いと思う。
完全削除は別のオペレーションで。
0231nobodyさん2007/04/04(水) 09:39:33ID:???
valueって何だvalueって
「値に入れればいいんですね」とか言ってるのと同じだ
seqを毎回振りなおすほうが面倒じゃないか?
ログ中の順番で表示して番号を付けりゃいいじゃん

っていうか一番楽な方法はDBだけど
0232nobodyさん2007/04/04(水) 11:22:30ID:???
記事ごとにユニークな文字列なり数値なりを記録しとけばそれでいいだろ。
削除の際はそれを入力させれば確認できる。


一番簡単なのはやっぱりデータベースだけど。
0233nobodyさん2007/04/04(水) 11:31:01ID:???
初心者です。 =& ってどういう意味でしょうか?

例:
function Controller($request, $session, $result) {
$this->request =& $request;
$this->session =& $session;
$this->result =& $result;
}
0234nobodyさん2007/04/04(水) 11:34:46ID:???
>>233
http://jp.php.net/manual/ja/language.references.whatdo.php
02352332007/04/04(水) 11:58:05ID:???
>>234
ありがとう!
0236nobodyさん2007/04/04(水) 12:48:21ID:Msn4ohO/
Apache + mod_ssl + Open_SSLでSSL環境を入れてみたいのですが
Webサーバが整備されればPHP側では特に意識する必要なく
https://〜〜〜/〜〜.phpのように普通にアクセスして問題ありませんか?
0237nobodyさん2007/04/04(水) 12:50:59ID:???
はい。
02382332007/04/04(水) 13:41:06ID:???
リファレンスについて、概要は理解できたんですが、実際どういった時に
使用するものなのかが理解できません。

例えば233に書いたのはネットにのっていたあるサンプルクラスのコンス
トラクタなんですが、この場合は何故リファレンスにしているのでしょうか?

馬鹿ですみません。
0239虚弱PHP2007/04/04(水) 13:44:49ID:???
PHPのリファレンスって、他の言語に比べるとかなり複雑だよね。
PHP4とPHP5でも変わってくるし。

>>238
使う必要を感じないなら、使わなくていいんじゃないかな。
勉強なら他の言語で参照渡しと値渡しの勉強した方がいいと思う。
0240虚弱PHP2007/04/04(水) 13:45:27ID:???
s/かなり//
0241nobodyさん2007/04/04(水) 14:09:07ID:???
>>238
クラス使うようになると必要性を感じるようになってくる
とりあえずクラスとオブジェクトからがんばれ
0242nobodyさん2007/04/04(水) 14:10:11ID:???
ちなみに、サンプルのコンストラクタは受け取り時に参照してないけど
PHPなら参照する意味あんまないね。
0243nobodyさん2007/04/04(水) 14:11:14ID:???
PHPなら→PHP4なら
0244nobodyさん2007/04/04(水) 14:29:39ID:???
phpMyAdminで

collation server latin1_swedish_ci
の値を
collation server utf8_general_ci

に変更したいです。
方法を教えてください。
0245nobodyさん2007/04/04(水) 15:16:31ID:???
if(...){...};
for(...){...};
のセミコロンってなんか意味あんの?
ってかカコイイの?
0246nobodyさん2007/04/04(水) 15:32:22ID:???
いみない
0247nobodyさん2007/04/04(水) 16:15:15ID:PZ7+vB49
JpGraphでグラフを描画しているのですが、Y軸の目盛の間隔を調節する
にはどうすればよいのでしょうか?

例えば 0.0 から 20.0 までの目盛の間隔は広く、 20.0 から 100.0 までの目盛の
間隔は狭くする、という調節がしたいのです。
そうしないと、小さい値(だいたい 0.0 から 3.0 )が細かすぎて読み取れないのです。

よろしくお願いします。
0248nobodyさん2007/04/04(水) 16:21:48ID:1w3+kv1a
これどのような意味か教えて。

if(!$a = intval($b)){
$a = 0;
}
0249nobodyさん2007/04/04(水) 16:47:33ID:???
>>248
$bを整数へ変換した値を$aへ代入する。
もし$aが0なら、$aへ0を代入する。
0250nobodyさん2007/04/04(水) 16:48:33ID:???
記法の問題だけだろうな。
$a = intval($b);だけで結果は同じだから。
0251nobodyさん2007/04/04(水) 16:55:47ID:74I3KgLe
phpでの関数ポインタの書き方を教えて下さい。
0252nobodyさん2007/04/04(水) 17:09:30ID:???
>>251
echo 'void (*abon)(int) = exit;';
0253nobodyさん2007/04/04(水) 17:13:34ID:???
をいをいw
PHPの場合ないんだけど、それ風になんか代替させたいならcall_user_func + 参照渡しを検討ってことかな。
0254nobodyさん2007/04/04(水) 17:36:16ID:???
匿名関数はあるが、長いコード書く場合は激しく使いにくい。
まぁ、call_user_func, call_user_func_arrayあたりを使うのが無難だね。
0255nobodyさん2007/04/04(水) 17:36:18ID:???
PHP7で実装との仰天情報
0256nobodyさん2007/04/04(水) 17:36:45ID:???
もしくは可変関数
http://jp.php.net/manual/ja/functions.variable-functions.php
0257nobodyさん2007/04/04(水) 17:37:56ID:???
ちなみに、call_user_func、call_user_func_arrayは参照渡しできないので
コールする側で参照するか、PHP5ならオブジェクト渡すか。
0258nobodyさん2007/04/04(水) 17:41:05ID:???
アーcall_user_func_arrayは参照できたかも
0259nobodyさん2007/04/04(水) 17:41:23ID:???
無名関数とクロージャーは
あれば便利だけども、なくてもそれほど問題はないからな
0260虚弱PHP2007/04/04(水) 17:47:00ID:???
>>247
それって対数グラフを使う場面ってことじゃないの?
0261nobodyさん2007/04/04(水) 18:34:49ID:PZ7+vB49
>>260
ありました。ありがとうございました。
0262nobodyさん2007/04/04(水) 19:42:34ID:o8UCEOfE
PHPでタイマー機能みたいなのってあるのでしょうか?
○秒後に実行させるという。(表示されるのではなく)

Javascriptでやっているのですが、基本的にPHPのページなもので
もし可能であればPHPのみで出来ればと思います。
0263nobodyさん2007/04/04(水) 19:46:45ID:???
metaタグでスクリプトに飛ばせば?
0264nobodyさん2007/04/04(水) 19:55:29ID:???
sleep
02652472007/04/04(水) 20:00:52ID:PZ7+vB49
>>260
すみません、ちょっと対数グラフではないようです。

イメージ的には http://sv2ch.baila6.jp/graph_load.cgi?news23.2ch.net のような
グラフを描きたいのですが、こういうのは一般的に対数グラフになるんですか?
0266nobodyさん2007/04/04(水) 20:02:40ID:???
対数グラフじゃないでしょうか?
02672622007/04/04(水) 20:38:52ID:???
>>263-264
sleepだとページ全体が表示されるのを遅らす事になります。
なので、sleepの間は何も表示されません。
また、metaで別ページに飛ばすのでもないです。

そうではなくてPHPファイル(test.phpなど)のHTMLの部分は表示されていて
プログラム実行箇所は○秒遅れたら良いのです。
0268nobodyさん2007/04/04(水) 20:40:21ID:???
質問です。
今、smartyを初めていじってて、単純なプログラムを作ったんだけど、
文字化けするトラブルが発生しました。
最初に言うと、smartyを使う点以外はコレまでに作ってきたプログラムと
同じようにしてるので、いきなり文字化けが発生したというのはやっぱり
smartyに関係した問題かなと思ってるんですが、どういう原因が考えられるでしょう?

(1)PHPファイル コレをブラウザで開きます---------------------
<?php
require_once("MySmarty.class.php");
$o_smarty = new MySmarty();
$o_smarty->assign("MyName","YAMADA,Yoshihiro");
$o_smarty->display("sample.tpl");
?>

(2)sample.tpl テンプレファイル---------------------
<html><head>
<meta http-equiv="content-type" content="text/html; charset=EUC-JP">
<title>Smartyのテスト</title></head>
<body>
私の名前は{$MyName}です。
</body></html>

(3)MySmarty.class.php ---------------------
<?php
require_once("MySmarty.class.php");
$o_smarty = new MySmarty();
$o_smarty->assign("MyName","YAMADA,Yoshihiro");
$o_smarty->display("sample.tpl");
?>
0269nobodyさん2007/04/04(水) 20:44:00ID:???
>>267
ob_
0270nobodyさん2007/04/04(水) 20:44:58ID:???
つうかPHPはサーバーサイドスクリプトだぞ
02712682007/04/04(水) 20:51:35ID:???
質問に間違いがありました。各ファイルは以下の通りです。

(1)PHPファイル コレをブラウザで開きます---------------------
<?php
require_once("MySmarty.class.php");
$o_smarty = new MySmarty();
$o_smarty->assign("MyName","YAMADA,Yoshihiro");
$o_smarty->display("sample.tpl");
?>
(2)sample.tpl テンプレファイル---------------------
<html><head>
<meta http-equiv="content-type" content="text/html; charset=EUC-JP">
<title>Smartyのテスト</title></head>
<body>
私の名前は{$MyName}です。
</body></html>
(3)MySmarty.class.php ---------------------
<?php
require_once("/php/include/smarty/libs/smarty.class.php");
class MySmarty extends Smarty{
  public function __construct(){
  $this->Smarty();
  $this->template_dir="./templates";
  $this->compile_dir="./templates_c";
  $this->cache_dir="../cache/";
  $this->caching=false;
 }
}
?>

開発環境はwinXP apache2 php5です
0272nobodyさん2007/04/04(水) 20:57:02ID:???
>>271
内部コードは?
テンプレートはもちろんEUCなんだよな?
ブラウザの文字コード変換で適当に変えて何のコードになってるか分かる状態か?
0273nobodyさん2007/04/04(水) 21:00:51ID:???
MySQLのテーブルデータをCSVでエクスポートするスクリプトを書いてます。
テーブルの文字コードはEUCで、CSVの出力をSJISにしたいのですが、

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=hoge.csv");
〜以降printで内容出力
こんな感じで出力するとファイルがEUCで出力されます。

Smartyがらみでphp.iniでは以下の設定をしてます。
mbstring.http_output SJIS
mbstring.internal_encoding EUC-JP

HTMLの出力はこれでSJISになっているんですが、
CSVの出力だと関係ないんでしょうか?



02742682007/04/04(水) 21:02:28ID:???
>>272
回答ありがとうございます。
テンプレート(sample.tpl)はEUCで保存してます
ブラウザの文字コードももちろんEUCで出力されてるんですが化けていて、
SJISやISOなどに変更しても化けています。
ちなみに、「????O??AMADA,Yoshihiro???B」 となります。

smartyだけの文字コードをいじる設定があるのかとphpinfoで調べても
該当項目がないみたいなので困ってしまいました
0275nobodyさん2007/04/04(水) 21:04:31ID:???
>>267
HTML表示させてからsleep
0276nobodyさん2007/04/04(水) 21:08:44ID:???
>>271
sample.tplの
<meta http-equiv="content-type" content="text/html; charset=EUC-JP">
これcharset=Shit-JISの間違いじゃ??
0277nobodyさん2007/04/04(水) 21:17:47ID:???
>>274
function s_outputfilter($str)
{
print_r(mb_detect_encoding($str, 'auto'));
}

$o_smarty->register_outputfilter('s_outputfilter');

解決策ではないが、とりあえずこれを実行して表示前のコードを調べてみれ
02782682007/04/04(水) 21:24:20ID:???
>>277
SJISってでました!

どういうこと???
smartyはSJIS書き出しが標準ってこと??
どこに設定ファイルがあるんでしょうか?

>>276
なんで判ったんですか?
0279nobodyさん2007/04/04(水) 21:26:26ID:???
phpiniの設定はどうなってんの?
0280nobodyさん2007/04/04(水) 21:44:52ID:????2BP(396)
すいません、fopen書き込み+読み込み専用で開いて
その直後に排他ファイルロックかけると
同スクリプトでほぼ同時に同じ処理をしようとした人は
その処理中ファイルの読み込みさえ出来なくなるんですかね?
つか、fopenの読み込み+書き込み専用で開くとかどういう意味があるのですか?
読み込み専用のみで開いても読み込み+書き込み専用で開いても
後者選んどけば何の不自由なくすべて処理できるのでは?
02812682007/04/04(水) 21:45:46ID:???
smartyはやっぱりやめたほうがいいですよね。
cakePHPに移行します
0282nobodyさん2007/04/04(水) 21:46:34ID:???
>>280
「読むだけの処理の時に誤って書き込むことがない」ということが保障される
0283nobodyさん2007/04/04(水) 21:48:20ID:???
しょうもない質問だけどフレームワークって何よ?
0284nobodyさん2007/04/04(水) 21:48:49ID:M2pD0HVK
設定ファイルを分離したり機能ごとにファイルを小分けしたりして
可読性やメンテナンス性高めたいんだけど
そういうのの勉強できそうなきれいでわかりやすいphpのコードやtipsって
どこかにありませんか。

本人ですら後で読み返した時1から思い出さないとよくわからないことが多いです。
0285nobodyさん2007/04/04(水) 21:50:30ID:????2BP(396)
>>282
ありがとうございます、
もしお暇でしたら下記質問も教えてもらえるとうれしいです。

ロックかけた後は別の人が同時に同じプログラム
の投稿ボタンを押してもはじかれるという事でよいのでしょうか。
ロックかけた後、そのファイルを自分で再度呼び出す分には問題なくて?
0286nobodyさん2007/04/04(水) 21:51:38ID:???
>>285
昨日のやつか。
0287nobodyさん2007/04/04(水) 21:56:37ID:????2BP(396)
>>286
そうです、色々アドバイスを頂いたのをまとめた結果、
記事にナンバー(ID)振ってナンバーの並びが歯抜けになっても放置で
それを削除していく方式にしました。
それでファイルにロックかけて前の記事のナンバーを取り出し1を加算していこうとしているのですが
ファイルロック関連で疑問に思った事がありまして・・・・・・
本で調べてみたのですが概念的なことしか載ってなくて
具体的に疑問点が解決できませんでした。
何度もすいません。
02882682007/04/04(水) 22:03:20ID:???
>>279
php.iniは保存のエンコードも書き出しのエンコードも EUCで統一しています。
0289nobodyさん2007/04/04(水) 22:22:57ID:???
>>287
>>231
0290nobodyさん2007/04/04(水) 22:34:35ID:GchyYXGQ
質問です。

UTF-8で表示されているフォームから特殊文字(??)を入力して
送信するとそのままバイナリで送信されてくるのですが
sjisやujisなフォームから送信するとHTMLコードで送信されてきます(&#9685;&#3642;)

UTF-8の場合、そのままsjis-win等に変換すると特殊文字が壊れてしまいます。

何がやりたいかと言うと。

携帯絵文字の入力も想定しているので、どうしてもUTF-8 -> SJISへ変換する作業が
必要になるのですがUTF-8で送られて来た場合でも&#9685;&#3642;の様なHTMLコードにしたいのです。

これを実装するにはUTF-8のバイナリとHTMLコードの変換マップ等を
作らないと実装できないものでしょうか?

どなたかお力添えお願い致します。
0291nobodyさん2007/04/04(水) 22:34:56ID:????2BP(396)
>>289
それだとラジオボタンでの削除の際、
不具合出るとのことでした。
DBも今勉強1からはじめると大変そうなので
完成後置き換えるようにしたいと思います。
02922902007/04/04(水) 22:37:21ID:GchyYXGQ
特殊文字(??)
と化けてしまいました申し訳ないです。

()内に入る特殊文字はこれです。

??
0293nobodyさん2007/04/04(水) 22:37:44ID:???
>>291
なんで?
ユニークナンバーをキーにして削除すればいいじゃん?
(つーかラジオボタンだろうとチェックボックスだろうとセレクトボックスだろうと同じこと)
0294nobodyさん2007/04/04(水) 22:38:41ID:???
>>290
>sjisやujisなフォームから送信するとHTMLコードで送信されてきます(&#9685;&#3642;)
>UTF-8で送られて来た場合でも&#9685;&#3642;の様なHTMLコードにしたいのです。

???
■ このスレッドは過去ログ倉庫に格納されています