【PHP】PEAR Part2
..
452:nobodyさん
06/06/09 20:53:34
少し質問させてください。
現在ファイルのアップロードが行える掲示板系のシステムをPHPで作成しています。
プログラム自体はそんなに苦労していないんですが、ひとつ付け加えたいものがあって悩んでいます。
大容量のファイルをアップロードする際、アップロードが終わらないと別の処理ができません。
そこで、「現在アップロードをしている」ことをわかりやすくするために、HTML_Progressを使ったポップアップウインドウで実現しています。
しかし、サンプルサイトをみても「総容量に対し、どれだけアップロードできたか」の進捗状況を表示するのではなく、
アップロードが終わるまでアニメーションを行い、アップロードができたらストップさせる形でした。
これを、「総容量に対し、どれだけアップロードできたか」の進捗状況を表示するようには、どうすればいいのでしょうか。
また、アップロードを行うフォームはHTML_QuickFormを使っているのですが、
アップロード中にブラウザを中止させたり、閉じたりした場合、進捗バーが止まらず、見かけ上常にアップロードしているように見えます。
できることなら、アップロード中にブラウザ側でなんらかのエラーが起きてアップロードができなくなったとき、
進捗バーを止め、エラーを表示したいのです。
アップロードに使っている関数はHTML_QuickForm_File::moveUploadedFileです。
この関数ではアップロードが「できた」か「できなかった」かの状態が取れるはずなのですが、
ブラウザからの中断には対応していないのでしょうか。
長くなりましたが、お答え願えれば幸いです。
最後に、もうひとつ質問なのですが、同システムをPerlでやろうとした場合、
PHPで行うより簡単になりますか?
453:nobodyさん
06/06/09 21:06:47
>>452
すれ違い
454:nobodyさん
06/06/09 22:35:31
>>452
URLリンク(uber-uploader.sourceforge.net)
455:nobodyさん
06/06/09 22:38:54
>>452
ぐぐれば腐る程サンプルでてくるよ
456:nobodyさん
06/06/11 15:11:27
>>453
すみませんでした。
457:nobodyさん
06/06/12 02:35:54
HTML_Quick_Form_Controllerが何もうれしくない件について
URLリンク(pear.php.net)
これ理解するくらいなら、自分でコントローラ作った方がマシじゃない?
使ってるやついたらHQFCのいいとこを教えてくれ。
458:nobodyさん
06/06/13 00:45:56
世の中には自分で作れない馬鹿も存在するし(w
459:nobodyさん
06/06/13 00:49:11
コントローラを自分では作れないけど
この小難しい HQFC を理解して使える……ってのも
馬鹿の程度がかなーり微妙だよな
460:nobodyさん
06/06/13 02:26:47
>>459
同感。
小難しい HQFC を理解して使える馬鹿の登場を待とうか。
なんて、あおってみたりするテスト
461:nobodyさん
06/06/13 09:36:39
PEARってなんて読むの
462:nobodyさん
06/06/13 09:48:21
ドンブリ
463:nobodyさん
06/06/13 12:09:51
>>462
嘘教えちゃだめでしょ
>>461
クスコ
464:nobodyさん
06/06/13 12:36:45
>>461
サルスベリ
465:nobodyさん
06/06/13 13:15:57
Perl使いはPEARと書いてうんことよみます
PHP使いはPEARと書いてピアーとよみます
466:nobodyさん
06/06/13 15:37:05
ピアーだとpeerだけどね。和製英語じゃ恥ずかしいよ。
467:nobodyさん
06/06/13 16:31:37
洋ナシのことだから
ペアーでいいんじゃない
468:nobodyさん
06/06/13 16:33:31
どんなオチが来るのかと思ったら、普通に言っちゃったね・・・
469:nobodyさん
06/06/13 17:48:06
用無し
470:nobodyさん
06/06/13 19:04:20
誰がうまいことを言えと
471:nobodyさん
06/06/14 11:24:21
ペアはpairだが。ここの住人は英語が使えないな。
472:nobodyさん
06/06/14 12:05:34
きのうの昼下がり、対向車とすれ違うのが難しい狭い道路でのできごと。
対向車と鉢合わせ(↓な感じ)
_______/ ̄\____
●→ ←●俺
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
_______/ ̄\____
●→ ←●俺
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
_______/ ̄\____
● ●俺
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
_______/ ̄\____
● ●俺
| ( _●_) ミ
_______/ ̄\____
/ ● ● |
| ( _●_) ミ
∩___∩
| ノ ヽ
/ ● ● | ベア─!!
| ( _●_) ミ
彡、 |∪| 、`\
/ __ ヽノ /´> )
473:nobodyさん
06/06/14 16:59:31
アイアムヒアー
474:nobodyさん
06/06/14 19:17:59
>>471
片仮名だとそれ以外言い方なかろう
475:nobodyさん
06/06/15 10:33:44
くるくるパー
476:nobodyさん
06/06/15 13:37:41
んで結局ピアー、ペアーどっちなの?
477:nobodyさん
06/06/15 15:02:27
>>476
URLリンク(pear.php.net)
> 果物の梨と同じように(「ペア」と)発音します。
梨↓
URLリンク(dictionary.goo.ne.jp)
478:nobodyさん
06/06/15 15:05:14
漏れは ペア 派
479:nobodyさん
06/06/15 15:49:12
激しくDDI
480:nobodyさん
06/06/15 18:03:54
漏れは今poorだ。金くれ。
481:nobodyさん
06/06/15 18:16:56
480 nobodyさん sage 2006/06/15(木) 18:03:54 ID:???
漏れは今poorだ。金くれ。
482:nobodyさん
06/06/15 21:20:04
Spreadsheet_excel_writerを試用してるんですが、
セルに数値を入れるときカンマ区切りで表示する方法ないですかね?
NumFormatでもできないようなので、PHP側でnumber_formatして
代入しているのですが、office2003のexcelで開くと
文字列として認識され激しく鬱です。
当然関数も使えなくなりますし…
483:nobodyさん
06/06/15 22:42:31
>>482
void Format::setNumFormat (integer $num_format)
484:482
06/06/15 23:35:37
>>483
恥ずかしながらそのメソッドのマニュアルを見ても、
カンマ区切りのやり方が思いつかないんですが・・・。
ソース読まなきゃだめですか?
485:nobodyさん
06/06/16 03:02:14
PEARのライブラリって、Zendの人が作ったものの割合はどれくらいなんだろう?
なんかもうひとつイマイチなものが多かったりするんだが、
Zendの開発力ってあの程度のものなのかな。
486:nobodyさん
06/06/16 03:34:33
PEARの人って、
・元々PHP本体や拡張やってた人
・Zendの人でPHPの本体、特にZEやってる人
と余りかぶってない気がする。PECLの方は、元々は
拡張でやってたのをPECLに出したものが多いけどね。
487:nobodyさん
06/06/17 13:02:44
あれ、pear.php.netの鯖おちてるぞ
488:nobodyさん
06/06/17 15:04:46
>>487
日常茶飯事だからいちいち報告しなくてもいいよ。
489:nobodyさん
06/06/18 15:11:03
php使ってるからね。
検索エンジンが来たら落ちます。orz
490:nobodyさん
06/06/19 16:42:02
いつの間にかHTML_QuickForm2なんてのがある
491:nobodyさん
06/06/19 16:46:27
>>490
なにーーーーー
1との互換性はあるのか?
ファイルのアップロードはサポートされるのか?
ちょっといってくる
492:nobodyさん
06/06/19 17:09:57
URLリンク(pear.php.net)
The package development is currently in planning stage.
...orz
待つか
493:nobodyさん
06/06/19 18:02:43
1と同じ機能らしいけどどうだろ
欲しい機能ある?
one time token実装して欲しいなー
494:nobodyさん
06/06/21 12:59:40 af4RZ/Sl
MAC OS 10.4でpearをインストールするためにコマンドを打ち込むと
Warning: touch(): Unable to create file /usr/lib/php/.lock because Permission denied in Registry.php on line 284
could not create lock file: failed to open stream: No such file or directory
というエラーが出てしまうのですが、どこのパーミッションを変えればよいのでしょうか?
495:nobodyさん
06/06/21 13:20:26
/usr/lib/php/ ディレクトリか、
/usr/lib/php/.lock のファイルのどちらか。
まずは .lock を消して試すことだね。
496:nobodyさん
06/06/21 19:17:43
レンサバでPEARを使うにはどうすればいい?誰か教えて
497:nobodyさん
06/06/21 19:40:50
>>496
管理にお願いするか
自分で書き込めるディレクトリ(DocumentRoot外が望ましい)に手動で置いて
includ_pathを通す。
498:nobodyさん
06/06/21 21:32:47
>>494
sudo
499:498
06/06/21 21:37:25
あ、ごめん。質問内容が違ってたね
と言ってみる
500:nobodyさん
06/06/21 23:56:04
マカは氏ね。
501:nobodyさん
06/06/22 14:12:58 347Blei1
HTML_QuickFormでフォームの入力検証を行っているのですが
グループ要素の検証を行う時、
URLリンク(www.okushin.co.jp)
ここを参考にaddGroupRuleで以下のように書いたのですが
これだとクライアントで検証を行ってくれません。
色々なところに「,"client"」などを色々挿入してみたのですが、どうもうまくいきません。
複合要素の配列を使った検証で、クライアント検証をさせるにはどのように書けばよいのでしょうか。
$form->addGroupRule("pay", array(
"money"=>array(
array("金額は必須入力です。","required"),
array("金額は数字のみで入力して下さい。","numeric")
)
));
502:nobodyさん
06/06/22 20:39:31 5nFH6Fdq
>>496
telnetとかつかえる?
方法はいろいろあるみたい。
URLリンク(www.go-pear.org)
さくらでは、普通にpear install -o PAER でローカルコピーできた。
ほかのとこでは、
-bash-2.05b$ lynx -source URLリンク(pear.php.net) | php4
とかいう感じでいけそうだった。
503:nobodyさん
06/06/24 08:49:42
PEAR にもよるけど、
単純にファイルコピーで使えたりするしね。
504:nobodyさん
06/06/24 14:46:40
>>503
手動でコピー(展開)してパス通してたら使えないの有るの?
知ってるなら具体的に教えて。
なんかの参考になるかもしれんし
505:nobodyさん
06/06/24 17:53:54
>>504
単純に外部ライブラリに頼るものじゃね
GD前提のモジュール(あるか知らないけれど)とかがあるとして
シェル使えなくてGDがレン鯖にも入ってなくて、
サポートもされないならそれは使えない
もちろんそれはPEAR自体の問題ではないけどね
506:nobodyさん
06/06/25 02:29:16
pear installはできるのにpear list-allができん、今まで問題なかったのになんじゃこりゃ。
原因分かる方おしえてくだされ
XML error at line 1, check URL
Invalid return payload: enable debugging to examine incoming payload
507:nobodyさん
06/06/25 13:35:09
pear list-upgrades してみるとか。
508:nobodyさん
06/06/25 14:48:24
pear list -a
は出る?
509:nobodyさん
06/06/25 15:59:40
>>507,508
ありがとう、無事できました。
upgrade-allでupgradeできたと思ってたんだけど、list-upgradesしたらどれもアップグレードできてませんですた。
で、PEARとXML_RPCを個別で指定してアップグレードしたところchannelがなんたらかんたらと言われて、
それにしたがったところ動くようになりました。
510:nobodyさん
06/07/11 19:31:23
PEAR::DB
This package been superseded by MDB2 but is still maintained for bugs and security fixes
MDB2 使うぐらいだったら、PDO の方が良いような…。
511:nobodyさん
06/07/19 02:41:49 bvrYbrpe
Services_Amazon(ver0.5.0)使ってみたんですけど、
複数キーワードの場合どう指定すればいいのかわからんです。
おしえてえらいひと
ソースはこれまんま使わせてもらったです
URLリンク(dozo.rgr.jp)
512:nobodyさん
06/07/19 03:02:13
自分で拡張しないとダメでしょ。自力で弄れないならver1.0まで待てば?
漏れなら単発で引いて、自分でマージ。
513:nobodyさん
06/07/20 14:43:10 9HfxuTZk
PEARインストールし、PEAR::DBを試そうとしています。
マニュアルで見ると、なにごともDB.phpのインクルードから的な感じで
説明なくそうなってますけど自分の環境にはDB.phpがありません。(インストール失敗してる?)
エラーもその旨出ます("DB.phpが見つからない")
おききしたいのは、インストール時に「DB.php」というファイルが生成されるのか、
phpをインストールしたときのように、なにか別のファイルの名前を変更するなどして自分でつくるとか、
そのあたりどういった具合になるんでしょうか。
環境はWinXPのsp1、phpは5.1.4です。
514:nobodyさん
06/07/20 15:03:18
>>513
どうやってインストールして、どのようにインストールが成功したと判断したの?
pear listで表示される?
表示されるなら、PEARのフォルダがinclude pathに含まれていないんじゃないかな?
515:513
06/07/20 17:26:23
>>514
ありがとうございます。
pear listではパッケージの一覧が表示されますし(すべて"安定"との表示)、
include_pathも確認済みです。
インストールはコマンドプロンプトからURLリンク(go-pear.org)にアクセスしてインストールしました。
その際にそれぞれのパッケージに対してダウンロードok,インストールokというような表示が逐一出まして、最後まで進んで終了しました。
最後に以下の警告が表示されました。
ひとつはWindowsの環境変数のパスが違っていると言うもの→PHPのマニュアルに従ってパスをC:\php\extにしていたが、警告を受けてC:\phpに戻しました。
それとphp.iniのinclude_pathに対してのもの→PEARへのパスを追記。
他に、phpフォルダ直下のPEAR_ENV.regをWindowsのレジストリに追加しておくと便利、という表示に従い、
意味はわかりませんでしたが実行しました。
何度かやり直し、今も確認してたんですが、やはりDB.phpというファイルはなく、
スクリプトの実行エラーもDB.phpが見つからない、という内容のままです・・・
516:nobodyさん
06/07/20 17:55:03
>>515
一見問題なさそうだけど・・・。
インストールは普通コマンドプロンプトから
pear install パッケージ名
で良いですよ。
pear listで表示されるstableは安定版という意味で、β版やα版を
入れるときは pear config-set preferred_state beta なんてことをやってから
インストールします。予断ですが。
一度 pear uninstall DB でアンインストールして、再インストールして見てはどうでしょう?
それと確認ですがDB.phpは本当にどこにもありませんか?
HDDを検索してみてはいかがでしょう?
517:513
06/07/20 18:46:05
>>516
ありがとうございます!解決できました。
おしえていただいたアンインストールのコマンドを試してみたら
"インストールされてません"とのメッセージが・・・
その後pear install DBとしたところDB.phpも現われ、スクリプトも実行できました。
インストールされてればpear listでもちゃんと"DB"と表示されるんですね・・・
今まではPEARを使うための準備をしてただけなのに勘違いしてました・・・
PEARをインストールすれば主だったパッケージはインストールされてるものとばかり・・・(恥)
もう何日かごちゃごちゃやっていたので本当にたすかりましたm(_ _)m
518:nobodyさん
06/07/20 19:02:35
>>517
うーむなんだかw
ま解決して何より。
もうひとつ豆知識として、モジュールには依存関係がある場合が
あるんだけど、依存するモジュールもまとめてインストールするときには
pear install --alldeps モジュール名
という書き方もできる。
また、インストール済みのモジュールは、
pear upgrade-all
で最新版(がリリースされてれば)に更新できる。
この2つくらいは覚えとき。
519:513
06/07/20 22:11:04
>>518
たびたびすいませんー。そのコマンドが心に沁みまする^^
いろいろ学んでいきたいと思ってます。
520:nobodyさん
06/07/23 04:35:31 becjw5iF
横からすみません。
PEAR::Auth使ってるのですが、少し時間が空くとusernameが空になる現象に困っています。
$myAuth->username から $myAuth->getUsername()に変えても直りません。
お助けください><;;
521:nobodyさん
06/07/23 04:43:40
$myAuth->getAuth()はtrueが帰って来ています。
30分ぐらい(?)他っておくと(アイドルにしておくと)起こるようです。
PHP5で最近pear install Authしました。
522:520
06/07/23 04:56:36
訂正します。
時間が空かなくても、ページ移動するごとにログインしている状態(getAuthがtrue)なのにusernameが空になっているようです...
523:nobodyさん
06/07/24 17:55:27 WjQLi7Eq
HTML_Template_Flexy についての質問です。
自宅環境で正常に動作するスクリプトを作ったのですが、レン鯖にアップすると
コンパイルが正常に行われません。
具体的には、HTMLタグが全て"Array"という文字になり、本来PHPコードに変換されるはずの{variable}等が
全く変換されず、そのまま出力されてしまいます。
PEARやHTML_Template_Flexy の再インストールもやってみましたが、変化ありません。
念のため php.ini の mbstring 関連の設定も揃えてみましたが、こちらも変化ありませんでした。
このような場合、どのような原因が考えられますでしょうか?
チェックすべき項目などがありましたらご指摘お願いします。
524:nobodyさん
06/07/25 09:30:59
自宅環境とレン鯖環境ぐらい晒したら?
ちょっとチェック用のスクリプト作って動作チェックぐらいして無いの?
525:nobodyさん
06/08/02 03:18:27 aylqqE98
すみませんが教えてください。
PEARのDBを使って、DB側で設定されたシーケンス値を
インサート後に取得する方法ってありますでしょうか?
PEARのマニュアルの警告には、シーケンスはDBMS側を使わずに、
PEARの中で管理しろと書いてあるのですが、
やっぱりDB側のシーケンスは使ってはだめなんですかね・・・?
526:nobodyさん
06/08/02 10:38:05
>>525
INSERT 前に nextId() を使って、次のシーケンスを取得しておいて
それを INSERT して、その後参照する場面でもそのシーケンスを使いまわす。
527:nobodyさん
06/08/02 12:41:04
>>526
やっぱりその手しかないのですよね。
ありがとうございました。
528:nobodyさん
06/08/24 23:34:20 KkbLy53/
PEAR::DBに関しての質問なのですが、
$db->setFetchModeを「DB_FETCHMODE_ASSOC」に指定すると、
2つのテーブルで同じ名前の列がある場合、片方しかとれません。
たとえば、
create table t1 (id integer, data varchar(10));
create table t2 (id integer, data varchar(10));
とした時に、下のようなSELECTを実行します。
select t1.id, t1.data, t2.id, t2.data from t1, t2 where t1.id = t2.id
すると、かえってくる連想配列の内容をprint_rでみると
Array
(
[id] => 1
[data] => data1
)
こんな内容が帰ってきます。FETCHモードが、「DB_FETCHMODE_ASSOC」の場合、
指定した列すべて取れないのでしょうか・・・?期待していたのは下のような結果なのですが。
Array
(
[t1.id] => 1
[t1.data] => data1
[t2.id] => 1
[t2.data] => data2
)
ちなみに、PHPは4.3.11、PEAR::DBは1.7.6、DBはpostgreSQLでV8.xです。
ご存知の方、いらっしゃいましたら教えてください。よろしくお願いいたします。
529:nobodyさん
06/08/24 23:38:19
>>528
t1.data AS t1_data, t2.data AS t2_data,
みたいにエイリアスで別々の名前つけてやって取得すればいけると思う
530:nobodyさん
06/08/25 00:23:23
>>529
そのとおりでした。
ありがとうございました。
531:nobodyさん
06/09/09 15:30:02
他スレに質問しましたが、PEARの話題はスレ違いだったのでこちらで、質問させて頂きます。
えろいひとがいましたら、おしえてくれたりしてください。
php4.3 redhatES4 apache1.3 mysql4.1 です。
PEARのDB_DataObjectで「UPDATE」するときの質問です。
DB_DataObjectのインクルードや設定ファイル読み込みが終わったとしします。
numが1のデータを探して年齢を変更するといった場合は
$hoge=DB_DataObject::factory("hoges");
$hoge->get(num,1);
$hoge->age = 15;
$hoge->update();
でできるのですが、numが1で名前がyamadaのデータの年齢を変更するといった場合がうまくできません。
$hoge=DB_DataObject::factory("hoges");
$hoge->whereAdd('id = 1');
$hoge->whereAdd('name = yamada');
$hoge->age = 15;
$hoge->update();
PEARのドキュメントをみても、複数絞込みのUPDATEの例がなくてこまっています。
直接SQL query()をなげるしかないのでしょうか。
532:nobodyさん
06/09/09 16:08:57
>>531
DB_DataObject の update() は基本的にユニークキーを指定して行なうものだけど
そうでなく自前で WhereAdd() した条件で広範囲に update() する時には
引数に定数をつけて update(DB_DATAOBJECT_WHEREADD_ONLY) してやるとよろしい
533:531
06/09/09 18:22:55
どうもありがとです。
たったそれだけのことなのですね。
基本的に2つに一致する条件のものは1つのレコードだけなのですが
まぁこのやりかたで解決しました。
534:nobodyさん
06/09/09 19:19:05
解決おめ
蛇足だけど DB_DataObject は全体の傾向として
テーブルに必ず int ひとつだけのユニークキーがあるようにしてあると
扱いやすいようにできている気がする
開発工期を短く済ませるために DB_DataObject で扱いやすいテーブル設計をするとか
邪道っぽいけどとても効果的だったりw
535:nobodyさん
06/09/09 19:34:57 BE:340493748-2BP(200)
たしかに、設計としてはアレだけど全部のテーブルに"auto_id"みたいなauto_incrimentを作っとくと便利
536:nobodyさん
06/09/16 22:13:02
Requiring E_STRICT 通った
URLリンク(pear.php.net)
PEAR新世紀幕開けか
537:nobodyさん
06/09/17 02:30:59 BzsrnxFm
今度PEARを使うことになったんだけど、PHP5だと
動かないやつとかあるのかな?
いまいち知らんけど、PHP4時代に作られたライブラリ
だと、PHP5で非互換な部分のせいで動かなかったり
するんかな。
538:nobodyさん
06/09/17 16:20:16
そんな心配はPHP6になったらまた作り直すことに成るから心配しなくても良いよ。
PHP5時代の資産が未来永劫使える保証すらないから。
539:nobodyさん
06/09/26 16:24:45
というけど今のPEARってほとんどPHP4で作られたものじゃないのか?
PHP5で作られたものなんでMDB2みたいな不安定なものばかりだし
540:nobodyさん
06/09/26 17:00:15
MDB2はPHP4ベースだし不安定でもない
541:531
06/10/01 07:09:16 Ge/0d2rj
以前質問したものです。またDB_DataObjectでつまづいてます。
php4.3 redhatES4 apache1.3 mysql4.1 です。
PEARのDB_DataObjectで「UPDATE」するときの質問です。
numが1のデータを探して年齢を+1するといった場合は
$hoge=DB_DataObject::factory("hoges");
$hoge->get(num,1);
$hoge->age += 1;
$hoge->update();
でできるのですが、numが1で誕生日が1月のデータの年齢を+1するといった場合がうまくできません。
$hoge=DB_DataObject::factory("hoges");
$hoge->whereAdd('num = 1');
$hoge->whereAdd('birthday = 1');
$hoge->age += 1;
$hoge->update(DB_DATAOBJECT_WHEREADD_ONLY);
+= のように加えたりする系の処理はDB_DATAOBJECT_WHEREADD_ONLYだと無理なのでしょうか。
542:nobodyさん
06/10/01 09:25:45
テーブル設計ぐらい示せよ。何となく設計がタコだと思う。
SQL直書きならできそうだけどな。
543:531
06/10/01 11:29:45 Ge/0d2rj
すいません。実際はちがうのですが上述の質問は下記を想定しています。
MYSQL4.1です。
CREATE TABLE `hoges` (
`id` int(10) NOT NULL auto_increment,
`num` int(10) NOT NULL default '0',
`age` int(3) NOT NULL default '0',
`birthday` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM;
544:531
06/10/01 11:38:58 Ge/0d2rj
`birthday` int(3) NOT NULL default '0',
birthdayもとりあえずintegerで。
545:nobodyさん
06/10/01 11:54:05
>>531
$hoge->age = DB_DataObject_Cast::sql('age + 1');
ってことかな?
上記だと joinAdd() とかした時にハマる危険性がないでもないが通常は問題なかろ
$hoge->age = DB_DataObject_Cast::sql($hoge->tableName().'.age + 1');
とかだと冗長だけどさらに確実
とか書いてるけど試してないから実験は自分でやってみてね
546:nobodyさん
06/10/01 12:04:49
1レコード限定の更新じゃないUPDATEなら
SQL直書きにしといた方が、他の人が見たときに
ここは全体にかけるUPDATEなんだってわかりやすいと思うけどなあ
O/R mapperはSQL書かずにDB扱うためだけのもんじゃないのに
547:nobodyさん
06/10/02 09:06:19
そもそも「年齢」で管理しているのが良くないのでは?
普通は「生年月日」だね
548:nobodyさん
06/10/02 14:32:51
「生年月日」をDBに持っといて
「年齢」は取得するSQLだのプログラムだのでその時決定する
ってのがいいんでないかい
パフォーマンス要求厳しい場合は別だけど……
549:531
06/10/03 01:49:42
アドバイスありがとうございます。
num、age等はサンプルです。実際にやる場合は547氏のいうとおり
生年月日のほうがよいでしょう。
質問の意図としては
「複数行をアップデートする」
かつ
「+=といった数値を加える」
処理を上記方法でできないか?というかんじでした。
聞き方が悪くて申し訳ありません。
とりあえず試した方法でやってみます。
最悪SQL直で。
550:nobodyさん
06/10/03 17:48:51
うーん、例だと全然イメージ湧かないな。何をしたいの?
551:nobodyさん
06/10/03 22:37:28
pearのインストールに躓いたので質問させてください。
Xdebugをインストールしようと思い、
cmdから# pecl install Xdebug
を実行しました。
しかしエラーが表示され、
xdebugというフォルダが作成されるものの、
フォルダの中身は空っぽです。
設定を間違えているんでしょうか?
552:nobodyさん
06/10/03 22:43:50
エラーメッセージは?
553:551
06/10/03 22:55:42
>>552
ERROR: The DSP xdebug.dsp does not exist
と表示されます
554:nobodyさん
06/10/03 22:59:16
>>553
そのメッセージでぐぐっただけだけどこれは?
URLリンク(it-laboratory.seesaa.net)
555:551
06/10/03 23:43:31
>>554
ありがとうございます。これを試してみます。
ところでコンパイル版のインストールってどうすればいいんでしょうか?
installコマンドしか試したことがなく、
検索してもみつからないもので・・・
556:nobodyさん
06/10/03 23:48:23
>>555
URLリンク(jp.php.net)
557:551
06/10/04 03:03:08
>>556
ありがとうございます!
しかしいろいろ試してみた結果、
php5.1.6に対応したバージョンがないことに気づいてしまいました・・・
558:nobodyさん
06/10/13 01:37:55
PEAR::Net_UserAgent_Mobileの画面取得て
対応してないような新機種の時は
どうなるの?
559:nobodyさん
06/10/13 01:50:29
対応するの待つか自分でデータ追加しちゃうの
560:nobodyさん
06/10/14 05:37:40
まいっちゃう
561:nobodyさん
06/10/14 19:41:11
PEAR::Authを利用したログインシステムを作ろうと考えているのですが、
ブラウザを一度閉じても、次回アクセス時までログインを維持して自動ログインできるような機能
(mixiの「次回から自動でログイン」と同じ機能)は使えないのでしょうか?
$myAuth->setExpire(2000000);
$myAuth->setIdle(2000000);
とかやってみましたが、これではダメみたいですね。。。
562:561
06/10/14 21:43:52
すみません。その後調べていくうちに、サーバー側の設定が怪しいということがわかり、
php.iniを調べてみたら、session.cookie_lifetimeの値でいけました。
自己解決のスレ汚しすみません。
563:nobodyさん
06/10/16 02:34:42
pearコマンドでインストールする際、インストール先のパスって指定出来ないの?
スーパーユーザ権限が無いレンタルサーバなんだけど……。
自分でダウンロードしてホームディレクトリに書庫を展開するんじゃダメかな?
564:nobodyさん
06/10/16 03:20:32
スクリプト内でインクルードパスを追加するといい
565:nobodyさん
06/10/20 10:20:50 9mLjL02A
「IP,ユーザーエージェント等の環境変数を見て
検索エンジンクローラーかそうではない一般のユーザーかを
判別する」
といったクラスってPEARでありますでしょうかー。
色々調べたんですがみつからなくて。。。
あ。PEARじゃなくてもいいっす
566:nobodyさん
06/10/20 17:39:42
Spreadsheet_Excel_Reader/Writer の情報を追っているうちに
Excel_Reviser (既存のExcelファイルをテンプレートとして読み込んで値を書き換えられる)
の存在を知ったんですが、ダウンロード先がNot Foundになってました。
作者の連絡手段もどこにも見つかりません。(過去ログにあるメルアドは届かなかったし)
誰か持っている方いませんか??
567:nobodyさん
06/10/29 20:36:01
Spreadsheet_Excel_Writerでxls吐いてるとある程度の行数(っても30行やそこら)で
Excelが「メモリ不足です」ってダイアログ出して開けなくなる。
やっぱりBIFF8は実用段階じゃないって事なんだろうな。
同じような症状出た人いる?
568:nobodyさん
06/10/30 17:42:07 +kTSWHIU
どなたか xrea のサーバーに XML_sql2xml がインストールできた方いませんか?
どういう依存関係にあるのかわからず、どれをインストールすればいいのかわからないでいます。
どなたかご教授願います。
569:nobodyさん
06/10/30 17:51:50
>>568
今XML_sql2xmlのページ見たけど
Dependencies:
* PHP Extension: domxml
* PHP Version: PHP older than 5
PHP5以上でdomxmlが必要なだけみたいだが
570:nobodyさん
06/10/30 18:36:37 +kTSWHIU
>>569
php は 5 の環境で動いています。
domxml は phpinfo で調べたら
DOM/XML enabled
DOM/XML API Version 20031129
と、入っているようです。
URLリンク(lab.urume.net)
と
URLリンク(blog.hawklab.jp)
を参考にしています。
あと php を cgi モードで動くように .htaccess に
AddHandler application/x-httpd-phpcgi .php
の一行が入っています。
url から叩いて
URLリンク(www.example.com)
とすると、
No releases for package "pear/XML_sql2xml" exist
Cannot initialize 'XML_sql2xml', invalid or missing package file
install failed
というエラーが出てしまいます。
571:nobodyさん
06/10/30 19:02:38
>>570
XML_sql2xmlがまだbetaだからじゃね?
自分で解決できなさそうだったら
サイトからtgz落としてinclude_pathにアップする方が早いよ
572:nobodyさん
06/10/31 02:01:45
>>567
おれもおれも
573:nobodyさん
06/10/31 06:15:34
>>572
あー、じゃあやっぱりうちの環境の問題とかではないわけだなぁ。
となるとPerlで出力するとか検討しなきゃ駄目か。
そこだけPerlにすると色々共用できなくなって面倒なんだが
574:nobodyさん
06/11/06 23:55:00 Z3fQNHJB
QFでQFCを使わずに
入力->確認->処理をしたくて
hiddenでmodeを入れたんだけど
同じ名前だとfreezeで前の値になっちゃうっぽいんだけど
「この要素はフリーズしないで」みたいな命令ってある?
QFCをつかうのも大げさかなとおもっただけなので
hidden使わない方法でもいいです。
おしえてくだしあ
575:nobodyさん
06/11/07 02:58:06
>>574
hidden で setConstants() とかそういう
576:nobodyさん
06/11/07 11:02:29
>>575
ありがとうございます。
setConstantsも試したんですけど
使い方が間違ってました(汗
577:nobodyさん
06/12/02 22:00:57 P18lXKYL
Win版5.2でpearのパッケージマネージャをインストールしようとgo-pear.batを実行したところ下記のエラーが出ました
対処法を伝授下さい。
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] : ここでEnter
Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.
1. Installation base ($prefix) : C:\php
2. Binaries directory : C:\php
3. PHP code directory ($php_dir) : C:\php\pear
4. Documentation directory : C:\php\pear\docs
5. Data directory : C:\php\pear\data
6. Tests directory : C:\php\pear\tests
7. Name of configuration file : C:\WINNT\pear.ini
8. Path to CLI php.exe : C:\php\.
1-8, 'all' or Enter to continue: ここでEnter
Beginning install...
Configuration written to C:\WINNT\pear.ini...
Initialized registry...
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268
578:577
06/12/02 22:01:31 P18lXKYL
続き
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268
Preparing to install...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.1.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.4.11.tar...
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2334
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2338
Could not get contents of package "". Invalid tgz file.
Cannot initialize 'phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.1.tar', invalid or missing package file
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2334
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2338
Could not get contents of package "". Invalid tgz file.
Cannot initialize 'phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.tar', invalid or missing package file
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2334
579:577
06/12/02 22:02:02 P18lXKYL
続き
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2338
Could not get contents of package "". Invalid tgz file.
Cannot initialize 'phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.4.11.tar', invalid or missing package file
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command/Install.php on line 427
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command/Install.php on line 427
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command/Install.php on line 427
Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command/Install.php on line 429
install failed
続行するには何かキーを押してください . . .
580:nobodyさん
06/12/03 00:30:08
>>577
俺もgo-pear.batでをまともにインストールできた記憶がない。
素直に URLリンク(go-pear.org) を保存して、
php.exe go-pear.org
と実行した方がいいかと。
581:577
06/12/03 02:10:04
>>580
うまく行きました。
582:nobodyさん
06/12/04 17:31:22
>>565
2,3行で書ける。
583:nobodyさん
06/12/06 12:14:28 gLCC1tJk
PHP4.4.4
PEAR::Mailで
smtp over sslなSMTPサーバを使ってメールを送りたいのですが
________________________
unable to connect to smtp server smtp.xxxx.xxx:465
________________________
となってしまいます。
同じマシン同じ設定ででメーラーで送信することはできます。
コードは下記のようにしてるのですが、
何か足りないのでしょうか。
お知恵をお貸しください。
______________________________________
//(略)
$params = array();
$params['host'] = 'smtp.xxxx.xxx';
$params['port'] = 465;
$params['auth'] = 'CRAM-MD5';//'DIGEST-MD5'や'LOGIN'や'PLAIN'もためしました
$params['username'] = 'xxxx';
$params['password'] = 'xxxx';
$mail =& Mail::factory('smtp',$params);
$res = $mail->send($to,$header,$body);
if ( PEAR::isError($res) )
{
echo $res->getMessage();
exit;
}
______________________________________
584:nobodyさん
06/12/07 17:56:05
class Auth における
getAuth() メソッドと checkAuth() メソッドの
違いはなんでしょうか?
585:nobodyさん
06/12/09 08:29:00
スパム防止で25番ポートが使えないのなら諦めるべき。
586:nobodyさん
06/12/10 13:19:44
PEARのQuickformで詰まってまして解決方法あれば教えてください。
プルダウンメニューの場合DBから引っ張ってきたValueをみて
Selectedされるのは確認したのですが、
DBの別テーブルからkeyで拾って表示させている場合、valueにはkey
がセットされてしまいselectedされないようです。
うまくできる方法はないでしょうか。
587:nobodyさん
06/12/10 13:24:59 u1GQNv5M
age
588:nobodyさん
06/12/10 14:22:33
select だったらきちんと key => value がセットされて setDefault() では key で指定できるはずだが
>>586が書いたコードを抜粋して晒してみ
589:nobodyさん
06/12/10 15:19:43 u1GQNv5M
■tableA
key name icon1
0 tanaka 2
1 tanaka 1
■tableB
autonum icon1
0 aaa
1 bbb
2 ccc
tableA 田中さんをDBから引っ張ってきた時
JOIN tableB i1 ON p.icon1 = i1.autonum としているため
['userdata']["name"]=> string(6) "tanaka"、 ['userdata']["icon1"]=> string(3) "ccc"
$form->setDefaults(array('icon1'=> $_SESSION['userdata']['icon1']));
テーブルBに登録されているデータをひっぱってきます。
$icon_array = db_get_field_data($conn);(中身:[0]=> string(3) "aaa" [1]=> string(3) "bbb" [2]=> string(3) "ccc")
$form->addElement('select','icon1','名前',$icon_array);
<select name="icon1">
<option value="0">aaa</option>
<option value="1">bbb</option>
<option value="2">ccc</option>
</select>となり、selectedをとれません。
ためしにTableAの値のまま
$icon_array2=array('aaa' => aaa,'bbb' => bbb,'ccc' => ccc);
$form->addElement('select','icon1','名前',$icon_array2);
この場合はselectedされました。当然ながらDB書き込み時に
valueがcccといってしまうので当てはまる物がなく0で更新されてしまいます。
なんとなくつかめていただいたでしょうか。
590:nobodyさん
06/12/10 15:58:03
icon1 って名前が数値(0〜2)だったり文字列('aaa'とか)だったりする場合があるのは
QuickForm 云々以前にコードの見通しとかの面でも問題あると思う.
SELECT する時に tableB.icon1 AS icon1_name みたいな感じで別名付けてやるとよかろう.
そうすれば icon1 フィールドは tableA.icon1 が入るので
$icon_array で select 作ってもきちんと setDefaults() が効くはず.
591:nobodyさん
06/12/10 17:07:19 u1GQNv5M
んんん 今こんな感じです。
基本的な事を間違えてるのかな・・
【profile_tbl】
[id][name1][name2][icon1][icon2][icon3]
0 nuko tan 1 2 0
1 oka hatirou 3 2 2
【icon_tbl】
[id][icontype]
0 aaa.gif
1 bbb.gif
2 ccc.gif
3 ddd.gif
[クエリ]
SELECT
p.name1 as name1,
p.name2 as name2,
i1.icontype as icon1,
i2.icontype as icon2,
i3.icontype as icon3,
FROM profile_tbl p
JOIN icon_tbl i1 ON p.icon1 = i1.id
JOIN icon_tbl i2 ON p.icon2 = i2.id
JOIN icon_tbl i3 ON p.icon3 = i3.id
[表示]
nuko tan bbb.gif ccc.gif aaa.gif
oka hatirou ddd.gif ccc.gif ccc.gif
592:nobodyさん
06/12/10 18:01:53 u1GQNv5M
なんとかわかった気がします。phpの処理の中で値を使うとき
profileから引っ張った際、$icon=$data['user']['icon1']で2が入るため
<img src="$icon">が<img src="2">になるので、
リレーションつかってccc.gifをひっぱって表示させてました。
その辺が駄目だったのかもしれません。
593:nobodyさん
06/12/10 18:39:59
>>592
そういうこと
そもそもの良くない点は「icon1」というひとつの名前が複数の意味を持ってしまっていることだと思うので
DB から SELECT する際に別名付けてやることで
違う意味のものには違う名前を付けてやると良い,って話やね.
同じ名前(icon1)のまま違う意味(コードだったりファイル名だったり)に使いたいからって
違う内容を入れて使うって発想はよろしくないので,
違う意味のものなら面倒でも違う名前を付けて使い分けるようにしないと.
594:nobodyさん
06/12/10 21:47:57
あんまり関係ないけど、
Quickformってライブラリに使われてるって感じがするよねぇ。
595:sage
06/12/12 14:05:01
Pagerでページ変更時に変数を保持したいんですが、可能でしょうか?
596:nobodyさん
06/12/12 14:23:36
>>595
extraVars
597:595
06/12/12 15:09:53
>>596
ありがとうございます。
$params = array(
'itemData' => $myData,
'perPage' => $perPage,
'delta' => 8,
'append' => true,
'clearIfVoid' => false,
'urlVar' => 'start',
'currentPage' => $start,
'useSessions' => true,
'closeSession' => true,
'mode' => 'Jumping',
'extraVars' => $num,
);
という感じで指定して、$numを使うために途中で
$nownum = $params['extraVars'];
別の変数に格納しました。
ですが、ページ変更後には$nownumが空になってしまいます。
urlには test.php?0=1&start=1という感じで$numは格納されています。
extraVarsから再利用はできないんでしょうか。
598:nobodyさん
06/12/12 16:30:16
なんか使い方を間違えてる気が
> URLリンク(pear.php.net)
> クエリ文字列に変数を追加する
Pager が生成する URL の引数に入るだけで
変数への設定は $_GET とかから自前でやらないとだめよ
599:595
06/12/13 09:52:06
何度もすみません。
formでpostした$numを
'extraVars' => array('n' => $num),
という感じでパラメータに置いて
$_GET['num']で使おうとしていますが、
post直後はURIにもtest.php?n=1という風になりますが
ページングされたページに飛ぶと変数を保持しておけません。
600:nobodyさん
06/12/13 11:37:43
array('n' => $num) なら $_GET[ 'n' ] じゃないの?
もしかして Pager とか以前に根本的なパラメタ渡しとかが理解できてない?
601:595
06/12/13 11:52:52
すみません自己解決しました。
if(isset($_POST['num'])){
$_SESSION['num']=$_POST['num'];
}
$num = isset($_SESSION['num']) ? $_SESSION['num']: "";
で、やりたいことが出来ました。
>>600
>array('n' => $num) なら $_GET[ 'n' ] じゃないの?
そうですよね。本来のコードから書き換えて投稿していたので
ミス入力してしまいました。
602:nobodyさん
06/12/13 20:36:35 WrZMw5hy
PearDB使って他のサーバーで動いているOracleに接続したいのですがうまくいきません。
・Web鯖
OS:WindowsXP
httpd:Apache1.3.35
php:5.2.0
pearDB:最新
・DB鯖
OS:CentOS
Oracle:10.2.0
・コード
$this->db =& DB::connect( "oci8://ID:PASS@tcp(IP)/DBNAME" );
・エラーメッセージ
C:\Software\php\PEAR\DB\oci8.php:240 oci_connect() [function.oci-connect]: ORA-12154: TNS:could not resolve the connect identifier specified
phpの吐くエラーをみてるとDB鯖にコネクションできないって感じに思えるのですが…。
sqlplus使っての接続はWeb鯖マシンからできるので、Oracleの設定及びネットワークの問題はないと思います。
php側に外部のホストにつなぎに行く制限をする設定項目なんかがあるんでしょうか?
603:nobodyさん
06/12/13 20:40:01
sage忘れスマソ
604:nobodyさん
06/12/13 21:13:07
そもそもoci8っつー名前でOracle10サポートしてるかどうか微妙
DBよりMDB2の方がいいかも
605:nobodyさん
06/12/13 23:40:31
>>602
hosts にSIDと鯖のIP登録してWin再起動してみ。
606:nobodyさん
06/12/14 22:39:50 nK4PeE4Y
>>604
DB鯖の中で動いてるhttp鯖からは動くんでそれは問題ないかと思います。
下請けでPearDB指定なので…どうしてもダメなら検討します。
>>605
やってみます。環境が会社じゃないと無いので、明日やってみます。
ありがとうございます。
607:nobodyさん
06/12/15 18:47:01 cnQJoip3
>>605
見事に接続できました!!
ありがとうございます。
608:nobodyさん
06/12/16 00:53:19
よかったね。
なんで hostsに書かないと接続出来ないのか判らんが、いつもこれにハマる。
教えてエロイ人。
609:nobodyさん
06/12/16 19:59:14
ウェブ鯖もリナックス(ユニックス)にしとけば良いのに。
610:nobodyさん
06/12/16 21:05:10
なんか頭悪そうだなぁ…
611:nobodyさん
06/12/17 04:01:25
リナクス使ってる時点で負けだよ。
612:nobodyさん
06/12/17 10:23:51
プ、プ、プギャープギャプギャプ♪
\ ププププギャプギャププギャプギャ/
♪ (^Д^) ♪
_m9 )>_ キュッキュ♪
/.◎。/◎。/|
<(^Д^)> | ̄ ̄ ̄ ̄ ̄| | ヽ(^Д^)ノ
) ) | |/ ノ ノ
(((( > ̄ > )))) <(^Д^)9m ((( < ̄< ))))
) )
((( > ̄ > ))))
613:nobodyさん
06/12/17 13:31:55
Tronが勝ち組
614:nobodyさん
06/12/19 03:53:23
PEARて重くなるだけじゃん
いわゆる手抜きでしょ
バカじゃねーの
しんでこい
615:nobodyさん
06/12/19 03:58:24
がんばれや
616:nobodyさん
06/12/19 06:55:14
軽くて使いやすいフレームワークって何?
617:nobodyさん
06/12/19 07:53:04
まさかAPCも使わずに重いとか言ってるんじゃ無いだろうな?
618:nobodyさん
06/12/19 09:06:47
APC 使ったぐらいで軽いとか言えるお前が羨ましいな
619:nobodyさん
06/12/19 09:27:00
APC重い。足の上に落としたことあるよ(T_T)
620:nobodyさん
06/12/19 09:38:14
えー!
621:nobodyさん
06/12/19 10:18:47
小指ぶつけたことがあるな。
622:nobodyさん
06/12/19 14:25:10
そういやそろそろバッテリ交換しないとなぁ……
623:nobodyさん
06/12/19 17:56:52 G+HsmUGP
QuickFormのcheckboxのvalueってどのようにして設定すればいいのでしょうか?
624:nobodyさん
06/12/19 18:28:48
>>623
「QuickFormのcheckboxのvalue」でぐぐる
625:nobodyさん
06/12/20 23:11:53
pearってセッション管理が楽になったりはしないね。
諦めて他の方法使います。
626:nobodyさん
06/12/21 00:46:59
PHPに最初から備わっているセッション管理機能ではダメ?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4346日前に更新/213 KB
担当:undef