【PHP】質問スレッドpart23【php】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
04/10/05 17:36:38ID:???・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-4
0002nobodyさん
04/10/05 17:36:51ID:???【PHP】質問スレッドpart22【php】
http://pc5.2ch.net/test/read.cgi/php/1095326257/
関連スレ
Pear
http://pc5.2ch.net/test/read.cgi/php/985665522/
【PHP】Smarty【Template】
http://pc5.2ch.net/test/read.cgi/php/1047225437/
0003nobodyさん
04/10/05 17:46:25ID:d6yyUuwZこのとおり、やってもALERT!ってでできます。php4.3.9、an httpd
cgiってほうとモジュール版両方やりました。どっちもできませ
forceなんとか=0って何回もやったけど無理でした。
windows xpですが、だれかわかる人いたら助けてください
Security Alert! The PHP CGI cannot be accessed directly.
This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.
For more information as to why this behaviour exists, see the manual page for CGI security.
For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit the manual page.
とでてきます
0004nobodyさん
04/10/05 18:02:32ID:d6yyUuwZの表示がでるようになりました・・
0006nobodyさん
04/10/05 18:21:52ID:xTnP4bvwPHPCGIバイナリは、force-cgi-redirectと一緒にコンパイルすることが可能になった。
この方法は(ry
0007nobodyさん
04/10/05 18:28:48ID:???http://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=Security+Alert%21+The+PHP+CGI+cannot+be+accessed+directly&lr=lang_ja
anhttpdのページでphpで検索
http://hpcgi1.nifty.com/yito/namazu.cgi?query=php&whence=0&max=30&result=normal&sort=field%3Atime%3Adescending
お好きな方をどうぞ。
0009nobodyさん
04/10/06 00:02:45ID:???自分でMVC作るのとどちらが簡単?
0010nobodyさん
04/10/06 00:18:38ID:???0011nobodyさん
04/10/06 00:46:18ID:???PEARって使ってないね
0013カポコン
04/10/06 01:12:01ID:???filetype:php
を付け加えるとよい。
0015nobodyさん
04/10/06 01:44:20ID:???Windows 標準エディタ『メモ帳』でも
UNIX 標準エディタ『vi』でも
MacOS 9 までの標準エディタ『Simple Text』でも扱える。
MacOS X は UNIX ベースだから vi が使えるので扱える。
というか扱えないエディタなんて使い物にならない
0016nobodyさん
04/10/06 01:54:54ID:???非常にアフォっぽいんだがw
0017nobodyさん
04/10/06 02:04:27ID:???0020nobodyさん
04/10/06 06:42:54ID:9EyLJckGhttp://www.entropy.ch/software/macosx/php/
ここのパッケージを使いました。
動いてはいるのですが、何故かエラーの表示が出ません。
エラーになったと思われる時は、空白のページが表示されます。
どうすればエラーを表示するようにできるでしょうか?
002120
04/10/06 06:55:25ID:???で解決しました。スミマセン。
どうもphp.iniを見るとセキュリティーのために
エラー表示をしないことが推奨されているような感じですね。
このパッケージの独自ポリシーなのか、PHP5がすべてそうなのかは
わかりませんが…
0022nobodyさん
04/10/06 10:29:19ID:???まあ、pear install DB すればいいだけなんですが、この辺の話はどっかに書いてあるんでしょうか。
0024nobodyさん
04/10/06 11:03:39ID:???しらね。PEARはPHP4の機能をフルに使ってるから、
PHP5になって動かなくなったライブラリは結構あるんだよね。
こういうことしてるやつとか $this =& $hoge 。
そのうち5番対応のもでるんじゃないの?と無責任な期待。
0025nobodyさん
04/10/06 11:15:47ID:???新しいのが出る予感がしないでもない。しかしPECLの方はあんまり気合入ってこんね。
0026nobodyさん
04/10/06 11:59:01ID:hWw/MMQHオートインデントがあるし、TABをスペース等に展開する機能もある。
インデントする時はTABで打ってても、保存時にはスペースに展開。
スペース連打してる人はさすがにいないと思うよ。
>>14
TABが使えるかどうかではなくて、
TABの幅が環境や設定によっては4だったり8だったりするのが問題なので、
スペースに展開してインデント幅を固定するのが目的。
PEARだと、/* vim: set expandtab tabstop=4 shiftwidth=4: */
というコメントが多くのファイルに記述されてるけど、
vi系のエディタだとTABをスペースに展開、TAB幅4 という設定を
ファイルを読み込んだ時に自動で設定してくれるはずだよ。
00273
04/10/06 12:28:34ID:GombbQA8cgi.force_redirect = 0にしますとページが見つかりませんってでてきます(汗
ここでエラーがでてくれないと本当にありがたいです。
00283
04/10/06 12:46:47ID:GombbQA8an httpdんほうで、実行プログラムの追加のとこでPATH_TRANSLATEDを使うにチェック
入れたら動作しました。10時間くらいインストールにかかってしまいました(;;)
情けないw&&申し訳ない
00293
04/10/06 12:51:45ID:GombbQA8そこにチェック入ってなかったんですよ〜(汗。そこのインストールガイド読んでしまったこと
が不運だった
0030nobodyさん
04/10/06 12:54:11ID:???0031nobodyさん
04/10/06 12:59:55ID:???http://www.dream-seed.com/image/anhttpd/anhttpd2.png
0032nobodyさん
04/10/06 13:04:35ID:???> 「実行プログラム」にc:\php\php.exe を指定します。あとは上といっしょ
0033nobodyさん
04/10/06 13:07:31ID:???そういうソースは配布されていないのでしょうか?
具体的には簡単なメッセージを更新して、新しい物が上にくる形です。
00353
04/10/06 13:15:15ID:GombbQA8それゎいえてますwけど、正直どこにエラーがあるか全くゎからなくて
php側にばっかり原因があるとおもってましたしw、ver4.3.9ゎ新しくなって
an httpdには対応してないのかなぁとか、自分のPCにウィルス入ったことあるから
そのせいかなぁとか、サーバー新しく入れても
必ずしもうまくいく保証がなかったので、とにかく暗中模索の状態だったんですよぅw
あのエラーの英語の意味もはっきりとゎわからなくて・・;;
何度もcgi.force_redirect = 0,1きりかえて考えてたんですw
0036nobodyさん
04/10/06 13:18:01ID:???なんだよ、結局手引きに書いてあるのをまともに読んでないだけの池沼か。
マニュアル読めない奴は何やってもダメ。害になるだけだから二度と来るなよ。
0038nobodyさん
04/10/06 13:27:33ID:???0039nobodyさん
04/10/06 13:27:56ID:???0040nobodyさん
04/10/06 13:30:05ID:???あんま単純なものは誰でもかけるから公開してないかもね。
ふつうの更新情報表示用のなら腐るほどころがってるけど。
>>36
のみならずエラーメッセージを読む気も、ゎからないことを検索して調べる気もないようです。
0041nobodyさん
04/10/06 13:54:10ID:???単純だからわざわざ公開する人がいないっていうより
手書きでやってもたいして労力変わらないからじゃない。
>>33だけだとどんなものを必要としているのかさっぱり分からんけど。
0042nobodyさん
04/10/06 14:17:12ID:???0043nobodyさん
04/10/06 14:34:26ID:L3DRi3rhhttp://www.jvcmusic.co.jp/m-serve/tsukuyomi/
004433
04/10/06 17:09:09ID:???ブログの一方方向のようなものを頭に描いています。
相手からのコメント等は必要ないので、こちらからの日記的な物を書いていくことで
古い記事は下になりカレンダーのように前の記事を閲覧することが出来るという感じです。
今までhtmlで1つ1つ加えていったのですが古い記事を
DB的な扱いで見る事が出来ず、しかも手動でずらしていくので大変でした。
0045nobodyさん
04/10/06 17:15:54ID:???そういうのを探しているのか、作りたいのかをはっきりしようよ。
作りたいなら、作ってみて分からないところをココで質問すればいいし
探してるならスレ違い
004633
04/10/06 17:21:24ID:???作ってみたいです。でも何からやればいいか分からないし、
45さんの態度が酷く気に入らないのでこのスレから出て行ってもらえませんか?
004733
04/10/06 17:23:43ID:???スミマセンでした。>>41でどんなものかと書かれていたので
レスしただけです。実際探しているのでスレ違いのようですね。
向こうで質問しなおします。どうも、ありがとうございました。
0050nobodyさん
04/10/06 17:59:54ID:???まあ作ってもらうより探した方が早いんじゃない?
昔ながらの日記・掲示板兼用スクリプトとか。
0052nobodyさん
04/10/06 18:05:15ID:???この流れ見たら>>46があなたじゃないのはわかるから、安心汁。
Web制作板のCGI探しスレに、いまは依頼者叩き・回答者叩きの両方が
棲みついてて荒んでるから気をつけてね。
0054nobodyさん
04/10/06 22:27:31ID:???0055nobodyさん
04/10/06 22:33:23ID:???0057nobodyさん
04/10/06 22:45:24ID:???0059nobodyさん
04/10/06 22:53:32ID:???PHP4とPHP5がよく似た別の言語みたいに言うのは止めてくれw
しかもなんでいまさらその質問
下位互換確保されまくり。いっそ全部整理しなおせよといいたいくらい
>PHP4とPHP5ってそんなに互換性ないの?
けど最近5で書くのになれつつあるのか、4ではどうだっけとなることがある
エラーと例外をスタティックにしようと思ってパブリックなプロパティを作ってたら、lintした時すげー怒られたりとか
こればかりは自分がやらにゃどうにもならんのですけどね
>>58
AはBに互換性があるけど、BはAに互換性がないってことが言いたいんでそ。phpで言うと、
4のソースは結構5で動くけど、5のソースは4じゃ動かないよってことだと思われ
おい、ちょっと待て。それは当たり前だ!!
0060nobodyさん
04/10/06 23:01:44ID:???PHP4とPHP5は互換性がないの?
⇒ YesかつNo
PHP4はPHP5と互換性がないの?
⇒ No
PHP5はPHP4と互換性がないの?
⇒ Yes
これでいい?
程度問題だけど、4のソースは大抵そのまま動いちゃう。
>>59
> いっそ全部整理しなおせよといいたいくらい
正直OOP周り、Zendエンジンのレストアと中の人のことだから、派手な印象はなかったねえ。
中途半端感ただよう4系に比べれば設計は楽できるようになったと思う。
0061nobodyさん
04/10/06 23:06:34ID:???0062nobodyさん
04/10/06 23:08:24ID:???手続き型で書いてる分には4も5も気にする必要はないな。どっちでも大抵動く。
PHPは突然変異的には変わらんのだが、いつもちょっとずつ変更来るんだよなあ。
メジャーバージョンうんぬんよりも枯れてないことのほうが遥かに手がかかる点だと思うのだが。
006563
04/10/06 23:14:18ID:???0067nobodyさん
04/10/06 23:34:13ID:???$result =& $db->query($sql);
$result = $db->query($sql);
上の二つはどう違うんですか?
=& ってよく見るんですが、どういった働きなんでしょうか?
だれか教えてー
0068nobodyさん
04/10/06 23:35:58ID:???http://jp.php.net/manual/ja/language.references.php
値をコピーしない時に使う
0069カポコン
04/10/07 03:06:16ID:???まーUMLで継承を汎化っていうのと同じようなもんか
0070カポコン
04/10/07 03:24:05ID:???変数にはポインタ型というものがあります。例えば $a = 255;
と宣言した場合、変数はメモリ上では アドレス:値 の順で保持される。
これに$a =& $b とした場合、$bは$aのアドレスを直接値に持つ変数に
なりますこれをポインタという。図と式で示すとこんな感じ。
変数 = 値 //変数名 アドレス:値
$a = 255; //$a 23400:0xff
$a =& $b //$b 23401:23400
$c =& $b //$c 23402:23401
$bはポインタ型で、$aの'アドレス'を保持しています。
$cもポインタ型で、$bの'アドレス'を保持しています。
ちなみに$cの事をポインタのポインタという言い方をします。
メモリにおける変数の構造が、アドレス:値である以上、
アドレスからその変数を探すのが手っ取り早いのです。
故にポインタ型や参照型を設置して、代入の頻度が高い変数のポインタ変数
を予め用意しておくとCPUが探しやすいんだけど
今はコンパイラやPHPの高バージョンでは、参照渡しって排除の方向だから
余り意識しなくても問題無いだろ、C覚える輩はともかく。
ただ、その分オブジェクト指向は強くなりすぎて参照型までついたらもうPHPは・・・w
0071nobodyさん
04/10/07 03:40:36ID:???自分のtxtに書き込むのはできるか、質問したものです。
勉強しまくって、ようやく取り込んでtxtに書き込みまで出来た。
後は文字列関数使ってなんとかなる見込みたった。
つうかさ、PHPマニュアル見難くて分かりにくすぎ。
色々探したら、もっと分かりやすい所あって
そこ参照してたら、すぐ出来た。
アホな質問をしたなと思ったけど、同時にマニュアルの糞さに腹が立った
0072nobodyさん
04/10/07 03:43:15ID:tqokV3dzなぜかHotmailに送ると迷惑メールフォルダ行き。
factoryはsmtpを指定
同じサーバからsendmailコマンドで送信するとふつーに送れる
ヘッダが悪いのかな〜と思い見てるけどよく分らず。
Message-Idとかがないのが問題なのかな・・・
誰か分る人います?
0073nobodyさん
04/10/07 03:44:28ID:???自分の脳の糞さに腹を立てた方がいい。
0074nobodyさん
04/10/07 03:46:47ID:???0075nobodyさん
04/10/07 03:53:32ID:???例えば、名前の知らない料理を出されて
これをそっくりそのまま作ってくださいと言われて
料理本100冊渡された感じ
何冊目にその料理があるのか、分からずに闇雲にページめくってる感覚に似てる
だんだん流れ読めてきたから、なんとなくあのマニュアルのよさが分かりつつあるけど
それでも無駄が多く感じる。
例えば各関数で使用頻度ベスト10くらいのをあげて
○○ ・・・××するタメのもの
とかにすれば見やすいのに、、、と思った。
0076nobodyさん
04/10/07 04:20:04ID:???> Message-Idとか
シラネ。RFCではつけることになってるからつけて見たら? ついでに他のも色々と。解決したらレポ希望。
>>75
そういうのはチュートリアルね。PHPオフィシャルのは個別の関数リファレンスと言語リファレンスですよ。
最初は、たとえば配列なんかは何にでも使えるのでコンテクストがないと何に使うのかわからねーよって
なりがちなんだよね。71のようにチュートリアル形式で目的別に集められた情報を探すってやりかたはアタリ。
ついでに言うと、関数リファレンスには「イントロダクション」のとこにXXするためのもってズバリ書いてあるよ。
関数の梗概文も基本的に動詞形式になってて、何が出来るのか把握しやすいようになってる。#phpに限らず
使用頻度で分けるのは面白そうだね。人や仕事内容次第だからどうやってレーティングするのか漏れには思
いつかんが、便利そうなので作ってみれ。
0077nobodyさん
04/10/07 04:28:36ID:???0078nobodyさん
04/10/07 04:55:09ID:???みればいいってだけ。チュートリアルが欲しくなったら、主要な関数のとこに一つの関数についてじゃなくて、
その項の関数を色々使った一連の流れを示すサンプルがあることがあるのでそれを探して見るといいよ。
fopenをみてファイルの開き方が分かったら、次は下の方にある関連項目を見てみる。すると、fread()とか
fwrite()なんていうのが見つかるというわけ。例えばだけど>>71のようなことがやりたいなら、http://www.php.net/fread
をみればネットワークに繋いでデータを取り出すまでが書いてあるし、fosockopen()へのリンクも一応ある。
ユーザーの投稿記事も参考になる。
ネットワークに繋ぎたい、ファイルを読みたい、更新状況を知りたい、データを保存したい、みたいにやりたいことを
明確にしておくとマニュアルはかなり引きすくなる。ほんで>>76が言うように、慣れてくると引けるようになってくると
いうのは、どんな手続きをやるのかってのがもうイメージできてるので、それにあった項目を引くだけになってるっ
てことなんだろうね。
手続きがどういう処理単位で書かかれるか分からないころは、まず何を探せばいいのかはっきりしない。だから、
やりたいことにあわせてマニュアルを引くんじゃなくて、まずマニュアルを引いてみてどんな手続きで実現するのか
ってことからやらなきゃいけない。不要な情報も大量に入ってくる。最初はファイルあつかうのにファイルポインタを
ラップしたものを使用するんだなんて想像もつかないしね。
こういうのって誰もがとおる道だと思う。
0079nobodyさん
04/10/07 05:03:07ID:???その通りだと思う
ただ、勉強で初めから分厚い本を選ぶ人はいないのと同じで
基本・中級レベルのをさらっと書いてあるのが好み
1行に効果
2〜5行で用例を載せたのが、頻度順で出てあるのがベスト
それだと、1項目につき5行で済むし。
0080nobodyさん
04/10/07 05:03:21ID:???PEAR MDB_Common::limitQuery()
が動きません。
mixed &limitQuery (string $query, array [$types], integer $from, integer $count)
第2引数の arrayは何を入れるんでつか?
0081nobodyさん
04/10/07 05:06:36ID:???入れてみたらphpMyAdminが問題なく動いてるし
おいらももう全面的に5に旅立ちます
0082nobodyさん
04/10/07 05:11:26ID:???世界のゴミ溜めことhotmailのフィルターは日進月歩だからねえ
ちゃんとした仕様把握してるのはM$とスパム屋だけだったりして
>>78
一応どこの言語のmanも工学的に考えられてて構成は同じだろ
phpが違うのは平易さだろうな。冗長に感じる部分もあるがコトバで説明されてるとことか
ソートやろうと思ったときphpはマニュアルから検索すればすぐにわかるが、
例えば初心者がCでやろうと思ったらどうだろう?
http://www.google.co.jp/search?&q=sort+search.c
0083nobodyさん
04/10/07 05:38:52ID:???動かんって言われてもしらんがな。
$typesとあるようにカラムの型。textとかtimestampとか。
エラー処理に使うだけだろうからSelectなんかとは関係ない。
NULLでいいよ。
0086nobodyさん
04/10/07 05:55:41ID:???読むべきもの・個所を誤るととんでもない時間の無駄になる
0088nobodyさん
04/10/07 07:15:08ID:???0089nobodyさん
04/10/07 07:56:52ID:???上手く使えない俺はプチリファレンスPHP4買って勉強した。
>>85みたいな謗りは免れないけど4.3以降対応なんで重宝したよ。
0090nobodyさん
04/10/07 09:26:47ID:???それぞれ分けて考えたほうがいいよ
皆が言ってる「よくできたマニュアル」はリファレンス。
初学者がよく欲しがるのはチュートリアル。
上で文句言ってる人が欲しがってるのはクックブック。
0091nobodyさん
04/10/07 09:32:39ID:???phpって文字列を数値に変換した場合0になるんじゃなかったっけ?
家の環境(4.3.4)で 'aaa' > 0 は folse になるけど、
レンタルサーバー(4.2.2)では true が返ってくる。
バージョンによって違うの?
0092nobodyさん
04/10/07 10:08:35ID:???0093nobodyさん
04/10/07 11:04:26ID:???$title='メールタイトル';
$content='メール本文';
以上2つの文字コードはEUC-JPです。
これをメール送信したいのです。
はじめそのままmail($e-mail, $title, $content);で送信したのですが、完全に文字化けしていました。
そこで、
$title = mb_convert_encoding($title, "SJIS", "EUC-JP");
$content = mb_convert_encoding($content, "SJIS", "EUC-JP");
として再度行いました。
すると、$contentの方はうまく表示されるのですが、$titleは相変わらず文字化けしたままです。
2つとも文字化けせずにメール送信できる方法がお分かりの方、どうかご教授いただけないでしょうか。
よろしくお願いします。
0097nobodyさん
04/10/07 12:54:04ID:???文字化けするから素直にmb_send_mail使うといいよ。
0098nobodyさん
04/10/07 14:25:31ID:???ereg()で使う正規表現で躓いています
検索したい文字列は\OW\で
$aaa = file ("./xxx.txt");
foreach($aaa as $bbb){
if(ereg("\\OW\\", $bbb)){
echo $bbb ;
echo "<br>";
}
}
上記の様に書いて実行したら
Warning: バックスラッシュの後 in /home/site〜
のようなワーニングが出ていました。
\は文字列として扱うのに\\と書くまではgoogleに教えてもらえたんですが
解決法を教えて下さい
0099nobodyさん
04/10/07 14:48:36ID:???0100nobodyさん
04/10/07 15:08:21ID:???ヒアドキュメントの中で式を評価させる
ことってできますか?
関数を呼び出したいんですが
0103nobodyさん
04/10/07 15:13:15ID:hyBgkm6Mできません
0104nobodyさん
04/10/07 15:20:36ID:???phpのparserが\をエスケープに使うから
>>100
> ヒアドキュメントは、2重引用符を使用しませんが、
> 2重引用符で括られた 文字列と全く同様に動作します。
0105nobodyさん
04/10/07 19:12:49ID:Q6Hyz1yaSQL Server(データベース)自体は自家サーバー上に設置してあり、このデータベースに
レンタルサーバー上にあるPHPページから接続してデータを処理したいのですが、
そもそもこれは可能でしょうか?
PHPマニュアルのサンプルコードを参考に
$conn=odbc_connect("DRIVER=SQL Server;SERVER=".$ser.";UID=".$user.";PWD=".$pass.";
DATABASE=".$db.";Address=".$ser.",1433","","");
という感じで接続を試みているのですが、
「S1090 文字列またはバッファの長さが無効です」というODBCエラーが出ます。
このエラーの意味するところがまた良くわからず閉口してます。
ちなみに自家サーバー上に実際に接続を行うPHPページを置いた場合は接続がうまくいきました。
今までACCESSのmdbファイルにodbc_connect()で直接接続していたのですが、
今回MS SQL Server経由で接続することになったため、そのままなんとかodbc_connect()で
接続しようとしてるんですが、mssql_connect()に切り替えれば済む話なのでしょうか?
どなたかお助け下さい!
0106nobodyさん
04/10/07 19:24:41ID:???そのまんまじゃ先ず無理。
レンタルサーバ屋に設定してもらう必要があるが、
そこまで顧客の要望を受け入れるクラスのサービスを借りてるの?
0107nobodyさん
04/10/07 19:34:54ID:Q6Hyz1ya書き込みありがとうございます。
レンタルサーバー会社にその辺の問い合わせをしてみます。
ちなみに通常、サーバー会社にはどういうことを設定してもらう必要があるんでしょうか??
SQL Serverをインストールしてもらう、とかでしょうか???
0108nobodyさん
04/10/07 20:03:39ID:????Windowsのサーバなの、借りてるのは。
サーバ屋にも、借りてるサービスの内容にもよる。
細かく設定について依頼をしないと駄目な場合と、
借りてるサーバで動いてるPHPから自宅のMS SQL-Serverに
ODBCで繋げたいから、そっち側の基本的な設定やってくれで済む場合もある。
インターネットを経由したリモートのDBMSから情報を引き出すって、
結構高度というかそれなりに必要があってやることだけど
PHPの動いてるWebサーバとDBMS間の通信のセキュリティとか考慮してる?
ただ今借りてるところでMS SQL-Serverが使えないって理由だけなら
使えるようにセットになったWindowsサーバのサービスを借り直した方が良いよ。
0109108
04/10/07 20:10:19ID:???簡単なのは自宅の方にWebサーバを立ててしまうことだ。
外のコンテンツから必要に応じて取り込んでもいいし、
全部自宅から出力してもよい。
0110nobodyさん
04/10/07 20:34:52ID:Q6Hyz1ya>>108
レスありがとうございました!
セキュリティに関しても気にはなっていたのですが、
108さんのおっしゃるように自家サーバーにデータベースに接続するページだけを
置いてレンタルサーバー上の他のページからリンクするようにすれば、
WEBサーバーとDBMS間の通信のセキュリティはとりあえず大丈夫!
ということでしょうか?
いろいろ聞いてすみません。はっきり言ってド素人なもので。。。
0111nobodyさん
04/10/07 20:36:04ID:Q6Hyz1ya108、109さん宛の間違いでした。
0112nobodyさん
04/10/07 20:49:09ID:???0113nobodyさん
04/10/07 20:59:45ID:kpmAjhNuhttp://tatsume.net/123456/
0114nobodyさん
04/10/07 21:07:21ID:???問題は自宅側だろ?
自宅のMS SQL-ServerはちゃんとODBCの外部接続はできるように
してあるんだろうな?
0115nobodyさん
04/10/07 21:25:53ID:???単純に繋ぐとそれもダダもれなんで、自己認証でもいいからHTTPSで喋る
ようにするとか工夫しないと充分とは言えないと思う。
最もセキュリティは扱う情報のレベルの応じて考えるものなんで、
そんなことは不要かもしれないし、そもそもWebサーバから
読めるようにしてはいけないのかも知れない。
ド素人だったら全部込みでセキュリティ関係の設定も
考慮されてるサービス選ぶのが最適解だと思うよ。
共有サーバなんて危なくて使えネェぐらいと言えるぐらいの
知識を付けた賢い客になるべきで、賢い技術者になる必要はない。
0116nobodyさん
04/10/07 21:45:38ID:eGrZpUzkやっぱC言語風に「"」ですか?
0118nobodyさん
04/10/07 21:52:17ID:???>そんなことは不要かもしれないし、そもそもWebサーバから
>読めるようにしてはいけないのかも知れない。
そんなんじゃ、Webアプリの価値なんてなくなるよ。
必要なら、Webサーバ-DBサーバ間を暗号化すればいいじゃない。
まあ、セキュリティのみに関して言えば、共用サーバという時点で
論外だけどな。
0120nobodyさん
04/10/07 22:13:38ID:???いや、Webアプリの価値は開発から運用まで巷のツールなどが利用できること。
そこで言いたいのは、VPNとかの採用を考慮すべきで情報の内容ではないのかってこと。
0122nobodyさん
04/10/07 23:09:19ID:YIBUt39D>必要なら、Webサーバ-DBサーバ間を暗号化すればいいじゃない。
話が高次元になったところですみませんが、この暗号化は実際にはどうすればできますか?
PHPの関数でcryptみたいなものを使うのでしょうか?
サーバーを適切なところに変えるのが一番安全なのかもしれませんが、
理由あって変えないで済むならなんとか方法を探したいと思っており。。。
012398
04/10/07 23:40:46ID:???レスありがとうございました
【php パーサ バックスラッシュ エスケープ】でぐぐったら
http://php.s3.to/man/ref.info.html
がかかりました。
DB側でなくphp側でエスケープ処理がかかってたんですね。
で、
phpinfoのmagic_quotes_gpc,magic_quotes_runtime,magic_quotes_sybase
はLocal、Masterとも全部Offになっていましたが
それでもエスケープしてしまうものでしょうか?
マニュアルはOnの時にエスケープ処理が入るとありましたが
他にも関係する設定箇所があるのでしょうか?
0127nobodyさん
04/10/07 23:57:13ID:???http://pc5.2ch.net/test/read.cgi/php/1095633323/l50
0128118
04/10/08 00:03:08ID:???>105がどういう内容のアプリを作ってるのか知らんから適当に言うが、
VPNは外部公開せずに拠点間をネットワークで繋ぐエクストラネットだろ?
今回はそういう話じゃないと思うんだがな。
VPNの導入だってめんどくさいし。freeのでなけりゃコストもかかるし。
>>122
phpの関数レベルじゃできないと思うよ。
OpenSSL、OpenSSHのSSHポートフォワーディングでいけるが、
共用サーバなので、root権限を使った設定は無理だろうな・・・。
ということで、どこまでのセキュリティを確保したいかで、
変わってくるけど、その共有サーバでは無理かもよ?
0129nobodyさん
04/10/08 00:17:17ID:???本当に理解してないから、すぐ言えないんだよね
感覚でしか覚えてないから。
0130nobodyさん
04/10/08 00:30:25ID:???>>126が正解だけど、使い分けに関しては慣れだね。
俺の場合は連想配列のキーや文字列リテラルは「'」で
シーケルは「"」で括るのが個人的に見やすいと思ってそうしている。
もちろん、改行・インデント・コメントの三大マナーをきっちりやった上でね。
0132nobodyさん
04/10/08 00:57:34ID:???マニュアルも読めないほど日本語不自由な人は別としても。
0133nobodyさん
04/10/08 01:04:06ID:???パパ「百科事典嫁」
↑ドラえもんでのネタ
0134nobodyさん
04/10/08 01:12:58ID:???痛いところを突かれたからって、いちいちレスするな。見苦しい。
熟練者ならどんな些細な質問にも初心者が一番理解しやすい方法で回答できる。
0135nobodyさん
04/10/08 01:13:57ID:???0136nobodyさん
04/10/08 01:15:57ID:???それは君が実装方法を丸暗記しているだけで概念も含めた総論として
その解決方法を理解できていないからではないかね?
0137nobodyさん
04/10/08 01:18:56ID:???この世界には>>136で挙げたような「なんちゃって習得者」がいかに多いことか。
いいかげんPGはコーディングできる技能を"特別な技能"だとする思い上がりを捨てるべきだ。
0138nobodyさん
04/10/08 01:20:10ID:h9hTVebP0139nobodyさん
04/10/08 01:20:57ID:???少なくとも俺は自分のことを"エンジニア"とは称さない。
0140nobodyさん
04/10/08 01:23:57ID:???SEだからね。
0141nobodyさん
04/10/08 02:20:58ID:???それは同意だが、マニュアル嫁はとても良い回答だと思うよ。
俺は家電のマニュアルもちゃんと読む。、
0142nobodyさん
04/10/08 03:12:11ID:Gf9YwG4zいざ出力されたhtmlを見るとげんなりする。
みなさんどうしてますか?
0143nobodyさん
04/10/08 03:14:19ID:???HTMLのインデント?
0144nobodyさん
04/10/08 03:22:19ID:???0145142
04/10/08 03:22:43ID:???0146nobodyさん
04/10/08 03:23:16ID:???0147142
04/10/08 03:26:59ID:???0149nobodyさん
04/10/08 03:35:38ID:???出力されるhtml(と解釈されるテキスト)には、
インデントはおろか改行すら入れないようにしている。
どうせデバッグの時しか見ない、転送量の削減等の理由で
よく動的に生成されるページでコメントとか入っているのがあるが
あれはデザイナ向けか?
0150nobodyさん
04/10/08 03:36:20ID:???0151142
04/10/08 03:38:21ID:???デバッグ終わったら整形してうpすりゃいいってことか。
何もそのまま使うことはないのか…おれの馬鹿
0152nobodyさん
04/10/08 03:51:51ID:???調べてみたらmb_を使えばいいと出てるが、
設定しなきゃいけないらしい
指示通り設定したら、こんどは何か足りないと注意された。
分かりにくすぎだろ〜これ・・・・
0153nobodyさん
04/10/08 03:53:40ID:???ちゃんと設定できてるよ
0154nobodyさん
04/10/08 03:58:39ID:???質問スレが隔離効果を狙って立てられているのは知っているつもりだが、
ごく普通のPHPの疑問を解決するスレが欲しいユーザはきっと漏れだけじゃないはず。
そこで問題になるのがスレタイなのだが。
聞いてばっかりになりがちな「質問スレ」というのは止めにして、
お互い問題を提出して有益な情報を出し合えるようなものにしたいところ。
言葉にするとしゃらくさいものに思えるかもしれないが、そういうものが必要だ。
しかしCommonGatewayInterfaceスレのように廃墟になるのはごめんだし、
PHPト学会スレじゃなんのことかさっぱりだ。何かハッとするようなブレイクスルーを
持っている人はいないかい。
0155nobodyさん
04/10/08 04:03:27ID:???回答者がスレのレベルを決めてどうするんだ
最終的には難しい質問しか書けなくなって、誰も答えられない
自慢大会みたいなスレにならない?
---------------
まぁ初心者スレがないから、ココに書いてるのもあるけど。
0156nobodyさん
04/10/08 04:17:30ID:???> 自慢大会みたいなスレにならない
初心者スレと別れていたころがあるが、そうはならなかった。
なぜ今後そうなると考えているのか理由もかいてくれないと何とも判断のしようがない。
このスレッドはあっていいんだ。"と'の違いや=&、&$が何か、「設定ができない」とだけ
書いてあって救いようの無いレスを打ち合うスレがあるのは否定しない。
けれども最低限マニュアルを読み、テストをする姿勢を要求するスレッドがあっても
いいんじゃないだろうか。その上で自己解決困難な問題について議論してみたら、
有意義な結果が得られることにならないだろうか。別にソースハックを当然のように
要求するスレッドを作りたいわけではない。
読んでくれなかったようだが、「ごく普通のPHPの疑問を解決するスレ」が一本あって
いいんじゃなかろうか、という程度の話だ。大げさに考えることは無い。
0157nobodyさん
04/10/08 04:26:15ID:???調べずに聞いてもいい・簡単なことを聞くのは恥じゃない
となったあたりから、うんざりする質問が増えてきて
スキルのある人は出て行ってしまった感がある。
汎用的なスレや板ほど、何でも書けるせいかダメになりやすい。
あまり伸びず情報もさして出てこないような個別スレのほうが
まともなまま生き残る。どっかで分けなきゃいけない気もするね。
0158nobodyさん
04/10/08 04:30:58ID:???質問者どころか回答者も使い分けれないって事で
また合体したじゃん。
放置とかスルーとかできるほど民度が高くないから
分けても無駄無駄。
0159nobodyさん
04/10/08 04:31:38ID:???変数以外にも、エスケープシーケンスも展開されない。
>>124
使い分けに関しては、変数などの展開が必要ならば「"」不要なら「'」
文字列リテラルに「$"\」などの記号を多く含む場合は「'」程度かな。
必然的に>>130に近い使い分けになると思う。
>>142
テンプレートを使ってるよ。
0160nobodyさん
04/10/08 04:32:28ID:???初心者スレもあったけど、初心者スレとPHP質問スレを
分けて使ってくれないんで無駄つーことで合体したんじゃなかったっけ
マニュアル読まない>>1読まないエラー読まないってな人は初心者スレを作ってあげても
住み分けてくれない罠
0163nobodyさん
04/10/08 04:36:48ID:???またバカなこと書いたと反省した(・∀・)
0164157
04/10/08 04:39:41ID:???んでそ。そういうことじゃなくてさ。「質問」のためのス
レッドじゃ上手くいかないから別用途でってことね。
レベル分け無理ってのは同意。
016698
04/10/08 09:28:37ID:???何回かこの板で質問させてもらった98ですが、
スクリプト改造スレみたいに【希望するレスの形】別なんてどうでしょう?
自分がつまずきレベルを考えたら3種類あって
【1、マニュアルの該当しそうな所が予想つく→マニュアル読む】
【2、マニュアルのどこに該当するのか見当つかない→キーワードでぐぐる】
【3、なにでぐぐっていいのかすらわからない】
くらいに大別できるかなと思うので3番目は論外にせよ
ヒントをくれるスレ、マニュアルのどこそこに該当するからそこ嫁、なんて
2番目の状態でぐぐっても何もなかった時に質問できるスレがあったらいいなぁ
なんて思います
長文スマソ
0167nobodyさん
04/10/08 09:31:09ID:wO90jo1Vset_file_buffer($log, 0);
flock($log, LOCK_EX);
$kiroku = file(log.dat);
処理
rewind($log);
ftruncate($log, 0);
fputs($log, 処理の結果);
flock($log, LOCK_UN);
fclose($log);
排他ロックはこれでOK?
0170167
04/10/08 10:27:11ID:???0171nobodyさん
04/10/08 13:21:18ID:???自動巡回&切り出しソフトとかで切り出すのに重宝するよね。
>>167,170
if (!flock($log, LOCK_EX)){ echo"ロックに失敗しました"; }
else {処理;}
とかいう突っ込みをしてみる。
0172nobodyさん
04/10/08 13:45:17ID:???phpアプリを実行することはできますか?
0173nobodyさん
04/10/08 13:52:52ID:???0174nobodyさん
04/10/08 13:55:25ID:???環境とコードによるけど、セーフモードつったって只のIDチェックでしょ?
http://jp.php.net/manual/ja/features.safe-mode.php#ini.sect.safe-mode
0175nobodyさん
04/10/08 17:43:50ID:???0176159
04/10/08 18:11:51ID:???'/''のエスケープは有効だったね。
>>152 は、(マニュアル通り) *特殊文字の*エスケープシーケンスに訂正します。
>>165 フォローthx u
0177nobodyさん
04/10/08 19:08:16ID:EsMqKh23以下のようにやってもうまくいきません。
例えば10月の分は全部syori2に行き11月の分はsyori1になります。
どっか間違っていますでしょうか?
if(date("Y/m/j")<date("Y/m/j",mktime(0,0,0,$month,$day,$year))){
syori1
}else{
syori2
}
0179nobodyさん
04/10/08 21:13:17ID:???http://jp2.php.net/manual/ja/function.strtotime.php
0180nobodyさん
04/10/08 21:17:26ID:???0181nobodyさん
04/10/08 21:21:51ID:???mb関数はバグがあるからちゃんと返却値を確認しつつ使う必要があるよ。
例えば、mb_convert_kana()などは、全角スペース→半角スペースの変換ができないから
preg_replace()なんかで受ける必要があったりとか。
>>177
なぜ数値として比較したいのに「/」を入れて文字列にしてるのかと小一時間(w
0182179
04/10/08 21:24:55ID:???よく読んだら
【10月の分は全部syori2に行き11月の分はsyori1になります。】
これが望んでいる動作なのか望まないのに
そのように動作しているのかすらわからなかったorz
0183nobodyさん
04/10/08 22:42:04ID:???その場合の質問もこちらでいいのでしょうか?
ギャラリー系のPHPスクリプトでPHP4.0.6/DB無し/ImageMagik・NetPBT(?)無しのサーバーで
ブラウザからUpload出来、自動リサイズ可能で各画像/アルバムのDiscriptionの編集が効くようなスクリプトはご存じないでしょうか?
注文が多くてスミマセン。
0184183
04/10/08 22:42:32ID:Us1p5CHjageるのを忘れていました。
0185nobodyさん
04/10/08 22:48:39ID:???危うく同じ過ちを犯すとこだったよ <-- if ($month == 10) と書こうとしてた
>>177
とりあえず、"Y/m/j"の場合は、桁数が可変なのでこれを固定長にする。
その前に日付フォーマット文字の(j)は"分"なんだけど、比較したいのは"日"(d) なんじゃないかな?
0186185
04/10/08 22:55:59ID:???> 日付フォーマット文字の(j)は"分"
ごめん、勘違いしてた.
> j ... 日。先頭にゼロをつけない。1 から 31
> d ... 日。二桁の数字(先頭にゼロがつく場合も)01 から 31
0188nobodyさん
04/10/09 00:02:04ID:???Web製作板のほうにCGI探しスレがあるんでそっちで。こっちは自分で作る板。
向こうアホが張り付いて荒らしてるんで心して行った方がいいよ。
0189カポコン
04/10/09 00:36:55ID:???PHPではポインタの中身は見れないんだよな〜。
見たいなー見たいなー、見れる方法あればきぼんなんだな〜。
<?php
$a = 0xff;
$b =& $a;
echo(printf("%p",$b));
?>
とかじゃー、出ないし・・・orz。
0190nobodyさん
04/10/09 00:44:57ID:???期待してるんだからもっと勉強しろよ。
0191nobodyさん
04/10/09 00:47:07ID:???0192nobodyさん
04/10/09 00:50:51ID:???0193nobodyさん
04/10/09 01:42:07ID:???0195nobodyさん
04/10/09 01:55:11ID:???0198nobodyさん
04/10/09 02:24:49ID:???0199nobodyさん
04/10/09 03:50:28ID:???0200199
04/10/09 03:52:38ID:???0201nobodyさん
04/10/09 05:23:42ID:???4のスタイルで書いた方が面倒くさくなくていいかも。
0202nobodyさん
04/10/09 05:33:48ID:???にもたせないといけなかったりオブジェクトは必ず変数にしまう必要があったり等々で
4のオブジェクトはめんどい。んでE_STRICTでとんでもないことに。
もちろん自分で使う分にはいいんだけど。
0203nobodyさん
04/10/09 06:26:47ID:Iitzl1Oaapache2.0.52
php5.0.2をインストールしてapacheを再起動すると下記のようなエラーがでますが、
何のバージョンをあげればいいのでしょうか?
mod_php.cで20020628のファイルなんて見あたらないのですが・・・
-----------------------
# /usr/sbin/httpd -k restart
>httpd: module "/home2/Download/php-5.0.2/sapi/apache2handler/mod_php5.c" is not compatible with this version of Apache (found 200
>20628, need 20020903).
>Please contact the vendor for the correct version.
0204nobodyさん
04/10/09 12:32:31ID:KzxQhnSEfunction hoge($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k) {
処理;
}
みたいな引数が多い自作関数てやめたほうがいいですか?
なんかごちゃごちゃして分かりにくいきがするのですが。
皆さんは自作関数の引数はどれくらい持たせるのでしょうか?
0206nobodyさん
04/10/09 12:38:46ID:JKfj4SS6てか、何故にそんなに引数いるねん。
多分どっか無駄があると思うで。
0207204
04/10/09 12:44:30ID:???>>206
204の例はちょっと極端でした・・・
今までは引数が2,3こくらいしか扱ったことが無くて、
今回いきなり引数が6つくらいあるのです。
だからあまり多い引数の関数に慣れていないというか。
引数6つって普通でしょうか?
0209nobodyさん
04/10/09 12:49:41ID:???なんだかすごい響きが間抜けな気がするんだが。ホゲ!
0210nobodyさん
04/10/09 13:19:41ID:???0211nobodyさん
04/10/09 14:22:32ID:???6つ全部が本当に必要なパラメータなら引数にとるしかない。
しかし引数が多い場合は大抵、関数の設計に問題がある。
関数の行数が長すぎたり、ひとつの関数のなかで複数の目的を
果たそうとしていたり、引数のフラグ値によって処理を切り替え
たりしていたら、危険信号。
少し古い本だが、「CODE COMPLETE」には引数はおおむね7個
以下に抑えるべきだと書いてある。
0212nobodyさん
04/10/09 14:30:53ID:???連想配列やデフォ値の設定をうまく使ったほうがいいんじゃないかい?
function rect($options)
{
.....
}
$options = array(
'color'=>'blue',
'width'=>60,
'height'=>100,
);
rect($options);
0213nobodyさん
04/10/09 14:39:11ID:80FyrwRsいつも最初悩むんです。
設定ファイルをどこに置くとか、設定ファイルやライブラリへのパスは相対パスにするか
絶対パスにするかとか include_path にいれちゃうとか。
smartyのテンプレートをどこに置くとか、compile_dir をどこにするとか。
レンタルサーバーで 全部public_htmlの中にいれなくてはいけなかったりとか
いろいろ環境によって違うので悩みます。
漏れはこうしてるぜ!ってのあったら教えてください。
0214203
04/10/09 14:57:11ID:Iitzl1Oa0215nobodyさん
04/10/09 15:04:30ID:WliLpyVqこんな感じのPHPないでしょうか
0216nobodyさん
04/10/09 15:17:04ID:???>>188
>>213
PHPでなくてもいいからフレームワーク弄ってみたら。
ドキュメントルート下に全てを置くような制約があるなら、
もう全て諦めて適当においても良いくらいの状況。
0217nobodyさん
04/10/09 15:31:59ID:???0218nobodyさん
04/10/09 17:16:40ID:???0219nobodyさん
04/10/09 17:22:33ID:???0220nobodyさん
04/10/09 17:25:51ID:???レクチャーしてほしいんだが・・・
0223nobodyさん
04/10/09 18:17:17ID:???http://www.php.net/manual/ja/language.references.php
> これはCポインタのようなものではなく ...
0226nobodyさん
04/10/09 19:49:02ID:???要するに、Cのポインタは ポインタ側にその構造(intなのかcharなのか等)を保持しているけど
PHPの参照(リファレンス)はその情報すらもヒープかそれに相当する部分にあり
参照に使う変数はもとの変数やオブジェクトのエイリアスとしてしか機能しない
ということね
0227nobodyさん
04/10/09 20:17:56ID:???いちいちfopenして書いたりするのと
system("echo $hoge >> file"); とか書いちゃうのと
どっちがダサい?
0228nobodyさん
04/10/09 21:47:59ID:???> Cのポインタは ポインタ側にその構造(intなのかcharなのか等)を保持している
してねーよ。Cのポインタはただのアドレス値。
型はコンパイラが知ってるだけ。
> 参照に使う変数はもとの変数やオブジェクトのエイリアス
シンボルテーブルのエイリアスって書いてあるから
変数の別名を作れるだけでヒープ上のオブジェクトの参照は作れないだろ。
0229nobodyさん
04/10/09 22:09:46ID:???>型はコンパイラが知ってるだけ
わかってるよ。便宜上そう書いただけ。
インクリメント等の挙動はポインタ側で決定されるでしょ。
0230nobodyさん
04/10/09 22:32:30ID:???http://drtykjsrt.ifdef.jp/ncndkdjany.html
0231nobodyさん
04/10/09 22:33:31ID:???PHPスレだから、Cのコンパイラの実装方法なんてどうでもいいよ。
ポインタ型がインクリメントを適切に扱えればCを使う人にはそれ以上気にする必要が無い。
同様にPHPを使う人は、PHPにポインタが無いことと
ポインタ型の概念を持ち込むことは無意味だということを知っていさえすれば良い。
0233nobodyさん
04/10/09 23:26:42ID:???hoge&fuga文化って何ですか?
検索してもサンプルの山に埋もれて出典が発見できませんでした
0234nobodyさん
04/10/09 23:30:28ID:???このページが参考になるかも知れません。
ほげを考えるページ
http://kmaebashi.com/programmer/hoge.html
0235nobodyさん
04/10/09 23:32:43ID:???0236nobodyさん
04/10/09 23:33:11ID:???ありがとうございました。
まさかとは思っていましたが「ほげ〜」のほげだったとは…
0237nobodyさん
04/10/10 01:31:38ID:???0238nobodyさん
04/10/10 02:34:08ID:???0239にゃんこ
04/10/10 02:34:10ID:DhJ+i6pZちょっと探しもの中です。
テキストカウンターで昨日・今日・合計が表示されるやつで
ちょっとやそっとじゃ、飛ばないカウンターを探しています。
バックアップ機能がついてると、さらに嬉しいのですが・・・
残念ながら、
ttp://php.s3.to/
さんの昨日今日カウンターは、すぐに飛びました。。。。 (ToT)
アクセス多くても、あんまり飛ばないよ!っていうのを知ってる方、
ぜひ教えてください。宜しくお願い致します。
0242nobodyさん
04/10/10 03:01:29ID:???【PHP】質問スレッド Part14
http://pc2.2ch.net/test/read.cgi/php/1076163015/401-
0243nobodyさん
04/10/10 08:00:23ID:6dJYwntE無限数を表現する記号かなんかってありますか?
$hoge=200;
if($a==$b){
$hoge=∞; ←ココ(無限大マーク)
}
while($hoge > 100){
//処理
}
みたいな感じで書きたいんです。
それがあれば簡単に修正できるんですが…。
ちなみに単純に、
while($hoge > 100 || $a==$b)
って書き方したら「あるいは$a==$b」の部分は無視されて、
最初の「$hoge > 100 」の部分がfalseになった時点でループが終了してしまいました。
while文ってそーゆーもんなんですね…。
0244nobodyさん
04/10/10 08:00:46ID:iO0fDOFWこの(B)って、自分で破棄しなくていいんでしょうか?
メモリーリークの原因になったりはしませんよね?
0245243
04/10/10 08:05:55ID:6dJYwntEすいません。
0248nobodyさん
04/10/10 19:04:14ID:TR7Uhe7OPHP Accelerator v1.3.3r2
MEMORY:160MB
上記の環境で使用しているのですが、apacheのログに時々次のようなメッセージが記録されます。
[warn-phpa] No mempool 2 memory (pid xxxx)
[notice-phpa] shm cache temporarily disabled (pid xxxx)
'phpa_cache_admin -mv'を実行すると'cache disabled'と表示されるため、
毎回手動でキャッシュを有効にしているのですが、他に解決方法はあるでしょうか。
0249nobodyさん
04/10/10 20:15:52ID:???while文は関係ない
||演算子は OR 論理演算子
A || B
という式があった場合
Aが真である限り、Bは評価(実行)されない
0250nobodyさん
04/10/10 21:29:41ID:???ん?評価されないのか!
これはまた一つ勉強になった!ありがとう。
ってことは
真 || func()
とかやってもfunc()は実行もされないと解釈していいのかな?
0251nobodyさん
04/10/10 21:32:26ID:???0252nobodyさん
04/10/10 21:39:25ID:???0253249
04/10/10 21:47:04ID:???A || B は AまたはB が真である場合に真となる
左辺値から順に評価を行い、結果が真であった時点で
論理演算の結果を真として、その右辺値以降の評価は行わない
(問1)
$a = 0;
if ($a == 0 || ++$a == 1) ++$a;
echo $a;
(問2)
$a = 0;
while ($a < 4 || $a % 2 == 0) ++$a;
echo $a;
練習問題でもやって覚えんさい
適当な問題ですまんけど
0255250
04/10/10 22:19:55ID:???ってかそんなことも考えずに使ってました orz
>>253,254
分かりやすい解説&ヒントありがたいです。
0256248
04/10/10 23:15:25ID:???デナオシテキマス
0257nobodyさん
04/10/10 23:57:46ID:???てか、それだけだとPHPの問題かどうかすらも分からんです。
OSのヴァージョンから洗いなおしたほうが良いのではないっすかね?
メッセージからしてアロケートエラーの類ではないかと思えますし。
0258nobodyさん
04/10/11 00:01:29ID:???0259nobodyさん
04/10/11 02:43:49ID:???Smarty使えば?
http://smarty.php.net/
日本語マニュアルあるから、安心しる!
0260nobodyさん
04/10/11 04:42:24ID:???0261
04/10/11 04:42:47ID:CqR/mj9nローカルフォルダのイメージフォルダに画像は保存されている
のですが、 x印になります。
どの画像掲示板スクリプトを使っても、そういう症状になります。
ちなみに、PNG画像カウンタなどは正常に数字画像が表示されます。
CGIスクリプトのイメージの設定は以下のようにしました。
$ImgUrl = "http://localhost/cgi-bin/clip/img/";
それと、直接画像にアクセスしようと以下のURLを入力したの
ですが、Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
と出ます。
http://localhost/cgi-bin/clip/img/4.png
使用ソフトは、Apache/2.0.52 PHP/4.3.9 ActivePerl-5.8.4.810
です。
httpd.confかphp.iniが問題だと思うのですが、アパッチかPerlの設定のどこを直せばよろしいでしょうか?
教えてください。
0263
04/10/11 05:16:21ID:CqR/mj9n自宅のパソコンのローカルホストのURLです。
インターネット用のURLではありませんで、何の汎用性もありません。
0264nobodyさん
04/10/11 05:38:49ID:???http://acorn.zive.net/~oyaji/faq/apache_cgi5.htm
0265nobodyさん
04/10/11 05:40:20ID:???>>261
症状からして板違い
原因が何か分かってりゃ該当する板(スレ)へたどり着けると思うが、
それすら出来ないならもっと基本的なところから始めたほうがいい
↓
http://www.google.co.jp/
0268nobodyさん
04/10/11 06:00:16ID:???0269nobodyさん
04/10/11 06:45:52ID:CqR/mj9nありがとうございます。
リンク先の3番目の方法を試しましたがうまくいきません。
<Directory "C:/Program Files/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
AddHandler image/gif .gif
AddHandler image/jpeg .jpeg .jpg .jpe
AddHandler image/png .png
</Directory>
どうしてでしょうか?
0271269
04/10/11 07:29:54ID:CqR/mj9nURLも変更しましたがダメでした。
$img_dir_url='http://localhost/img-box/';
PHPスクリプトはちゃんと画像が投稿、表示ができるのになぜでしょうか?
0272269
04/10/11 07:58:55ID:CqR/mj9nhttp://moelove.sytes.net/cgi-bin/clip/clip.cgi
pngアクセスカウンタはログもちゃんと動くのですが、スクリプトと
アパッチなどの相性が悪いのでしょうか?
いろんなサイトの画像掲示板を使っても画像が表示されませんでした。
http://moelove.sytes.net/cgi-bin/pngcntr/pngcntr.cgi?logfile
0273nobodyさん
04/10/11 08:31:01ID:???画像だけにアクセスしてもInternal Server Errorがでてるよ。
http://moelove.sytes.net/cgi-bin/clip/img/soon.gif
あとソースみたらさ、
http://localhost/って画像のパス指定してるから、外部から
ローカル参照させて見えるわけない。
相対パスで指定するとかしないと。
0274273
04/10/11 08:31:45ID:???<dd>
<p><img src="http://localhost/cgi-bin/clip/img/soon.gif"><p>
<font color="">test</font><br><br clear=all>
<dt><hr>[<b>2</b>] <font color="#008040"><b>テスト</b></font> 投稿者:<b>ななし</b> 投稿日:2004/10/11(Mon) 04:41 [<a href="./clip.cgi?res=2">返信</a>] <br><br>
<dd>
0275nobodyさん
04/10/11 08:39:00ID:???027745
04/10/11 08:47:01ID:???だから、自宅ではそれでいいのです。
CGIをネットで見せる時は、ドメインサーバによってttp://localhostが
ttp://moelove.sytes.netに自動変換されるのです。
0279nobodyさん
04/10/11 08:49:36ID:???028145
04/10/11 09:06:51ID:???でも、画像を直リンしてもcgi-binディレクトリの下では
ローカルでもネット上でも見れないのです。
http://moelove.sytes.net/cgi-bin/clip/img/soon.gif
localhostディレクトリに直接置けば見れますが、
アパッチのhttpd.confでcgi-binディレクトリ以下で
CGIが動くようになってますので、localhostディレクトリ
に直にフォルダを置いて、下のようにCGIの設定をしても、
$img_dir = '/localhost/img-box';
$img_url ='/localhost/img-box';
HTMLを吐き出す時に、
http://localhost/cgi-bin/img-box/img20041010232143.jpg
のように、cgi-bin/が余計に付いてきます。
0282nobodyさん
04/10/11 09:11:50ID:???PHPがCGIでサーバにインストールされているときは
モジュールの時と同様にPEARがつかえますか?
0285nobodyさん
04/10/11 09:18:09ID:???とりあえず directry 指定は最後にスラッシュ入れた方がいいとして、
リスタートしてないとかそういう話じゃないよな?
028745
04/10/11 09:24:33ID:???絶対パス以前に、普通に画像に直リンしても見れないんです。
ローカル、ネット上を問わず。
画像自体は決して見れない設定になってませんし、アパッチと
パールの設定の問題だと思うのですが。
>>285
リスタートはちゃんとしてます。
0288nobodyさん
04/10/11 09:30:22ID:???画像をそのフォルダにcgi通さずに置いてもみれないの?
だとしたらapacheの問題。もしくは両方悪い場合もあるかもだけど。
もしそれで見えるならcgiの問題
0289288
04/10/11 09:56:22ID:???直接コピーして置いても見れません。
http://moelove.sytes.net/cgi-bin/clip/img/8a2b5a5e24fd380f22.jpg
PHPは問題なく画像が表示できるのですが、CGIをやりたいので。。
http://moelove.sytes.net/home/futaba.php
0292nobodyさん
04/10/11 10:10:10ID:???dl('php_win32std');
win_message_box('試せよ。エラーが出たなら書けよ。使えないと思うなら理由を書けよ。');
0293nobodyさん
04/10/11 10:30:09ID:???| PHP. |
├───────────────┤
|試せよエラーが出たなら書けよ ..|
|使えないと思うなら理由を書けよ ..|
|分かったらOKを押してもいいぞ .|
| ┌───┐ |
| | OK.. | |
| └───┘ |
| |
└───────────────┘
|| ̄ Λ_Λ
||_(Д`; ) 「キビスィ・・・」
\⊂´ )
( ┳'
0296nobodyさん
04/10/11 13:05:57ID:???0297nobodyさん
04/10/11 15:55:41ID:???余所でやってくれ
0298nobodyさん
04/10/11 17:28:46ID:???その関数名を文字列で渡さないといけないんだね。
ぶっちゃけ屑だな。
0299nobodyさん
04/10/11 17:37:26ID:???0300nobodyさん
04/10/11 18:42:33ID:???grepに渡す関数でスコープ内の変数参照したいとか?
それだったらcreate_functionで無名関数作れるけど。
0301nobodyさん
04/10/11 23:37:57ID:???echo "<table><tr>";
if($dh = opendir($dir)){
while(($file = readdir($dh)) !== false){
$link = $dir.$file;
$size = @getimagesize($link);
if(eregi("\.(gif|jpe?g|png|bmp)$",$link)) echo "<td><img src=$link width=".$size[0]." height=".$size[1]."></td>";
}
closedir($dh);
}
echo "</tr></table>";
これだと $link をすべて一行で表示してしまうので
10個単位(もしくは $link 全数が割り切れる数)で行を追加したい。
けどできない・・・
count() で除算しても何故か一つのセルで一行になってしまうのです。
やり方が悪いのか、思惑通りにならないよ〜〜〜
(´・ω・`)ヘルプミ
0303nobodyさん
04/10/12 00:01:47ID:4ikvnffT手軽にできないのかね?インストールした後にPath設定したり
PHPファイルの関連付けとかしたり、すげぇ面倒なんですけど。
0304nobodyさん
04/10/12 00:12:49ID:koXfXZjL$count=0;
echo "<table><tr>";
if($dh = opendir($dir)){
while(($file = readdir($dh)) !== false){
$link = $dir.$file;
$size = @getimagesize($link);
if(eregi("\.(gif|jpe?g|png|bmp)$",$link)) echo "<td><img src=$link width=".$size[0]." height=".$size[1]."></td>";
$count++;
if($count%10 == 0) echo"</tr><tr>";
}
closedir($dh);
}
echo "</tr></table>";
0308nobodyさん
04/10/12 01:08:07ID:???もう少し徹底して頂きたく
>>303
PHPDEVとか色んなのが一括してWindowsインストールできるやつあるやん。
0310nobodyさん
04/10/12 03:07:39ID:bZlbaUCT[mbstring]
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none
なのですが、
<form method="post" action="https://www.example.com/admin/example.php">
<input type="text" name="categorytitle" value="Outlook トピックス" />
(中略)</form>
をsubmitすると、
/admin/example.php
の中で、
$categorytitle = addslashes(getParam('categorytitle'));
print $categorytitle;
exit;
//-------------------------------------
function getParam( $name )
{
$val = $_GET[$name];
if( $val == "" ){
$val = $_POST[$name];
}
return( $val );
}
の結果が、
「Outlook gsbNX」と表示されてしまいます。(本来は「Outlook トピックス」と表示されるはず)
こんな文字化けの仕方は初めてみたので、どこが悪いのかちょっと検討がつきません。
どなたか解決方法ご存じのかた、教えて頂ければ幸いです
0311310
04/10/12 03:09:03ID:???0313310
04/10/12 04:26:44ID:???えと、apacheの設定ですか。
普通に、
LoadModule php5_module libexec/libphp5.so
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>
と書いてますが・・・ごめんなさい、回答、はずしてます?
0315301
04/10/12 06:48:29ID:???if($file % 10 == 0) echo"</tr>";
これで解決しますた!
0316nobodyさん
04/10/12 11:28:18ID:scXqgxmN任意の秒数($sec)を時間、分、秒に換算したいのだけど
これをスッキリとコーディングするにはどうするの?
今は下のように書いています。
<?php
$hour = floor($sec/3600);
$amari_hour = $sec%3600;
$min = floor($amari_hour/60);
$amari_min = $amari_hour%60;
echo $hour."時間".$min."分".$amari_min."秒";
?>
こんな計算に4行もつかうのは嫌です。
誰か何とかして。
0317nobodyさん
04/10/12 11:40:31ID:???当方、仕事ではASP.NET使ってるんだが、PHPでも同じ動作をするように
色々試してるんだが、正直ちょっと・・・
例えば、SQLを発行してTABLEに検索結果を一覧表示した場合、
業務系だとテーブルの列名の部分などをクリックしてソートさせたいなどの需要がある。
ASP.NETだとグリッドコントロールですぐに出来るがPHPだとこの部分は自前で実装しないといけない。
自前で実装するには、その列が昇順降順のどれでソートされてるのか保持しておき
クリックされた列でSQLを発行してソートの方法を変えれば良いので、実装自体に問題は無い。(面倒だけど)
そこで問題というかこだわりなんだが、ASP.NETではグリッドでソートを変更した場合は、
別途DBなどに接続は行われれず、ADO.NETの仕組みで取得済みのデータで勝手にソートしてくれる。
対してPHPだとソートさせるだけで再度SQLを発行してDBに接続しなければならずに、
レスポンス等の面から見てもちょっと不満を感じる。
俺のPHP技術が未熟なのは認めるが、PHPでもASP.NETと同じような挙動のプログラムは書けるのだろうか?
また、どのようにして実装すればよいのだろうか?
0318nobodyさん
04/10/12 11:43:07ID:???その$secにはどういう値が入るの?
time()を入れれるなら、そのようにすりゃdate()関数で楽に処理できるが、
仕様的に無理なのか?
0323nobodyさん
04/10/12 12:00:07ID:???時間だけ普通に計算して、後は date() に任せるとか?
本当に正しいか調べてないけど。
echo floor($sec/3600) . "時間" . date(" i分 s秒", $sec);
0325nobodyさん
04/10/12 12:33:18ID:???mbstring.http_input = auto
をautoじゃなくて決めうちにしたら?
ttp://ns1.php.gr.jp/pipermail/php-users/2004-June/022966.html
のスレッドを参照
0326nobodyさん
04/10/12 14:27:41ID:???a. クライアント側でdata binding < XML/XSLT, DOM ...etc
b. 自前で実装する場合、ソートの可能性があるクエリーの結果のキャッシュを追加。
c. 使ったことないけど PEAR の Structures_DataGrid
.Net frameworkのDataGridと同じようなコンセプトのライブラリ.
さっとソース眺めてみた所、クエリの結果のキャッシュまでは現状では面倒みてくれないみたい
それどころか、DB使ってる場合はソートはDB側で済ませた方が早いからこのメソッドは使うな
とコメントに書かれている.
d. Zend Performance Suite (引用: 不要なDBアクセスを含むPHPスクリプトの実行が抑止されます。)
e. http://jp2.php.net/dotnet
0327nobodyさん
04/10/12 15:54:49ID:???俺が担当したシステムだと、船舶とかで使用するWebシステムで、
航行計画書やら、港についたときに備品など購入するための備品搬入の管理システム作ったけど、
何せ海の上だから船舶電話だと金掛かるし通信速度遅いし、回線切れるし・・・
だから、衛星対応の携帯で通信するシステムにしたんだけ、
やっぱりパケット量とかの問題で通信費やら実行速度遅くなるから、
ASP.NETみたいな仕組みは楽だったなぁ。
PHPでも確かに同じようなこと実装できるけど、そういうのって業務ロジックじゃないしな。
正直、そんなものにお金も時間も掛けたくない。
0328nobodyさん
04/10/12 16:38:42ID:seDWSO57同一サイトでユーザ別にブログを立ち上げさせたいと思っています。
たとえば、http://hoge.jp/username/を開いたとき
http://hoge.jp/hoge.phpを叩くようにしたいと思っています。
このとき、ブラウザのアドレス表記上では
常に、http://hoge.jp/username/hoge.php
という形で表示させたいのですが、この方法がわかりません。
(要は、ユーザ別にアドレスを綺麗に分けたいのです)
どうすればよいか教えてください。m(_ _)mペコリ
0330nobodyさん
04/10/12 17:01:33ID:seDWSO57ありがとうございました。
助かりました。
0331nobodyさん
04/10/12 17:38:47ID:???(defun php-complete-function ()
"Complete the function name at the point from known PHP functions."
(interactive)
(message "php-complete-function not implemented yet")
;; how to read the list of functions from a separate file?
)
0334nobodyさん
04/10/12 19:14:06ID:???do it yourself with get_defined_functions() ってことじゃねえの?
0335nobodyさん
04/10/12 20:02:40ID:iIJDed89縮小して別のフォルダに保存するスクリプトを作りました。imagegifて
やっただけなのです。しかしファイルサイズが5KB以上になってしまうものが
多く、pngでは10KBにもなるものがありました。
jpegだとクオリティを指定しながら2KB程度に収められるのですが、gifや
pngの場合、関数で簡単に色数を落としたりしてサイズをさげることは
できないのでしょうか?
0337nobodyさん
04/10/12 21:33:17ID:???糞のような思いつきなんだけどセッション変数にブチ込むのはどうだ?
とりあえずリザルトセットがどこかしらPHPから簡単に操作できるリソースに
保存されればいいんだろ?
0338nobodyさん
04/10/12 22:38:39ID:???本題からはずれるけど、おれはこっちのほうが好き。
(1)
$h=floor($sec/3600);
$m=floor(($sec-($h*3600))/60);
$s=$sec-($h*3600)-($m*60);
echo sprintf("%02d時%02d分%02d秒",$h,$m,$s);
ちなみに、
(2)dateだけ版
echo sprintf("%02d時%02d分%02d秒",date("H",$sec)-date("H",0),date("i",$sec),date("s",$sec));
(3)>>323版変形
echo sprintf("%02d時%02d分%02d秒",floor($sec/3600),date("i",$sec),date("s",$sec));
この3つをそれぞれ1000回実行するのにかかった平均時間は
(1)0.008534
(2)0.033852
(3)0.02452
date関数がいかに遅いかよくわかった。
0339nobodyさん
04/10/12 22:53:12ID:???0340nobodyさん
04/10/12 23:37:03ID:4ikvnffT$str = "this is $foo['bar']";
このようにするとエラーになります。
どうすればよいでしょうか?
echo gmdate('H時i分s秒', $sec);
これも試してみて。
# 本来ならgmdate("H\\\x8e\\\x9ei\\\x95\\\xaas\\\x95\\\x62", $sec);
# とちゃんとエスケープして書くべきかもしれない。(これはSJIS
そのままこのように書けばよいのですよ
$str = "this is $foo[bar]";
0344nobodyさん
04/10/13 00:01:07ID:???>>338の(2)もそうだけど、それでは24時間以上は調べられないから意味がない。
>>321では10から100000秒まで範囲という話だから、24時間以上の数値が入ることが
あり得る。
// 25.8μs
$s = $sec % 60;
$m = ($sec / 60) % 60;
$h = floor($sec / 3600);
"{$h}時{$m}分{$s}秒";
// 9.8μs
gmdate('H時i分s秒', $sec);
// 10.3μs
sprintf("%02d時%02d分%02d秒",$sec/3600,($sec/60)%60,$sec%60);
// 35.6μs(338と同実験により1割ほどこちらのほうが低速)
echo sprintf("%02d時%02d分%02d秒",date("H",$sec)-date("H",0),date("i",$sec),date("s",$sec));
調整しようと思ったがミスがあったので一番下から再度計算してください。
こちらの結論としては24時間分までしか計算できないものの、
gmdate('H時i分s秒', $sec);が一番高速。
0347nobodyさん
04/10/13 00:14:48ID:???>>343の方をお勧めしとく。
取り合えず{ }でくくれば良い。
他にも $str = 'this is ' . $foo['bar'];
という書き方もあり、速度的にはこっちの方が早いというデータをどっかで見た気がする
が、分かりやすさからいって{ }でくくるのが一番かと思う。
0348nobodyさん
04/10/13 00:29:46ID:???「スレ違い。elispスレに池」
あるいは
「a separete fileの仕様も出さずにどう答えろというのだ」
まあここに張り付いている連中にはelispなんぞ分からんっちゅうことはよく分かったろ?
// 7.9 μs 7.9 μs "this is $foo[bar]";
// 14.4μs 14.3μs "this is {$foo[bar]}";
// 8.1 μs 8.2 μs "this is {$foo['bar']}";
// 5.5 μs 5.6 μs 'this is ' . $foo['bar'];
0350nobodyさん
04/10/13 05:59:21ID:I9UFXdzG今、私2chの過去ログを保管するサイトを運営しているのですが、
スレの進行が結構速くて正直更新が大変です
それで、phpで、技術的には
この作業を全自動化することなんかはできますかね・・?
2chのスレ一覧を読み込み、そのスレだと思われるものを特定してログの取得を開始
↓
1001まで行ったらそれを鯖側に出力 同時に次スレのログの取得も開始
↓
出力されたスレへのリンクをhtmlに書き込む
こんな感じで・・・
Readだけだったら、2chは外部からの規制してませんし、いけそうな気がするんです
あ、「こういうPHPをください」っていってるわけではないので・・あくまでできるかどうかききたいんです
もしできるようでありましたら、ちょっと本買って本気でPHPの勉強しようかと思ってます
ちょっと来年あたりから現実が忙しくなるから、少しでも更新を楽にしようかと思いまして
ではよろしくおねがいします
0351nobodyさん
04/10/13 06:23:21ID:???出来るよ。
但し、php"だけ"では無理だった希ガス。
・phpだけでやる場合
→何かトリガーになるページを置いてそこにアクセスするたびにスクリプト実行
但し、タイムアウトになる可能性がある。(マニュアルにそうならない方法は書いてあるけど)
・そうでない場合
→cronが使えるならそっちの方が確実だしタイムアウトもない。
0352nobodyさん
04/10/13 09:19:32ID:???ログの取得を全自動にするつもりならPHPで作る意味はない。
Perl, Python, Rubyあたりでやるほうがいろいろな意味で楽。
それと過去ログ収集サイトはけっこうあるからどんな仕組みなのか
ひととおり見て回ったほうが吉。
0353nobodyさん
04/10/13 09:47:04ID:???普通FlashやSVGとの連携でやりくりしますよね?
0354nobodyさん
04/10/13 10:10:27ID:???0355250
04/10/13 10:40:33ID:???別に馬鹿ではないんじゃない?
0357nobodyさん
04/10/13 10:58:22ID:???鯖の制約やプログラミングの経験がどんなもんかわからねーと何ともイエネ。
Subject.txtを取得して適当な単語を含むDatを選んでローカルと比較、更新されてるか初物なら取得、
デコードしてHtml化して保存、1000ならHtmlも更新、程度なら超簡単。HTTPの知識がネックか。
データ取得しっかりやると面倒だけど、最悪 $data = file('thread url'); でOK。この手軽さは泣ける。
リスト化したり人手を偽装したり検索なんかの活用も考えてスレタイの変更にも耐えて
間違ったの取得したら削除して、Html化待ちならログインしてテンプレートエンジンつかって
コメント受け付けてレスアンカー書き換えてJavascriptでポップアップしたりimu.nu置換したり
Htmlに改行つけたり〜みたいなことやりだすと糞面倒。
あとread.cgiから読み出すのは公衆道徳上よろしくないし、Htmlをパースすんのは面倒くさいと思う。
datはtransfer/contentエンコしたものしか取れないとかphp以外に2chの特殊な仕様の知識も必要に。
0358nobodyさん
04/10/13 11:07:11ID:???カールと比べてアレだけ普及しているにもかかわらずだから救えない。ColdFusionは専用言語を除いて悪くない製品だが。
はい手を引くのが遅かった負け組みですが何か。
0359nobodyさん
04/10/13 11:15:13ID:???0360nobodyさん
04/10/13 13:21:56ID:???GDで円グラフとか折れ線グラフって描けます?
そもそもドロー描画できるんでしょうか?
0361nobodyさん
04/10/13 13:42:06ID:qHQqzIawif文やswitch文で一つずつ書く以外に簡単な方法ってないでしょうか?
0364nobodyさん
04/10/13 14:14:22ID:???0365nobodyさん
04/10/13 14:15:17ID:???0367nobodyさん
04/10/13 15:57:01ID:???0368nobodyさん
04/10/13 16:04:37ID:???変換元のエンコーディングが不明の場合は、どのような対応をとればいいでしょうか?
変換対象は複数の項目があり、
文字長が長いものと短いものがあります。
エンコーディングは、複数の項目間では一緒です。
自分で考えた方法ですが、
mb_detect_encoding()で長い項目からエンコーディングを取得し、
全ての項目をそのエンコーディング扱いで、
mb_convert_encoding()してやろうと思うのですが。
繋げられたみたいです。ありがとうございました。
調べたらPHP5でのmysql接続出来ない状況は
多いみたいでした。
私のサイトは30分ごとに取得作業を行ってる。
// 30分ごとに実行するプログラム
include_once(DIR . 'lib/2chpilot.phps');
$chp = new chpilot();
$chp->maxlog_get();
// 呼び出されるファイル
ttp://f9.aaacafe.ne.jp/~fcafe/fbox/lib/2chpilot.phps
// 中で呼び出されるHTTP接続ライブラリ
ttp://f9.aaacafe.ne.jp/~fcafe/fbox/lib/sock.phps
酷いプログラムだけど見てみるとよろし。参考までに。
0372nobodyさん
04/10/13 19:43:23ID:hDof3Q9hその一部分をちょっと可変(brタグとか入れる)して他のHTMLに出力するのって簡単??
なんか>>350に似てるけどスレ読むわけじゃないです
自分のサイトの中のHTML読んで、同じく自分のサイトの中のHTMLに出力したいです
0375340
04/10/13 20:02:13ID:???0376nobodyさん
04/10/13 20:06:23ID:hDof3Q9hまさかhtmlだけでもできるとかですか!?!?あqwせdrftgyふじこl
0377nobodyさん
04/10/13 20:07:19ID:???0378nobodyさん
04/10/13 20:46:58ID:???モジュール版PHPで使っていた「virtual」関数が、CGI版PHPでは
使えないと知りました。
CGI版PHPの場合だと、別途で動作しているCGI(Perl)を、例えば
「sample.php」内で実行させることは不可能でしょうか?
それともPHPを諦めてSSIにしてしまう方がいいのでしょうか?
0379nobodyさん
04/10/13 21:01:43ID:hDof3Q9hSSIって、読み込んだ部分を弄って出力できるんですか?
0380nobodyさん
04/10/13 21:09:08ID:wYSmj1/uちなみにPHPは一切しりません 1からです(´・ω:;.:...
0381軟式PHP
04/10/13 21:11:33ID:q2MkK+Af0382nobodyさん
04/10/13 21:13:18ID:???こちらをどうぞ。
http://pc5.2ch.net/test/read.cgi/php/985315574/l50
0383nobodyさん
04/10/13 21:43:38ID:???<input type="text" name="name" value="'. $_COKKIE["hoge"] .'" />
フォームの初期値に、クッキーの値が入った状態で表示されると思うんですが
この時点でクッキーの値は、サーバー←→クライアント間を渡ってますか?
0384nobodyさん
04/10/13 21:51:50ID:???0386383
04/10/13 22:29:38ID:???IE6でやりたかったんですが、クッキー値の表示がクライアント側だけで処理されてるなら
この時点ではSSLとか通さなくていいなー、という願望があったんですけど……
まあ、普通に渡ってますよね。すいません。
0387nobodyさん
04/10/13 22:36:17ID:???サーバーが、一旦クライアントのクッキーを取得してから、それごとブラウザに出力してるのか、
『ここに$COKKIE["hoge"]の値を入れろ』って命令だけをクライアントに出力してるのか聞きたかったのです。
質問がまとまってなくてすいません。
0388nobodyさん
04/10/13 23:15:07ID:cB7iGFRXすごく簡単なことだけど。
ブラウザに対してPHP言語で命令したところで、ブラウザが正しく解釈して動作するとでも思う??
HTTPヘッダの勉強も合わせてオススメしておきます。
0389nobodyさん
04/10/14 00:03:21ID:DAgLrERP0391nobodyさん
04/10/14 04:12:14ID:???0392nobodyさん
04/10/14 06:11:43ID:???【合法】【スクリプト】【PHP】【2ch】2chまとめサイト用、現在進行スレ自動リンク.zip Q0Wcfwt4o8 2,494 be17b15acfb4910cb1aab0225201f9ea
0393nobodyさん
04/10/14 10:07:39ID:O0i9cJSU$a="太郎";
$m="{$a}さん、こんにちは。";
print $m;
?>
これは、「太郎さん、こんにちは。」って表示されますよね。
この、$mの部分を別ファイルに書き出して、
m.txtとかにして、
<?php
$a="太郎";
$m=file("m.txt");
print $m[0];
?>
としても、うまくいきません。
「{$a}さん、こんにちは。」とそのまま表示されます。
これを、{$a}が変数に展開されるうまい方法はありませんか?
0394nobodyさん
04/10/14 10:19:54ID:???0397nobodyさん
04/10/14 11:26:05ID:???でくわしました。これは途中で自分が切り替わったりするんでしょうか?
0398397
04/10/14 11:27:07ID:???0399軟式PHP
04/10/14 11:34:46ID:???$a = "{$a}さん、こんにちは。";
より
$a = $a."さん、こんにちは。";
としてしまうよ。まぁ、どっちでもいいんだけど。
0400nobodyさん
04/10/14 11:41:56ID:???0401nobodyさん
04/10/14 12:08:20ID:???evalで出来ました。トンクス!
ちょっとエスケープする文字が多いのが
めんどっちい感じだけど。例も
そうなってるから、仕方ないね。
>>399
Smartyとかのテンプレートでやってるみたいに、
メッセージの記述とロジックの部分を分離
したいんですよ。
そうすれば、m.txtを書き換えるだけで、
「春ですね、{$a}さんはどこかへ行きましたか?」
とかに変更できるでしょ?
0402軟式PHP
04/10/14 13:01:34ID:???いや別にやりたいことがわからない訳じゃないよw
データ・ロジックの分離なんて基礎中の基礎だし。
コーディングの違いということです。まぁ、本当どっちでもいいことだから気にせず。
0404389
04/10/14 15:09:31ID:TTA2I0is0406nobodyさん
04/10/14 15:19:26ID:???つーかビュー側でEvalして変数展開ってすげー無駄だ罠。
コンパイルされてて処理があるならともかくエコーしてテキストを
取り出すだけって、、、そういうのもテンプレートって言っていいのかどうか。
>>398
つーことはpukiはphp5では動かんね。やはり無茶はよくない。
0407nobodyさん
04/10/14 15:31:48ID:???こういうのはsmartyの仕事じゃないと思われ
本来、piたるphpそのものの範疇かと
程度問題ですけども
>>406
2重処理くさくもあるが、viewでやってるとは限らない罠
0408nobodyさん
04/10/14 15:34:00ID:???単体でも簡易的なhttpdの機能があるからそう思ったんじゃないの?
「上」では無理。CGIを使った連携は…出来たっけ、アレ。
0409nobodyさん
04/10/14 16:42:23ID:???excuteMultipleで値を格納すると、値が文字化けしてしまうのですが、
queryで値を格納すると、文字化けせずに正常に実行できます。
他のスクリプトではこんな現象はなく、格納しようとしている文字列と
DBの文字コードは一致しています。
何か考えられる原因はあるでしょうか?
0412nobodyさん
04/10/14 17:25:04ID:???0414nobodyさん
04/10/14 17:42:38ID:???わざわざ無駄なことしなくてもいいのに
>>409
executeQueryメソッドが怪しい。何がどう化けてるのか知らんが
0415nobodyさん
04/10/14 18:20:08ID:???0416389
04/10/14 18:20:38ID:TTA2I0isCGIが動くみたいなのでそれならPHPもいけるかと
思ったのですが
0418nobodyさん
04/10/14 18:28:03ID:qGGw0aZU・lang/php4, www/mod_php4, www/php4-cgi ってどう違うの?
・とりあえず lang/php4 をインスコしたんだけど、"Premature end of script" って出るんですが・・AddType は書いた気がするし、php.iniも作った気がする。
FreeBSD 5.2.1-R, Apache 2.0.49, PHP 4.3.9 っぽいです。チェックポイントなど教えて下さい。
0420nobodyさん
04/10/14 19:13:07ID:???「CGIが動く」ならPHPも動くでしょ。それもCGI(のSAPIのPHPなら)なんだから
tomcatが動く環境でありながら、PHPが動かない環境は多分無い。
ビルド済みのバイナリが用意されてる/されてないはあるかも知れんが。
0423nobodyさん
04/10/14 20:47:49ID:???PEARパッケージのコードの話ですが、コンストラクタから別のメソッドを呼び
出すような場合に、エラー発生時はPEAR_Errorまたはそのサブクラスのインス
タンスをセットして返すという方法が、以前はよく使われていました。
その方法ではPHP5でエラーになるため、最近は使われないようになってきてい
ます。
0424nobodyさん
04/10/14 22:54:39ID:QAwUm/MO↑のような、blogで使われる日付を複数とって
どちらが新しいか?を比べたいのですが、
1文字1文字比較する以外の方法があるでしょうか?
javaで(int)2004-10-13T02:19:16+09:00みたいな。
0425nobodyさん
04/10/14 23:02:21ID:???あるよ
PHP: 日付・時刻関数 - Manual
http://jp2.php.net/manual/ja/ref.datetime.php
0426424
04/10/15 00:06:21ID:r1Bc5wszstrtotimeですね!
ちょー便利!
ありがとう。
0427nobodyさん
04/10/15 00:09:50ID:???煽りではなく、PHPのテンプレートエンジンだかを使う人って
自分の理解の浅さを理解したほうがいいですよね?
include()とか超々基本的な技法すら理解できてないから、
テンプレが有用だと思えてしまうということを気づいて欲しい。
規模による
私は出力コントロールを使ってスキン適用してる。
mod_layout使おうと思ったけど面倒で、
でもやっぱり分けれたほうが楽だからさ。
テンプレートエンジンは使ってないけど大まかにはわけてるよ。
プログラム部分とデザイン部分とで。
0430nobodyさん
04/10/15 01:30:24ID:???Module compiled with module API=20040412, debug=0, thread-safety=1
PHP compiled with module API=20020429, debug=0, thread-safety=1
These options need to match
in Unknown on line 0
↑こんなんでましたけど、何でしょう
0432nobodyさん
04/10/15 02:26:53ID:???ん〜、見たことないエラーだけど予想してみる。
モジュールを動的に組み込んでたりする場合に出そうな予感。
というわけで、動的に組み込んだモジュールをもう一回入れ直すべし!
あと、OSくらいは書いて欲しかった。
WindowsとLinuxとかでは設定の仕方が全然違うから。
すみません
OSはWindows
PEARをいじってたら出ました
PHP5です
0434nobodyさん
04/10/15 02:59:25ID:???0435ポルコ
04/10/15 12:07:20ID:FVcyWQqoポストグレーSQLを用いてサーバーからデータを取り出すプログラムを
作成してるのですが検索結果が一つのページに全部出てしまうので
10件づつ表示したいのですがどうもうまくいきません
仕様OSはリナックスのレッドハットです
一応PHP部を記しておきます
<?php
$name = "syusyoku";
$use = "postgres";
$con = pg_connect( "dbname=$name user=$use");
$d1 = "kigyoudata";
$d2 = "kyuujindata";
$se = "所在県";
$se2 = "会社コード";
$cheacka = 0;
$query = "SELECT * FROM \"$d1\" where \"$se\" like '%$_POST[ken]%'";
$rs = pg_query($con,$query);
$maxrows = pg_num_rows($rs);
$maxcols = pg_num_fields($rs);
$goukei = $maxrows;
//表示♪
echo("<P align=\"center\">");
echo("$_POST[ken]");
echo("について検索しました。");
echo("</p>");
0436ポルコ
04/10/15 12:12:02ID:FVcyWQqoecho("<P align=\"center\">");
echo("残念ながら当データーベースには該当の企業はありませんでした。");
echo("</p>");
echo("</FORM>");
echo("</BODY>");
echo("</HTML>");
}else{
echo("<P align=\"center\">");
echo("$maxrows");
echo("社の登録を発見しました。");
echo"</p>";
for ($row = 0; $row < $maxrows; $row++) {
$rowdata = pg_fetch_row($rs, $i);
$query2 = "SELECT * FROM \"$d2\" where \"$se2\" like '%$rowdata[0]'";
$rs2 = pg_query($con,$query2);
$rowdata2 = pg_fetch_row($rs2,$i);
if($rowdata2[25]==f){
0437ポルコ
04/10/15 12:17:20ID:FVcyWQqoecho"<TABLE BORDER=\"1\" WIDTH=\"700\">\n";
echo"<tr>";
if($cheacka==0){
echo"<td width=\"20\"></td>";
echo"<td width=\"80\">";
echo"会社コード";
echo"</td>";
echo"<td width=\"145\">";
echo"会社名";
echo"</td>";
echo"<td width=\"145\">";
echo"カイシャ名";
echo"</td>";
echo"<td width=\"200\">";
echo"ホームページ";
echo"</td>";
echo"</tr>";}
echo"<td width=\"20\"><input type=radio name=kensaku value=$rowdata[0]></td>";
0438ポルコ
04/10/15 12:18:28ID:FVcyWQqoecho("<td width=\"145\">".htmlspecialchars($rowdata[1])."</td>");
echo("<td width=\"145\">");
echo("$rowdata[2]");
echo("</td>");
if($rowdata[27]==NULL){
echo("<td width=\"200\">");
echo("登録されていません");
echo("</td>");
}else{
echo("<td width=\"200\">");
echo("<A href=\"$rowdata[27]\">");
echo("$rowdata[27]");
echo("</a>");
echo("</td>");}
echo("</tr>");
echo"</TABLE>";
$cheacka = $cheacka+1;}}}
0439ポルコ
04/10/15 12:19:53ID:FVcyWQqoif($maxrows==0){
}else{
echo("<P align=\"center\">");
echo("残念ながら今年は、求人がありませんでした。");
echo("</p>");}
echo("</FORM>");
echo("</BODY>");
echo("</HTML>");
}else{
echo"以上";
echo"$cheacka";
echo"件の求人があります。";
echo("<br><center><INPUT type=\"submit\" name=\"送信\" value=\"詳細検索\"></center></CENTER></FORM></BODY></HTML>");}
?>
長々とプログラムを貼って申し訳ありません。あと汚いソースで申し訳ないです
ご教授の方お願いいたします
0440nobodyさん
04/10/15 12:29:17ID:???Zend Studio 3.5 日本語版リリースですよ〜!
0441nobodyさん
04/10/15 12:33:03ID:iLe5NUwSosはfedracore2なんだけど
0442nobodyさん
04/10/15 12:36:49ID:???まずさ、ポストグレーとか検索とかはどうでもいいからさ、
<?php
$list = array("いか","たこ","くらげ");
:
:
?>
海の生き物の例 <?php echo ?????? ?> <br>
<a href="????">prev</a> <a href="????">next</a>
みたいなかんじでさ、いか、たこ、くらげを
ひとつづつ表示して prev と next で進んだり戻ったり
するようなプログラムをどう書くか、考えてみなよ
0443nobodyさん
04/10/15 12:58:02ID:???0445nobodyさん
04/10/15 13:38:17ID:???というのと同じ動作をphpでさせることは可能でしょうか?
0446ポルコ
04/10/15 13:47:20ID:FVcyWQqoチャレンジしてみます
0447nobodyさん
04/10/15 13:51:56ID:???釣られた?
0448nobodyさん
04/10/15 14:21:08ID:???>>447さんの物を入れて試したけど動作しない
(´・ω・`)ショボーン php初めて出しよくわからない
0449nobodyさん
04/10/15 14:25:15ID:???0450447
04/10/15 14:32:27ID:???まずはjavascriptとphpがそれぞれどこで動作するか区別する所
から始めるのが良いのではないかと
もしかすると、phpをインストールするところから話をしないと駄目?
釣りではなければ
0451nobodyさん
04/10/15 15:01:49ID:???0452軟式PHP
04/10/15 15:15:19ID:???作って、それにPHPタグを埋め込んでウゴカネーって言ってるでしょ。
0453軟式PHP
04/10/15 15:15:45ID:???0454447
04/10/15 15:51:16ID:???1.適当なページをぐぐって、apacheとphpをインストール。以下、このページを参照したことにする
ttp://y-kit.jp/saba/xp/apachexp.htm
ttp://y-kit.jp/saba/xp/phpsetup.htm
2.test1.phpを作って、test.php と同じフォルダに置き、http://localhost/test1.php にアクセスして確認
<?php
echo "<body onUnload=window.open('http://www.google.co.jp/'); self.blur();>hogehoge</body>";
?>
3.以下の場合はさっさと諦めること(←一番重要)
・参考ページのバージョンが最新版と違うのでインストールできない
・「やってみたけどできません」とレスをしたくなる
・そもそもナニが書いてるか判らない
0456454
04/10/15 16:21:28ID:???「php インストール windows」でぐぐって、SSがたくさんある最初のページを
選んだんで、細かくは見てないんですよ
良い所があったら紹介きぼん
0458nobodyさん
04/10/15 16:51:08ID:???458だそうです。分かるよね?
0460456
04/10/15 17:30:54ID:???「『phpのページに飛んだら、最新版が4じゃなくて5になってるから
インストールできない』と思うんだったら、さっさと諦めろ>448」
という意味のつもりだったんだが。
まだ勘違いしてる?
0461nobodyさん
04/10/15 20:30:37ID:???0462441
04/10/15 20:33:55ID:DyYDEcBK0463nobodyさん
04/10/15 20:47:21ID:???じゃなきゃだまっとれ。
0464441
04/10/15 20:57:28ID:???さっさと答えろボケナス
0465nobodyさん
04/10/15 21:41:38ID:???これと
http://php.s3.to/man/ref.exec.html
これを
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/521smartinfo.html
組み合わせればできる。
0466nobodyさん
04/10/15 21:55:57ID:???−RSSトピックス−ってのは動作するけど
−RSSブロガー−ってのが動作しないんです。
エラーが
Fatal error: Failed opening required 'XML/RSS.php' (include_path='.:/usr/share/pear') in /home/webuser/arckd/public_html/php/rssv.php on line 4
一応、XMLの文字を削除してみるも今度はline11でエラー。
こういう場合ってどうすればいいですか?
サーバーはこれ
http://box.elsia.net/
0468441
04/10/15 22:05:10ID:???thanks!
0469nobodyさん
04/10/15 22:15:17ID:???クソして寝ろカス
0470nobodyさん
04/10/15 22:27:16ID:3cA5pXC+おお、やさしいじゃねーかこの糞野郎!
0471nobodyさん
04/10/16 10:44:55ID:???CLIはsafe_modeをon
CGIはoffにするときはみんなどうやってる?
0472nobodyさん
04/10/16 10:59:56ID:???CLI版の PHP は -c オプションで読み込む php.ini ファイルの位置を指定できるので、
php.ini ファイルをどこかにコピーして、CLI版の PHP では -c オプションを指定して
使用するというのはどう?
0473472
04/10/16 11:06:21ID:???CGI版の PHP でも -c オプションで読み込む php.ini ファイルを指定できた。
0474nobodyさん
04/10/16 12:26:07ID:OW4RwqwJその文字列をそのまま記録(サーバーにコピーしない)したいのですが
$_POSTにも$_FILESにもURLは格納されません
取り出す方法ってありますか?
0476nobodyさん
04/10/16 13:21:46ID:???アップロードの為のフォームだけでは無理だから
JavaScriptを使って隠しフィールドにリアルタイムで値をコピーする
0477474
04/10/16 13:49:33ID:???0478nobodyさん
04/10/16 14:16:11ID:???0479nobodyさん
04/10/16 14:47:15ID:???やっぱJSしかないんでしょうか?
0480nobodyさん
04/10/16 15:23:21ID:???0486nobodyさん
04/10/16 18:44:21ID:QWFCEociユーザー認証した後の画面にてある一定の時間がたつと
強制ログアウト みたいな処理を行いたいのですが
どうすればいいのでしょうか?セッションでいけます?
0487nobodyさん
04/10/16 18:47:49ID:QWFCEoci>ユーザー認証した後の画面にてある一定の時間がたつと
認証後のページで何も操作が行われていなくて一定の時間がたつと
です。すみません。あと認証方法はなんでも結構です。
0489nobodyさん
04/10/16 20:54:21ID:M6muWICIぐぐっても適当なのがなくて。
0490nobodyさん
04/10/16 20:59:36ID:???0491nobodyさん
04/10/16 21:03:49ID:???0492nobodyさん
04/10/16 21:06:49ID:M6muWICIあぁ、そか。
ありがと。
探してみる。
0493nobodyさん
04/10/16 21:39:27ID:???http://www.phppro.jp/backnumber/issue/200401/
サイトだと探した時は英語ならそこそこあったけど、
一番参考になったのはちんまい既存のエクステンションのソース。
0494nobodyさん
04/10/16 21:59:39ID:???特定のフォルダの内容をリストアップして、
順番にincludeするには、どうしたらいいでしょう?
0495nobodyさん
04/10/16 22:00:28ID:M6muWICIありがとう。
やっぱ、この雑誌を講読しようかなぁ・・・・・
目次を見る限りではよさげなんで。
0496nobodyさん
04/10/16 22:13:27ID:5/6cL4VE内部では共有されているのでしょうか?
全部別だとかなりメモリの無駄遣いになる気がするのですが、
そのあたりどうなんでしょう。
0497nobodyさん
04/10/16 22:55:29ID:???特定のフォルダの内容をリストアップして順番にincludeすればいいじゃない
正直何処が分からんのか分からん
やりたいこともはっきりせんし
0500nobodyさん
04/10/17 01:21:37ID:???0501nobodyさん
04/10/17 02:10:17ID:???0502nobodyさん
04/10/17 09:27:21ID:jarDWpExいくつかのホスト上で同 時にIDを生成させる場合、
全く同じミリ秒のIDが生成されるのを防ぐの にprefixが有用です。
とのことですが、同一ホスト上で実行した場合は、
かならずユニークになる、ということでしょうか?
ミリ秒&スレッド(?)違いで、
2038年まで
すべて違うID(同一ホスト上では)が生成されるのでしょうか?
0503502
04/10/17 09:38:39ID:???128ビット=
3.4028236692093846346337460743177e+38
種類、ということなので(もう位の呼び名もわからない)
同一ホストなら完全にユニークな、
またプレフィックス違いの他ホストで生成してもほぼ間違いない程度のユニークさ、
くらいは保証してそうですね…
0505nobodyさん
04/10/17 14:34:30ID:???PHPとPerlが同じシステムコールの FLOCK(2) を使っていれば有効
どちらかが別のことをしていたら無効
ソースを見てないからなんともいえないけど
0506nobodyさん
04/10/17 14:55:47ID:???perlの方は知らん。
perlコーディングスレの方で答えている人のように自前でロックファイル等を実装するのが良かろう。
0509nobodyさん
04/10/17 18:08:30ID:???0510nobodyさん
04/10/17 22:43:21ID:???0511カポコン
04/10/17 23:38:14ID:???0512nobodyさん
04/10/17 23:52:00ID:Khjpd2op0513nobodyさん
04/10/17 23:53:39ID:???0514nobodyさん
04/10/18 00:24:14ID:???0515nobodyさん
04/10/18 00:37:58ID:v+mK9r/20516mitsu
04/10/18 01:04:21ID:UsXTjS7N教えて頂たいことがあります。
検索結果から名前をクリックすると詳細ページにジャンプ
したいのですが
タグ、方法がわかりません。
やりたいことは自宅サーバーで店舗管理をしているのですが
各店舗のTOPページを開きたいのです。
例えばhttp://***.com/店舗名でジャンプができるような設定を
教えて頂けますでしょうか?
0517nobodyさん
04/10/18 01:07:39ID:???設定とかタグとかじゃないので、
自分でそのような動作をするスクリプトを作成してください。
1. 検索するためのスクリプト
2. 詳細表示するためのスクリプト
0518nobodyさん
04/10/18 01:29:21ID:???0519無名人
04/10/18 04:13:03ID:???Error fopen(): SAFE MODE Restriction in effect. The script whose uid is 10182 is not allowed to access /virtual/アカウント名/public_html/ディレクトリ名/data/html owned by uid 1000
From /virtual/アカウント名/public_html/ディレクトリ名/common.php line 153
だれか助けてください。
なんのエラーなのかさっぱり。。
http://php.planetmirror.com/manual/ja/features.safe-mode.php
所有者と違うIDでファイルを開こうとしたんだろう
0522無名人
04/10/18 04:29:06ID:???がんばって解決したいと思います。
0523nobodyさん
04/10/18 08:32:05ID:???例えばPostgreSQLだとoidで関連づけるのが
多くの本に載ってるけど。MySQLだと、
どうするんだろうね?私も知りたい。
0525nobodyさん
04/10/18 13:52:07ID:???FTPなどで消せなくなってしまったのですが、セーフモードでも使用出来るファイル削除などのファイルマネージャースクリプトを探しています。
宜しくお願いします。
0526nobodyさん
04/10/18 14:43:49ID:???板違い。
【CGI】こんなCGI探してますver.15
http://pc5.2ch.net/test/read.cgi/hp/1097762828/l50
こっちのテンプレをよく読んで自分で探してから聞け。
0527nobodyさん
04/10/18 16:04:19ID:YHb3Wttzとりあえずiodbcとやらを入れたりしたのですがわけわからんw
何かわかりやすいサイトとかないでしょうか?
0528nobodyさん
04/10/18 16:38:04ID:???これとかは?
http://aidan.dotgeek.org/lib/?file=function.rmdirr.php
0530nobodyさん
04/10/18 22:13:53ID:???しかしさ、膨大なデータにID割り振ったら、溢れない?
例えば、毎日お客が1000人来て、一人につき10個買い物。
すると1日で10000件のデータ。1ヶ月で30万件のデータ。
1年で365万件のデータ。
これにID割り振ってても、大丈夫なんかい?
0531nobodyさん
04/10/18 22:41:09ID:wrtSnmi9オフライン(デスクトップ上)でPHP動かすこと出来る?
0532nobodyさん
04/10/18 22:42:52ID:???0534nobodyさん
04/10/18 22:43:25ID:f8ni8jYW{
color:#215dc6;
background-color:inherit;
text-decoration:none;
}
という文字列を
$parameter
{
$property[0]:$value[0];
$property[1]:$value[1];
...
}
という風に変数に置き換えたいんですけど
なんか良い字句解析の関数ないですかねー。
0537nobodyさん
04/10/18 23:03:08ID:???ここらへん。
http://www.google.co.jp/search?hl=ja&q=apache+PHP+%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
0538nobodyさん
04/10/18 23:05:10ID:???0539nobodyさん
04/10/18 23:07:43ID:???データベースだから、∞のIDを格納できるとでも?
>>532
そうすると、キーになるいくつもの情報を必ず
ブラウザに送っておく必要が出てくるでしょ。
キーの構成要素が増えるほど、スクリプトで
処理する部分が増えるわけだが。
これを、>516の様に、さくっと詳細表示の
データを呼び出すのは面倒にならないか?
0540nobodyさん
04/10/18 23:25:08ID:???普通、primary key は auto_increment にするんじゃないの?
で、primary key を where に指定すればその店舗だけ表示とか簡単だと思うんだが。
0541nobodyさん
04/10/18 23:36:32ID:???大抵は>>540のやりかたかと。4バイトシリアルなら1〜振れば42億まで振れるから
1年で365万件でも1000年以上足りる計算。
これを他のフィールドと絡めてインデックス作っとくほうが下手な乱数振るより検索も速いはずだけど。
0542nobodyさん
04/10/19 00:12:59ID:???0543nobodyさん
04/10/19 00:31:08ID:???> そうすると、キーになるいくつもの情報を必ず
> ブラウザに送っておく必要が出てくるでしょ。
っていうか、なんでブラウザに送る必要があるんだ?
全部サーバ側で取れるものばかり。
0544536
04/10/19 00:35:41ID:???ではではこれからpukiwakiをデスクトップで動かすべ。
0546nobodyさん
04/10/19 00:51:23ID:???0547nobodyさん
04/10/19 01:48:08ID:???何かひっかかるならUUIDでも使え。
PHPにUUID関係のライブラリあるのか知らんけど。
0550nobodyさん
04/10/19 02:02:19ID:???UUIDライブラリあるよ。
ttp://pecl.php.net/package/uuid
でも、普通に連番か標準のuniqidで十分だと思うけどね・・・。
0551nobodyさん
04/10/19 04:59:04ID:???>このモジュールは非常に制限された条件下で、 それぞれのリクエストに「すべて」の
>リクエストに対して 一意に決まることが保証されている魔法のトークンを提供します。
らしいけど俺は使ったこと無い。
0552nobodyさん
04/10/19 07:23:26ID:???さりげなく放置されてるが…(w
':'でexplode
正規表現
この2つの組み合わせ(もしくは正規表現のみ)でいけそうやね。
0553カポコン
04/10/19 12:35:28ID:???PHPではポインタの中身は見れないんだよな〜。
見たいなー見たいなー、見れる方法あればきぼんなんだな〜。
<?php
$a = 0xff;
$b =& $a;
echo(printf("%p",$b));
?>
とかじゃー、出ないし・・・orz。
0556nobodyさん
04/10/19 14:20:56ID:???0557nobodyさん
04/10/19 14:24:17ID:???$a = new foo();
$a = new hoge();
?>
としたら、fooのインスタンスは
どこへ行くの?
もうアクセスできないんだよね?
0558nobodyさん
04/10/19 14:33:15ID:???0559nobodyさん
04/10/19 15:33:17ID:W4DmTRC6shell_exec("cp /var/log/httpd/access_log /home/homepage/public_html/log/access_log");
と、ログのコピーをスクリプト上でやろうと思ったのですが、エラーが帰ってきてしまいます。
どうやったら出来るのでしょうか?
0560nobodyさん
04/10/19 16:13:37ID:???わからんのでとりあえず勝手に決め付けてやろう。
"cp" じゃなくて "/bin/cp -f" に変える。
0561559
04/10/19 16:34:58ID:???レスありがとうございます。
初歩中の初歩のミスで、ふつうにerror_log見れば良いんですよね…。
パーミッションの問題でした。public_html/logディレクトリを777にしたら出来ました。
0562カポコン
04/10/19 17:26:38ID:???ほら、きた。
なんかあればすぐウザイとか言うんだもん。
君のような香具師に私は、声高らかに出力しよう。
Echo "釣れたと・・・w\n";
0564nobodyさん
04/10/19 18:33:26ID:???こんなんしてもダメだけど。
<?php
class foo {
var $val;
function setVal($a) { $this->val=$a; }
function getVal() { return $this->val; }
}
$a =& new foo();
$a->setVal(10);
print "foo=".$a->getVal()."<br>n";
$a =& new foo();
print "foo=".$a->getVal()."<br>n";
?>
先にnewした物にアクセスしたいんじゃないんです。
ちゃんとDisposeされるのかなぁ?って思っただけ。
0565nobodyさん
04/10/19 18:43:59ID:???釣れただの釣れてないだのどっちでもいいけど、マジうざい。
とにかくうざい。存在がうざい。
# そもそも釣りの定義に当てはまってないけどな。
# 今回のレスは”釣れた”と言ってもいいだろう。
0566nobodyさん
04/10/19 18:53:19ID:???脳内で実は迷惑になってないけどそう見えるように振舞ってて誰か突っ込んでくるのを待ってるんだ・・とか思ってるわけだな。
0569nobodyさん
04/10/19 19:03:29ID:???削除お願いしますって誰か言え
0570nobodyさん
04/10/19 19:07:31ID:???一時期よりマシになったけど。
Namazuサーチではメソッドの部分名から候補を出せないから使わないんだよね〜
0571nobodyさん
04/10/19 20:21:28ID:???0572nobodyさん
04/10/19 22:10:15ID:???これでいいだろ?
http://www.google.com/search?hl=ja&c2coff=1&q=PHP+-site%3Aphp.s3.to+-%E3%83%AC%E3%83%83%E3%83%84PHP
0574ゆういち
04/10/19 22:35:20ID:???ブラウザで更新(リロード)や戻るをされるとエラーになってしまいます。
これらの行為をチェックする方法はありませんか?
0577nobodyさん
04/10/19 23:57:12ID:yWe4h+a6文法について全くふれてないので、是非教えていただきたいことがあります。
今配列をやってるんですが、$food["fish"]="魚";で
echo("$food[fish]<br>\n")ここでfishのときに"をつけるとエラーになりました。
参考書でもつけてません。それで多次元配列にしたとき$food("fish"=>array("さんま"
,"まぐろ") echo($food["fish"][0]);こんどはfishに"をつけないとエラーに
なりました。。なにぶん文法にまったく触れてない本なので、どういう規則で
そうなってるかわかりません? "をつけるときとつけないとき規則みたいのは
あるんでしょうか?
0578nobodyさん
04/10/20 00:02:12ID:???0581nobodyさん
04/10/20 00:05:42ID:6Ei04iZnよろしくです
0584nobodyさん
04/10/20 00:07:30ID:???エラいことになってきたな
0585ゆういち
04/10/20 00:11:04ID:???のリロード対策クラスを見ているんですが、
ファイルやデータベースやクッキーを使わずにリロード対策できませんか?
0586nobodyさん
04/10/20 00:13:26ID:???0588nobodyさん
04/10/20 00:28:32ID:???と
$a =& new foo();
だと、
後者の方がメモリー効率が良い?
>>577
echo($food["fish"]."<br>\n");
であかんのかい?
もしくは、
echo("$food['fish']<br>\n");
かなぁ?
echo("{$food['fish']}<br>\n");
かも。
文法に関しては、オンラインマニュアルでも
読んだら?
0589nobodyさん
04/10/20 01:08:21ID:???素人言語だからしょうがないっていえば、しょうがないんだけど。
0590nobodyさん
04/10/20 01:09:12ID:???0591nobodyさん
04/10/20 01:10:49ID:???0592nobodyさん
04/10/20 01:12:49ID:???個人的には関数にしてない方が違和感あるんだが。
0593nobodyさん
04/10/20 01:12:58ID:???. _...,,o‐y ,:'- '⌒ ⌒ヽ. `ヽ' ,
(o( ,' / / 、 `ヾ. ヾ,
,:'´//7,' ,' .,' ,:' ! } i !', ':, ':, ゙:,
,' / ,' {l. ! {/ ,イ / }| !|', !. ', ', ゙,
ハ〃 ! !| | | ∠/ ,:'-ノ} /リ l ,ム. ! } |!
ハヽ、ゝ!| l | ,:',;='ィ'、'´ ,'.ノ ノ.,;lノ=、l .,' ,' ,' ノ
{ l l ', |'ヲi(_ノ.} ´ i(ノ.}゙!ノ,:',:''´
', h. ', ',゙、 ':゙゙_.ノ. ':゙_ノ〃ン
':, { ',', ':,':, 丶 ,' l .}
ヾ ':,':, ':ヾ、._ 「´/ ,' | .,' / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
`ヾ-、`ヽ_ `´ _,.ィリ.ノ ,' < なんとなかるよ、大丈夫だよ!
リ';',ヾ| ` ‐┬ ´ _ノノ,'/ \___________________
ヾ,、-- 、 _ | ´ノ'
f ヾ、..___ ヽ、 ー‐''
/_......_ \
0594nobodyさん
04/10/20 01:16:38ID:???0595nobodyさん
04/10/20 01:18:28ID:???0596nobodyさん
04/10/20 01:20:04ID:???0597nobodyさん
04/10/20 01:29:32ID:5VvbVBZ6失礼な発言ですね。
訂正していただけませんか?
0598nobodyさん
04/10/20 01:34:06ID:???0599nobodyさん
04/10/20 01:35:57ID:???あーっと、ここでスルー!
_
r'::::::::i
トーf/__
/ イ| 、ヽ
//_〉 l_l i_ノ、
\\ (_ニノ 〉____〉〉 〉
/ } /
/\/,ー 'ヾ >>597-598
〈 < /
\i"ヽ、 \\ //
├ i\i カ ,、
|_,,i ノ_ソ ) ゝ
ノ_/〉
0600nobodyさん
04/10/20 01:38:19ID:???6 0 0
0601nobodyさん
04/10/20 02:19:35ID:???わかりません(つД`)
それをオープン、名前変えて複製、データ保存
多分出来る・・・かも
自信なし
0からやってようやく、PHPからMySQLの中のデータ取り出し、表示まで行った。
本当の0からは大変だ
0604nobodyさん
04/10/20 04:19:20ID:???0607nobodyさん
04/10/20 05:24:11ID:???変わった障害児だな
0608nobodyさん
04/10/20 05:28:20ID:???ネタスレになるくらい別にいいが、最近すげー気色悪いスレになってきてるよ。
がんばろー
明日は日本語で扱えるようにならないと。
多分それだけで終わる気がする。
HTTPとか良く分からないけど、マニュアルのfopen()を見れば
良いんじゃないかな
0611nobodyさん
04/10/20 05:46:15ID:???他のスレやム板なんかもまるで常識の通じない空気になってるとこある、、
PHPだからじゃないと思う。
ここのノーマルなユーザはスレが一本化されたときに逃げたんだろうけど、、
0612nobodyさん
04/10/20 05:48:23ID:???0613nobodyさん
04/10/20 06:07:06ID:???0614nobodyさん
04/10/20 07:11:35ID:???1文字ずつ配列$arr[]
に入れていく関数ってありますか?
0615nobodyさん
04/10/20 08:35:52ID:???preg_split() or for(){}
文字列インデックスを使うならforループでいいけど
多分preg_splitの方が早い
0616614
04/10/20 08:52:34ID:???パターンに
.
とすればいけるのかな。
0617614
04/10/20 09:01:37ID:???0619nobodyさん
04/10/20 09:55:29ID:???どちらにしてもマルチバイト文字はできないけど。
$s = "abcde";
print_r(preg_split("//", $s, -1, PREG_SPLIT_NO_EMPTY));
0624nobodyさん
04/10/20 15:08:17ID:???0625nobodyさん
04/10/20 15:33:20ID:???0626nobodyさん
04/10/20 15:47:30ID:???simplexml_load_stringで生成したオブジェクトにXSLTを適用するには、どうしたらいいですか?
0627ゆういち
04/10/20 19:48:06ID:???人のせいにしないでくれませんか?
>>612
>>613
ここは台風のスレなんでしょうか?
いいえ、違います。
ここはPHPのスレです。
0628nobodyさん
04/10/20 20:01:11ID:???よーくわかってんじゃねーか。
お前には場違いってこった。
0629nobodyさん
04/10/20 20:06:44ID:???微妙すぎて分からん
0630nobodyさん
04/10/20 20:07:53ID:???0631ゆういち
04/10/20 20:29:31ID:???0632626
04/10/20 20:29:42ID:???最後に一つだけ質問です。Win32版PHPを使っているんですが、DOM XML関数を使用するために必要な
拡張モジュールのインストールを行うためには、PHPをビルドしないと駄目なんですか?
0637nobodyさん
04/10/20 21:37:42ID:???0638nobodyさん
04/10/20 21:46:06ID:???そういうことを考える頭はないみたいだな
0639nobodyさん
04/10/20 22:26:35ID:???出力するページは複数あって、普段は0,1,2・・とページごとに表示させています。
**/display.php?page=0 と言う風な感じです。
これに全て表示するようなオプションをつけて
**/display.php?page=all
としたのですが $pageが0のときにallと勘違いされてしまいます。
$page = $_GET['page'];
if($page == 'all')
//全て表示
else
//ページごと
0640nobodyさん
04/10/20 22:51:05ID:???0642nobodyさん
04/10/20 23:13:07ID:???0644nobodyさん
04/10/20 23:24:12ID:???文字を数値に変換すると0とみなされるからね。
>>640の通りに === で比較しないといかん。
こういうのが面倒だからページは1からにした方が楽かもね。
0645nobodyさん
04/10/21 00:06:40ID:???ためしに print( (0 == 'all') );
これが1になったです・・。
>>640
>>644
そうなんですか、===は初めて知りました。
文字を数値に変換すると0とみなされるんですね・・。
とりあえずページを1からにしてみます、ありがとうございました。
0646nobodyさん
04/10/21 01:08:14ID:???ページの遷移は入力→確認→完了を2回繰り返して最後にDBに登録
といったものなのですが、
global $HTTP_POST_VARS;
session_start();
foreach($HTTP_POST_VARS as $k => $v){
session_register( $k );
$k = $v;
}
こんな感じでセッションに入れて
その次に
print_r($HTTP_SESSION_VARS);
exit;
で確認するとちゃんと修正されているんですが
いざ各項目を個別に$HTTP_SESSION_VARS[hoge]を出力しても
前回の値が表示されてしまう…
orz
0647nobodyさん
04/10/21 01:15:08ID:???0648nobodyさん
04/10/21 01:29:19ID:???仕様。
仕組みを考えてみれば判るだろうが、渡す文字列が長いほど、
というか文字種が多いほど、誤認識しにくくなるので工夫しませう。
取り込んだmysql_DATAを呼び出し→TABLEで表示は昨日出来た
今日の課題:DATA追加→表示 終わり
任意のDATAをWeb上で選択・消去→表示 終わり
一応、最低限の事まで辿りついた。ちょっと安心。
昨日言ってたように、日本語でMySQLDATA登録してみる→当然文字化け
内部ではSJISで処理してたらしく、都合悪いのでEUCに変える
出力をSJISにしてみる。
そしたら全てOKになった・・・らしい。
ついでにセキュリティの事を読む。ヤバイ文字排除は楽らしい。
明日はテーブルリストのフィールドについて考えて見ることにした
0650軟式PHP
04/10/21 09:07:54ID:???r;ァ'N;:::::::::::::,ィ/ >::::::::::ヽ
. 〃 ヽル1'´ ∠:::::::::::::::::i
i′ ___, - ,. = -一  ̄l:::::::::::::::l
. ! , -==、´r' l::::::/,ニ.ヽ
l _,, -‐''二ゝ l::::l f゙ヽ |、 ここはお前の日記帳じゃねえんだ
レー-- 、ヽヾニ-ァ,ニ;=、_ !:::l ) } ト
ヾ¨'7"ry、` ー゙='ニ,,,` }::ヽ(ノ チラシの裏にでも書いてろ
:ーゝヽ、 !´ " ̄ 'l,;;;;,,,.、 ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{ __)`ニゝ、 ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ , な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
0651nobodyさん
04/10/21 10:42:57ID:???読み込み、セルに値を埋めて出力したいのですが何か良い方法はありますでしょうか?
Spreadsheet_Excel_Writerというものを見つけたのですが読み込む事が出来ないみたいですorz
0653nobodyさん
04/10/21 12:23:38ID:???0655nobodyさん
04/10/21 13:02:56ID:???レスありがとうございます。
本来ならご指摘の通りマクロで対応したいのですが、DBにあるデータで
値を埋めなければならないため、Web上でおこなっております。
0656nobodyさん
04/10/21 13:03:49ID:???0657nobodyさん
04/10/21 13:41:34ID:???0659nobodyさん
04/10/21 14:54:54ID:???それでも良い気がするんだけど、問題はそのDBを繋ぎにいくExcelを
不特定多数の人が使うとなると色々問題があるような・・・
>>651
幾つか手段はあると思うんだけど、
・サーバをWindowsにしてWEBアプリもASP.NETなどで作って、
全てサーバ側で処理してExcelをダウンロードできるようにする。
・そのExcelで必要なデータをCSVやらSYLK形式のテキストでダウンロードできるようにして、
各ユーザはマクロが組まれたExcelのテンプレートでそのファイルを読み込み、
後は勝手にマクロが処理してくれる。
0660652
04/10/21 15:57:58ID:???DBのテーブル/ビューの内容をPHPを使ってベタなHTMLの<TABLE>に整形するような
スクリプトを作っておいて、それをExcelからWebクエリとして開くと一見普通の
Excelの表として読みこめるから、その手もいけるかもしれない。
0661651
04/10/21 16:48:57ID:???659さんの2番目のやり方を少しいじったやり方で実現出来ました。
DBから必要なデータをCSVに出力した後に、FTP経由でCSVを取得して
そのCSVデータをマクロで処理するexeを作りました。謝謝ですm(_ _)m
0662nobodyさん
04/10/21 17:33:03ID:Q3cv6Kj3PHPからPostgreSQLに検索をかけるプログラムを書いております。
PGの文字コードがEUC-JPで、PHPからPOSTする検索対象語は
SJISです。それで検索対象語をSQLを実行する側のPHPにてEUC-JPに
変換したのですが、以下のようなエラーが出てきてしまいます。
Warning: pg_exec(): Query failed: ERROR: parser: unterminated quoted string at or near "'%" at character 201 .
検索対象文字の前後にワイルドカードをつけています。
検索対象文字がアルファベットの場合には何事もなく動作するのですが。。。
何か対処法がありますでしょうか?よろしくお願いします。
0664nobodyさん
04/10/21 19:17:09ID:???0665nobodyさん
04/10/21 19:34:36ID:Fws0z8swイメージ的には include や require の引数に文字列を渡すといった感じです。
例えば変数の内容が
<html><body><?php echo date('m/d'); ?></body></html>
となっている時に、正しく実行(処理)したいのですが方法がわかりません。
上記の内容がファイルの中身であればファイルを include すれば、
include した時点で、評価されると思うのですが、
この内容が変数にある時にどうしたらよいのかがわかりません。
eval だと 渡す内容が php のコードじゃないとだめだし。
アドバイスのほどよろしくお願いします。
0666nobodyさん
04/10/21 19:42:47ID:???全く同じ質問がこのスレにあったような気がする。
eval('?>'.$str.'<?php');
ではなかっただろうか。
0667nobodyさん
04/10/21 19:45:58ID:AZy0QHNb現在、PHPを使用して構築したサイトを運営しており、今回、OSとApacheの
バージョンアップを行おうと思いテストを行っていたところ、PHPからメールを
送信した場合に、エラーとしてはじかれてしまうアドレスがある事がわかりました。
具体的には、sendmailをコマンドラインからキックする際に「-f スイッチ」を
付けなかった場合と同じ現象のようです。
現在、PHPでのメール送信は「mb_send_mail」を使用しておりますが、この現象を
回避する方法をご教授ください。
現在の環境
RedHat EL3 / Apache 2.0.46 / PHP 4.2.3 / 8.12.6
バージョンアップ前の環境
RedHat 7.2 / Apaache 1.3.29 / PHP 4.2.3 / 8.11.x
よろしくお願いいたします。
0668665
04/10/21 19:53:08ID:Fws0z8swスレ探してみましたがみつけられませんでした。すみません。
教えて頂いたようにやってみましたが、
Parse error: parse error, unexpected T_ECHO in /home/hoge/test.php(10) : eval()'d code on line 5
となってしまいます…。
よろしくお願いします。
0669nobodyさん
04/10/21 20:15:38ID:???別ウィンドウでソース見れるだよ。
0670nobodyさん
04/10/21 20:25:41ID:???0671nobodyさん
04/10/21 22:50:33ID:???0672nobodyさん
04/10/21 22:52:47ID:???| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J << 671
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0673nobodyさん
04/10/21 23:14:40ID:???0675nobodyさん
04/10/21 23:22:46ID:???0676ゆういち
04/10/21 23:57:45ID:???0677nobodyさん
04/10/22 00:04:04ID:???○いい加減な
0679nobodyさん
04/10/22 00:22:11ID:???0681nobodyさん
04/10/22 00:28:12ID:???0682662
04/10/22 00:33:50ID:n1ZmUV/Qすいません、遅くなりました。echoで出してみたら以下のようになります。
WHERE UPPER(name) LIKE '%F{%'
LIKEのあとが変換したあとです。
0683nobodyさん
04/10/22 01:28:53ID:GnBF56DF($rowForumInfo['numpost']) ? $numPost = $rowForumInfo['numpost']: $numPost = 0;
これの意味がわかんないのです。
?と:で前後を比較してるのかな?と思うんですけど、検索しても出てこないし・・・
phpマニュアルの該当ページとか教えてくださいまし。
0684nobodyさん
04/10/22 01:56:25ID:???三項演算子
ttp://jp2.php.net/manual/ja/language.operators.comparison.php
0685nobodyさん
04/10/22 02:46:09ID:???$numPost = ($rowForumInfo['numpost']) ? $rowForumInfo['numpost'] : 0;
と書くのでは?
0686nobodyさん
04/10/22 02:58:10ID:???即レス感謝です!
そのページ見て他のに気が付かなかったよ!
>685
マニュアルではそうなってますね。
>683のはF-boardさんのです。
0688nobodyさん
04/10/22 08:26:39ID:???マニュアル読め。
検索しろ。
0689nobodyさん
04/10/22 10:42:52ID:???0690nobodyさん
04/10/22 11:46:00ID:???スクリプトの中でファイルのサイズがころころ変わる場合、
一回づつ clearstatcache() しとかないと filesize() の
返す値が更新されないんでやんの。
マニュアルを読めば「注意」のとこに書いてあるけどナー。orz
0691nobodyさん
04/10/22 13:08:06ID:rXNsH1Ryodbc_connect(): SQL error: [unixODBC][FreeTDS][SQL Server]Unable to connect to data source, SQL state S1000 in SQLConnect
というエラーがでてきてしまい接続できません。
ポートは開いておりPingもとんでいます。
設定は多分問題ないかと思うのですが
W2KServer もしくは MSSQL2000の方でセキュリティとかの設定のせいでしょうか?
odbc.ini等の設定見直しているのですが・・
0692nobodyさん
04/10/22 14:19:22ID:rNwrhFTR"bbb","ccc","piyo","uyo"
ってな""で囲まれたカンマ区切りのCSVデータをexplodeする際に
データに、1,000みたいに途中にカンマが入っていると、上手く切ることが出来ません。
どうしたらいいでしょうか?
list($a,$b,$c,$d) = explode(",",$data);
0693nobodyさん
04/10/22 14:58:14ID:???$csv = <<<CSV
"aaa","bbb","1,000","hoge"
"bbb","ccc","piyo","uyo"
CSV;
$result = preg_split("/(\",)?\"(\r\n)?/m", $csv, -1, PREG_SPLIT_NO_EMPTY);
var_dump($result);
0694nobodyさん
04/10/22 15:20:21ID:???何でやったらいいか思案中
プロセス間通信にファイルを使うのはダサいしなぁ
0695nobodyさん
04/10/22 15:20:58ID:wsf+cSNuネットで探してみたもののあまり参考になる例が無く…
詰まってしまいましたのでよろしくお願いしますm(_)m
ログデータは下のような感じで管理しているとして、
-------------------------
名前,DATA1,DATA2,DATA3\n
名前2,DATA1,DATA2,DATA3\n
名前3,DATA1,DATA2,DATA3\n
------------------------
このデータから"名前2"の行を抽出する場合どのようにしたらよいでしょうか?
一応下記の方法で試したのですが、どこが間違っているのかも解らず…
"名前2"以降のデータも全て取得してしまいます…。
正規表現がおかしいのでしょうか?
誰か解る方いましたらよろしくお願い致します。
$id="名前2";
$l_f = file_get_contents($logfile);
$idstr = "^($id,.*)$";//名前を正規表現に組み込む
if (ereg($idstr,$l_f,$rtdata)) {
echo $rtdata[1];
}else{
echo "エラー";
}
結果的にデータの中から一行を効率よく抜ければいいのですが…
0698695
04/10/22 18:15:34ID:???ありがとうございます
その方法は始めに試しましたが、
ログを増やしていくとなると重くなるのかな?と思い、
ループを使わない方法を探っております。
fseekを行単位で行えたらいいんですけどねぇ^^;
0699nobodyさん
04/10/22 18:45:51ID:???eval('?>' . $string . '<?php ');
だった。
phpの後に半角スペース1つ。
<?php
$string = "<html><body><?php echo date('m/d'); ?></body></html>";
eval('?>' . $string . '<?php ');
?>
0700なちじょあ ◆yEbBEcuFOU
04/10/22 18:57:33ID:???( ● ・3・ ● ) エェー >if (ereg($idstr,$l_f,$rtdata))
if (preg_match("/$idstr/m", $l_f, $rtdata))
0701nobodyさん
04/10/22 18:57:51ID:IrQQWX67print "<FORM method=POST target=up action=$PHP_SELF>\n";
print "名前:\n";
$cookiename = $_COOKIE["cookiename"];
print "<INPUT type=text name=ename size=20 Value=$cookiename>\n";
print "<INPUT type=submit value=入場口1>\n";
print "<INPUT type=hidden name=gateway value=entry1>\n";
print "<INPUT type=submit value=入場口2>\n";
print "<INPUT type=hidden name=gateway value=entry2>\n";
print "</FORM></BODY></HTML>\n";
一つのForm内で、一つのtextboxから2パターンに処理を振り分けることは
可能なんでしょうか?
上は、ボタン「入場口1」とボタン「入場口2」をそれぞれ押すと、別の
処理を流したいのですが、一つのFormから可能なんでしょうか?
或いは、他に方法があるなら教えてください。
0702なちじょあ ◆yEbBEcuFOU
04/10/22 19:06:33ID:???( ● ・3・ ● ) エェー submit の value は押さない限り送られないから
同じ name にして value 見て振り分けるとかすれBA?
0703698
04/10/22 19:13:53ID:???おおっ!!ありがとうございます〜!!
無事、やりたいことができました!
preg_matchの方がeregより処理が速いと書いてあったので、
一度試してみたのですが、その時はエラーが出て断念していました…。
これで安心して眠れます、本当にありがとうございますm(_)m
0704nobodyさん
04/10/22 19:22:42ID:/rwDGP0lデータベースを検索して、データの中のURLを取得するのですが、
そのURLのページに自動ですぐ行くようにするにはどう書けばよいですか?
$aaa = $row["URL"];
print($aaa);
で、目的のURLは表示されましたが
html部で
<META HTTP-EQUIV="refresh" CONTENT="1;URL='$aaa'">
とやってもうまくいきませんでした。。
0705nobodyさん
04/10/22 19:28:52ID:???http://jp2.php.net/manual/ja/function.header.php
0706nobodyさん
04/10/22 21:17:38ID:OP6//mfv0707nobodyさん
04/10/22 21:38:14ID:???phpを使ってMTAに接続しメールを送信するだけでなく、
MDAが配送したものをPOPすることができるか?ということならできる。
マニュアルのIMAP,POP3,NNTP関数を参照。
0708nobodyさん
04/10/22 22:50:34ID:???0709nobodyさん
04/10/22 22:51:50ID:???0710nobodyさん
04/10/23 01:26:33ID:2GvadRBBどういう風に書けば良いでしょうか?
0711nobodyさん
04/10/23 01:42:16ID:???fsockopen()
0712nobodyさん
04/10/23 02:37:12ID:???ですがどんなにがんばってもうまくいかなくてphpinfo()したところ、
safe_mode On
safe_mode_exec_dir /usr/local/php/bin
とありました。これはもしかしてsystem()とかpopen()とかは使えない状態なんでしょうか。
ちなみにxreaという無料スペース使っています。
0713nobodyさん
04/10/23 02:40:56ID:???0717nobodyさん
04/10/23 10:31:33ID:???0718nobodyさん
04/10/23 16:26:49ID:???デフォルトは0だそうですが、最大どのくらいの値を設定できますか?
0719nobodyさん
04/10/23 18:06:14ID:ICRztpGpecho ($a+"1");
上記の$a を連結して$a1とする方法はありますでしょうか?
0721nobodyさん
04/10/23 18:48:05ID:ICRztpGp${a.$foo}でうごきますた。
有難う。
0722nobodyさん
04/10/23 21:05:08ID:???intだから 2^32-1(=30億くらい)で無いの?(一般的なプラットフォームの場合)
実際には cookieのexpiresにセットされるわけで、
expires=Thursday, 31-Dec-2037 00:00:00 に相当するlifetime(10億秒後くらい)が妥当かと。
0723nobodyさん
04/10/23 22:07:31ID:???time()で取れる時間も10桁、いつか破綻しそうなのに大丈夫なのかなぁ
0725nobodyさん
04/10/23 23:39:16ID:???<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet href="test.xsl" type="text/xsl" ?>
<doc>
<head>テスト太郎</head>
<par>こんにちは、テスト太郎です。</par>
</doc>
という内容のXMLファイルを$xmlに読み込み、そのデータを echo $xml->asXML();で画面表示したのですが、
test.xslが反映されていません。XMLファイルを直接ブラウザで表示すると、反映されているのですが……。
どうしたらいいのでしょう、教えてください。
0726nobodyさん
04/10/23 23:39:34ID:???0727nobodyさん
04/10/23 23:40:45ID:???0728nobodyさん
04/10/23 23:42:56ID:???0729nobodyさん
04/10/24 00:14:07ID:???0730nobodyさん
04/10/24 00:20:31ID:???simpleXMLって、xslとかxsdとかに対応してなかった希ガス。
どっかで読んだと思うんだが、今見たら本家のSimpleXMLリファレンスには
書いてなかったし……(記憶違いだったらすまぬ)
"<"と">"の記号が2chと同じように変換されません。原因が分かる人教えて。。
環境:php4.3.8
$key = "<>";
$key = JcodeConvert($key, 1, 2); //EUC-JPの$keyをShift-JISに変換・・
$salt = substr($key."H.", 1, 2);
$salt = strtr($salt,":;<=>?@[\\]^_`","ABCDEFGabcdef");
$salt = ereg_replace("[^\.-z]", ".", $salt);
echo $trip = "◆".substr(crypt($key, $salt),-10);
0732nobodyさん
04/10/24 04:31:22ID:???0733nobodyさん
04/10/24 09:10:59ID:???サーバ側の PHP スクリプトと同じディレクトリに test.xsl があって、
ブラウザ側で PHP スクリプトが出力する XML に test.xsl を適用させたい
ということでいいのかな?
もし、そうだとしたら、デフォルトで PHP は
Content-type: text/html
を出力するので、単なる HTML ファイルとしてブラウザが認識しているはず。
PHP で XML 用のヘッダを出力すればブラウザが test.xsl を取得して
適用してくれると思う。
header('Content-type: application/xml');
一応、Mozilla Firefox では確認した。IE では試してないけど。
0734730
04/10/24 09:40:30ID:???あ、なるほど。THX
元質問者でないが、次そういう話がありそうなので助かった。御礼
0736nobodyさん
04/10/24 13:28:57ID:???Operaだと、xsltは無視される。
IEは追加のコンポーネントを入れないと、まともに表示されないのもある。
IEとMozillaで、xsltの解釈が違って、表示が異なる事がある。
0737725
04/10/24 14:17:43ID:???もちろん、(XMLを使うわけですから)そのくらいのことは存じております。
ですから、サーバサイドでXSLTを適用するか、それともブラウザの変換に委ねるかどうか、閲覧者に選択
させるようにするつもりです。
まあ、わざわざありがとうございます。
0738nobodyさん
04/10/24 14:43:24ID:???表示させるスクリプトを作りたいのですが、
同一ディレクトリ内ファイル名を配列$f_nameに格納後
zipとlzhのものを配列$itemに格納して一致するものを抜き出そうと
下記のように書きましたがうまくいきません。$new_f_nameが空になります。
よろしければどなたかおかしいところを教えていただけないでしょうか。
(ディレクトリ内のファイル名を$f_nameに格納するところまで省略)
$item = array("zip$","lzh$");
$new_f_name = array();
foreach($f_name as $value);{
if (in_array($value, $item)){
$new_f_name[] = $value;
}
}
$f_name = $new_f_name;
0739nobodyさん
04/10/24 15:53:21ID:???キーワードをgoogleのように色違いにしています。
str_replace('検索ワード', '<B><FONT COLOR="#FF0000">検索ワード</FONT></B>', $対象文字列);
と言う感じです。
これを改造して、半角空白でAND検索を出来るようにしたんですが
例えば「たま まご」で検索した場合、結果表示がうまくいきません。
元の文章が「生たまご全滅」だった場合に
本来なら「生<B><FONT COLOR="#FF0000">たまご</FONT></B>全滅」となって欲しいのですが
実際は「生<B><FONT COLOR="#FF0000">たま</FONT></B>ご全滅」となってしまいます。
途中で置換しているために「まご」が消えてしまい、置換されないためなのですが、
これをうまく回避または処理する方法はありますでしょうか。
何かアイデアなどありましたら、ご教授お願いしますm(_ _)m
0740nobodyさん
04/10/24 17:11:25ID:???それさ、実装したとして、
「結構 構文」 で検索したときに
「結構文章がうまい」 が 「<b>結構文</b>章がうまい」 になっちゃうだろ。
Google で 「たま まご」 で検索しても 「たまご」 にはハイライトされてないし。
っていうか 「たまご」 で検索したいなら最初から 「たまご」 で検索するんじゃ。
0741nobodyさん
04/10/24 17:26:42ID:l6rOaDlU最近、php&mysqlに手を出した、インチキweb屋です。
スクリプトなんかは、ありものを改造してなんとかする程度のレベルです。
よくある、登録したデータから条件を設定して検索したり、
データを登録するためのインターフェイスを作ろうと試行錯誤してます。
ローカル、及びリモート(レンタル鯖)でphpとmysqlは既に稼働してます。
データベース板で質問したのですが、web prog板で聞いた方がいいよ、と
言われこちらにおじゃましました。さて、いくつか質問させて下さい。
環境はPHP4.3.1、MySQL 3.23.58です。(本番用のレンタル鯖)
質問1 検索結果で、タイトルにあたるものをずらっとリストアップして
そこから、詳細画面(getでid を渡して表示)を出すというのをやってみました。
そのさい、詳細画面を表示するときにこっそり、count(例)というフィールドの
値を増やしてそのレコードに書き込む。すなわち、レコードごとにアクセスカウンタを
付けた(重複対策悩んですますが)ような事をしてみたのですが、やり方的に、変ですか?
普通のカウンタみたいに、レコードごとにカウント用のファイルを用意してするべきでしょうか?
質問2 ひとまず、検索、一覧、修正、登録、削除等の機能をmodeという変数で判別して
一つのphpのなかでcase文で振り分けてやりくりしちゃってるのですが
こういうやり方はかなり変でしょうか?(もちろん公開するときは修正、登録、削除は別ファイルにしますが)
質問3 本番で使うレンタル鯖は、phpのcgi版しか使えません。これだとHTTP 認証出来ないのですが
このような場合、修正、登録、削除などの管理画面をどのようにプロテクトすればよいでしょうか?
いざとなったら、編集作業のときだけ、スクリプトをアップして作業が終わったら消すとかw
質問項目が多くなってしまいました。「質問1 それ、変」とかそんな感じでいいので
アドバイスというか解答をいただけたらと思います。
0742nobodyさん
04/10/24 17:38:12ID:???思いつくまま適当に書いてみる
答え1
いいんじゃないですか。同時アクセスの問題とか解決できてるなら。
まあ、web屋さんだからその辺は心得てるだろうけど。
答え2
一つの関数に複数の異なる機能を持たせるのはあまりよくない。
一機能一関数位の感じで組むと見やすいと思うけど、その辺は個人の感覚次第。
答え3
DB使えるなら、認証はDBを使って作ってしまうってのはどうだろう?
それか、.htaccessを使えるならそっちで。
0743nobodyさん
04/10/24 17:44:26ID:???そういう質問している段階からピンで仕事を獲ろうという神経はどうかしてるよ。
悪いことはいわないから、とりあえず下請けから初めてプロジェクト管理なども
含めて勉強してください。
0744nobodyさん
04/10/24 17:44:34ID:???>質問1
>質問2
「変」ではない。
一般的かどうかなんて、そんなに重要なことじゃないだろ?
仕事でチーム組んで開発するのならいざ知らず、
個人的にやっているものなら、やりたいようにやればいい。
>質問3
自分で認証実装すればいいんでは?
いくらでもやりようはある。
ま、俺ならモジュールで動く環境使うけどな。
0745nobodyさん
04/10/24 17:49:25ID:???0746738
04/10/24 17:51:32ID:???0747739
04/10/24 18:07:30ID:???回答どもです。
>それさ、実装したとして、
>「結構 構文」 で検索したときに
>「結構文章がうまい」 が 「<b>結構文</b>章がうまい」 になっちゃうだろ。
まさにそういうことです。
検索者が意図してるしてないに関わらず、
単に結果を正確に表示したいという事です…
googleってのはイメージしやすい一例で出しただけで、
仕様としては「入力した文字を厳密にハイライトする」って形にしたいと思ってます。
「しんぶんし ぶん」のような形も
「たま まご」のような形にも対処できる、スマートな方法のアイデア、
何かありませんでしょうか…
0748nobodyさん
04/10/24 18:12:36ID:???検索側がわざわざ「たま まご」や「しんぶんし ぶん」で検索してるんだったら、
「たまご」や「しんぶんし」と混同されるとマズイってことだろう。
せいぜい表記ゆれを見て修正候補だすぐらいじゃない?
0751741
04/10/24 18:53:32ID:???>>742
1. いや、同時アクセスの場合のこととかそこまで深くは考えてません。
やっぱりカウンタ値を、単なるページの読み込みで書き換えるってのはヤバい気がしてきました。
2. この辺は、まだプログラムの構成も練れてないのでじっくり考えてみることにします。
3. 別テーブルにid とパスを入れてそこに問い合わせてあってたらそれ以後のスクリプトを実行という感じですかね?
>>743
漏れのスキルが至らないのは自分でも解りきっています。
これでも何も解らないところからひと月でなんとかここまで来た訳でして
むしろ、仕事を獲ろう、としたというより、仕事が来てしまった、と
いう形なのです。とにかくやるしかない状況なのです。
>>744
なるほど。自分の場合、他のひとは一切関わりませんし
すべて自分で作って自分で対処するので、自分のやりたいようにやるのが
いいのかもしれません。
幸い、漏れて困るような情報はあつかっておりませんので、勉強だと思って
思ったように作って少しずつ、知識に応じて改造していくのでもよいですね。
0752初心子
04/10/24 19:16:06ID:lx5zDplK例えばあるサーバAで稼動しているアップローダ(PHP)にアップロードされた
ファイルを、そのままFTPサーバの稼動しているサーバBにアップロードする、
ということは可能でしょうか?可能であるとしたら、どのようにすれば
そういうことが出来るのでしょうか?
0753739
04/10/24 19:29:39ID:???うーん。。なんというか、シンプルで厳密なものにしたいのです。。
>>749
すみません、2パスでやるとはどういうことでしょうか?
0754nobodyさん
04/10/24 19:38:44ID:???うーんとね、まず、どの文字を置換しなきゃならないかを全ての条件でサーチして、
結果をどっかに格納しておく。
で、おわったら、その結果を元に置換する。一文字単位で色変えれば簡単にできるでしょ。
冗長だけど。
0755カポ子
04/10/24 20:02:31ID:???拡張子チェックやリモートファイルの名前付け、
パッシブモード設定時等の処理は自分でやってくれの場合↓
<form enctype="multipart/form-data" action="_URL_" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
<?php
$filename = $_FILE['userfile']['tmp_name'];
$filesize = (int)$_FILE['userfile']['size'];
$fp = @fopen($filename,"r");
flock($fp,LOCK_SH);
@fseek($fp,SEEK_SET,0);
$upload = @fread($fp,$filesize);
flock($fp,LOCK_UN);
fclose($fp);
$cnt = ftp_connect($host,21,100);
$rslt = ftp_login($cnt,$user,$pass);
if(!$cnt):
echo 'I cannot look up the FTP SERVER.';
exit();
elseif(!$rslt):
echo 'I cannot look up the FTP USER.';
exit();
else:
if(@ftp_put($cnt, $remotefile, $upload, FTP_BINARY))
echo "OK!";endif;ftp_quit($cnt);
0757にーchan
04/10/24 21:23:00ID:???知っている方いたら教えてください。
0758nobodyさん
04/10/24 22:10:23ID:???0759nobodyさん
04/10/24 22:51:25ID:???0761nobodyさん
04/10/25 03:49:18ID:???それでは実際にタイムアウト処理を含んだソースを書くとすればどんな風に書きます?
そもそも、socket_set_timeout()で指定した秒数を超えるとどういう動作をしているのでしょう?
自分は今まで何も考えず、socket_set_timeout()さえ指定しておけば、勝手にソケット接続を閉じて
くれるとばかり思っていたのですが、どうもそれが上手くいっていないのではないか?(予想)という
ケースに遭遇しました。
色々と調べていると↓のようなソースを発見しました。
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/pukiwikimod/pukiwiki/proxy.php
これを見るとsocket_get_status()でチェックをかけてますが、必要な処理なのでしょうか?
ご意見求む。
0762nobodyさん
04/10/25 09:28:58ID:???質問1について
詳細のデータは対象物が変わならい限り更新の必要がないものでしょ?
その同じレコードにアクセスされるたびに更新されるカウンタを同居
させるべきじゃないよ。
具体的には詳細ID+カウント値という構成の別テーブルを作るべし。
詳細という事実とそれを参照されたという別の事実を混同しないほうがいいし、
更新頻度の異るデータを同じ場所に詰めこまないほうがいい。
質問2、3について
参照、修正、登録、削除それぞれ別ファイルにしておけばBASIC認証で済む。
0763nobodyさん
04/10/25 11:26:06ID:pw7w/xoj自分の製品を売っても、無料で使えて、出来ればソースの改造もしちゃって良いというの。
0764nobodyさん
04/10/25 11:31:40ID:XEONTDY3jpGraphとか?
0765nobodyさん
04/10/25 11:41:28ID:pw7w/xojレスありがとうございます。
jpgraphって商用版を買う必要がありませんか?
0766軟式PHP
04/10/25 12:05:26ID:???0767カポコン
04/10/25 13:14:27ID:???0769nobodyさん
04/10/25 13:27:18ID:R1CVi9Qf$_SERVER['QUERY_STRING'];
って、数字しか認めてくれないのですか?
http://~~.php?0432 と http://~~.php?A432 を
echo "<{$_SERVER['QUERY_STRING']}>";
と表示させたら前者しか表示されませんでした。後者は真っ白。
数字だけじゃ困るときはどーすれば良いですか?
0770nobodyさん
04/10/25 13:28:59ID:Dv6fMtrA0772770
04/10/25 13:35:29ID:Dv6fMtrA$abc_data = 'hoge';
$def_data = 'piyo';
$name = array('abc','def');
for($i=0;$i<count($name);$i++){
print ${$name[$i]}_data;
}
で、エラーが出ました。どこがいけないのでしょうか?
0773nobodyさん
04/10/25 13:48:37ID:???0774770
04/10/25 13:48:39ID:???$def_data = 'piyo';
$hensuu_name = '_data';
$name = array('abc','def');
for($i=0;$i<count($name);$i++){
print ${$name[$i] . $hensuu_name};
}
で出来ましたです。
0775nobodyさん
04/10/25 14:04:56ID:???んなわけない。<? phpinfo(); ?> が書かれているPHPに phpinfo.php?QUERY... でアクセスしてみろよ。
ちゃんと出てるだろ?
0776nobodyさん
04/10/25 18:21:09ID:???以下のようなものを作ってみました。
内容はTELや郵便番号・住所の番地部分などの数字とハイフンを
綺麗にそろえようとしたものですが、もっと短く綺麗なプログラム?にしたいのです。
どの部分をもっといじれば短く綺麗な物になるのでしょうか?
俺ならこう書くなどのコツを伝授してください
また付け足したほうがいい機能とかもあったら教えてもらえませんか?
*$inputとprint部は後で消したりフォームからの入力に対応させます。
$input = "999− 9 9 9―99 9 9";
$before = array("−","ー","ー","−","―"," "," ");
$after = array("-","");
$input=mb_convert_kana($input,"a","EUC-JP");
for($i=0; $i<count($before); $i++){
if($i<count($before)-2){
$input = str_replace ($before[$i], $after[0], $input);
}
else
$input = str_replace ($before[$i], $after[1], $input);
}
print($input);
0777nobodyさん
04/10/25 18:53:56ID:???こんな感じかなぁ
$input = "999− 9 9 9―99 9 9−8ー8ー8−8―8";
$bar = array("−","ー","ー","−","―");
$bars = implode("|",$bar);
$input = mb_convert_kana($input,"a","EUC-JP");
$input = preg_replace("/$bars/","-",$input);
$input = preg_replace("/[^\d-]/","",$input);
echo "$input\n";
0778nobodyさん
04/10/25 20:02:36ID:???IFもFORもなしに出来るんですね!
教科書レベルの私には分からない
関数が2つほど出て来てるので
いまから必死こいて勉強したいと思います。
ありがとうございました。
0779nobodyさん
04/10/25 22:30:48ID:???$input = "999− 9 9 9―99 9 9";
$before = array("−","ー","ー","−","―");
$input=mb_convert_kana($input,"as","EUC-JP");
$input = str_replace ($before, '-', $input);
$input = str_replace (' ', '', $input);
print($input);
こんなんでもいいんじゃない?
0780741
04/10/25 22:59:58ID:???なるほど。質問1についてとても参考になりました。
アクセスしただけで、count(例)というフィールドの値を読み出して
1足して書き込む。これってある意味、編集であるわけじゃないですか。
そのカウントアップするphpに変なクエリ(漠然としかわかってないです)を
つけたURLを送ったりして変なことされちゃうという危険性はどうなんでしょうか?
別テーブルでやります。
自分で調べたところ、フィールド内の値の更新は、mysqlの場合
自動的にロックされると理解したんですが同時アクセス(更新)に対しての問題はいまいち理解不足。
質問2-3はおっしゃるようにしようかと思います。
自分のように、中途半端な知識のまま、覚えたてのことだけでなんとかして
業務に使わなくてはならないのは、悲惨なんだか恵まれてるんだか、
自分でもよくわからなくなってきますた。
ひと月くらいの間でphpとmysqlのことばかりでちょっと頭おかしくなりそうです。
0781nobodyさん
04/10/25 23:25:34ID:???テーブルに書き込む前段階で入力値チェックすればいい。
自分が想定した以外の値が来たらエラーを返すようにする。
アクセス→カウントUPだけなら変なクエリも糞もない気はするけどな〜。
むしろ、他の部分で気を付けるようにして欲しい。
0782741
04/10/26 00:03:37ID:???ご丁寧に有り難うございました。
幸い、漏れて困るような情報は扱わないので、その辺は気楽です。
このところ、一気に詰め込みすぎたせいか、なんだか、えらく作業の効率が悪いです。
ここひと月ほど、休みも自宅でどっぷりでしたから。たまには気分転換もしないと・・・
0783nobodyさん
04/10/26 03:20:50ID:???おお〜これなら今の私でもわかる!!
なるほど…asで先に全角を半角にしてしまう手があったんですね…
理解してしまうと何でこんな単純なことががが・・・
自分で書いたやつがとってもお恥ずかしい限りです(汗)
777さんの9〜10行目の"/ほにゃらら/"このスラッシュが何の役割を
しているのかが分かりませんでしたが、大変勉強になりました
779と777の御二方ありがとうございました。
0784nobodyさん
04/10/26 05:07:44ID:nD9jwmRQprint "<FRAME name=up src=$PHP_SELF?mode=entry>\n";
print "<FRAME name=bottom src=$PHP_SELF?mode=output1>\n";
print "</FRAMESET>\n";
現在、↓のプログラムのボタンを押すと、Frame上部の画面(upの画面)が、変わる仕組みになっています。
これを↓のプログラムのボタンを押すと、上下両方の画面とも(Frameのupとbottom)更新されるようにする
方法を教えてください。
print "<FORM name=form2 method=POST target=up action=$PHP_SELF?mode=entry>\n";
print "<INPUT TYPE=SUBMIT NAME=b_act VALUE=ボタン>\n";
print "</FORM>\n";
0788nobodyさん
04/10/26 20:08:06ID:???array_splice($lines, $key, 1)
だとうまくいきません。
どうしたらいいですか?
0790788
04/10/26 22:06:06ID:3sXEVKxIarray_values()でどうしたら特定の要素を削除できるんですか?
0791nobodyさん
04/10/26 22:28:11ID:???unset($lines[$key]);
ってことかい?
0794788
04/10/27 01:01:26ID:???array_spliceで配列$linesから$lines[$key]だけを削除したい
でした。
おそらく793のやり方でいけそうです。
791,793さん、ありがとうございました。
0795nobodyさん
04/10/27 01:40:01ID:cq+DW3Jz$line='p180';
とあり、preg_match()を使って、pと180に分けたいのですが、PHPの
マニュアルやら、手持ちの本やらを見てもさっぱりわかりません。
わかる方、教えて頂けると助かります。
0797nobodyさん
04/10/27 01:47:36ID:???それだけの条件じゃいまいちワカランがな。
先頭のアルファベットと後ろの数字を分けるなら、
preg_match('/^([A-Za-z]*)([0-9]*)/',$line,$reg);
print_r($reg);
0798795
04/10/27 01:52:25ID:???(;・∀・)モシカシテ・・・
おー!できましたー!!!
ありがとうございます。本当にありがとうございます。(つД`)
>>796-797に幸あらん。
0799nobodyさん
04/10/27 01:56:53ID:???PHPっつーか、正規表現だよん。
0800nobodyさん
04/10/27 12:00:43ID:???RedHat Linux + PHPのサーバーからWindows + SQL Serverにアクセスしたのですが、
MS SQL関数は使えないのでしょうか?
調べてみるとsybase関数を使うという記述があったようなのですが、
資料が乏しくて理解に困っております。
どなたかご教授頂けないでしょうか。
よろしくお願いします。
0801nobodyさん
04/10/27 12:54:42ID:???http://jp2.php.net/manual/ja/ref.mssql.php
>注意: MSSQL拡張モジュールは、Win32システムでのみ利用可能です。
参考
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&q=unixodbc+freetds
0802nobodyさん
04/10/27 14:34:57ID:???Turbo Linux + PHP + qmail で mail()関数を使いたいと思っています。
ところが“Fatal error: Call to undefined function: mail()”が発生します。
PHPのマニュアルを読むと、qmailの場合は
sendmail_pathにパスを設定すると書いてあります。
“Qmailユーザは、通常、 /var/qmail/bin/sendmailまたは /var/qmail/bin/qmail-injectに設定します。”
php.iniのsendmail_pathには/var/qmail/bin/qmail-injectが設定されていますし、
ファイル自体も存在しています。
qmailデーモンも立ち上がっています。
どんな問題が考えられるでしょうか?
0803nobodyさん
04/10/27 14:45:14ID:???エラーレベルを上げてもっとたくさん報告してもらうようにするとか。
/var/qmail/bin/sendmailを(シンボリックリンクとして)作ってみるとか。
定義済みの関数一覧を出力してみてmail()が存在するかどうか確認してみるとか。
それぞれの方法は自分で調べてくれ。
0804nobodyさん
04/10/27 15:04:11ID:???エラーレベル:
E_ALL にしてもFatal errorの表示のみ
シンボリックリンク:
/var/qmail/bin/sendmail は既に存在したので、
php.iniでそっちを指定しても状況変わらず
定義済み関数一覧:
main()は存在せず・・・。
という結果となっています。
0805nobodyさん
04/10/27 15:04:54ID:???qmailで送信できてるかテストしてみた?
echo to: your@mail.addr | /var/qmail/bin/qmail-inject
0806802
04/10/27 15:09:45ID:???あ、こんな方法があるんですね。
ありがとうございます。
その方法では送信成功しました。
mail() → Fatal error
mb_send_mail() → FALSE
imap_sendmail() → TRUE(1)
全て送信失敗です・・・。
0807802
04/10/27 15:13:22ID:???imap_sendmail() → imap_mail()
0808nobodyさん
04/10/27 15:27:49ID:???でgoogleでイメージ検索して、2段目の最初の画像を見てみろ。
それが答えだ。
0809nobodyさん
04/10/27 15:31:07ID:???1.telnetでlocalhostの25番Portに接続
2.接続できたらSMTPコマンドで送信テスト
これも問題ないようであれば原因はqmailじゃないと思うよ
0811nobodyさん
04/10/27 16:24:33ID:???スクリプトファイルのオーナーuidとhttpdの実行uidが違う場合に
激しく不便なんだけど。
0812nobodyさん
04/10/27 16:28:15ID:???0813nobodyさん
04/10/27 18:56:54ID:8mNdDRMEPCREで、正規表現側に日本語文字列を使うとき、みなさん、どうしていますか?
マッチさせるテキストが日本語の場合は問題ありませんが、
正規表現に文字クラスを使うと、日本語の文字が1バイト文字の2文字として解釈されて困っています。
UTF-8を試してみたのですが、改善されませんでした。
おそらく既出だとは思うのですが、過去ログはすでに倉庫行きで見れません。
よろしくお願いします。
0814nobodyさん
04/10/27 19:00:29ID:8mNdDRME>マッチさせるテキストが日本語の場合は問題ありませんが、
これは、マッチさせるテキストは問題を引き起こさないという意味で、
正規表現が日本語の場合は、テキスト側のコードが何であっても問題が起こりました。
よろしくお願いします。
0816802
04/10/27 19:50:02ID:???関数一覧にmail()関数がなくなるようなインストールの仕方って、
どんなのなんですかね・・・。
http://people.paperclip.com.pe/jaguar/writeups/mailerror.php
ここを見て、qmailの方が後にインストールされた場合は
そんなこともあるから、PHPを再ビルドしろ(合ってますかね?)
という旨書いてあったので
make clean
make
make install
したのですが状況は変わりませんでした。
mail関数は標準関数なのに・・・。
0818802
04/10/27 20:11:44ID:???./configure からやり直したらmail()関数が使えるようになりました。
qmail をインストールした後にconfigureしないと、
mail()関数は有効にならないようです。
お騒がせしました。
0819nobodyさん
04/10/27 20:24:16ID:???逝け
0820802
04/10/27 20:28:24ID:???コマンドライン起動のPHPです。
0821nobodyさん
04/10/27 21:53:39ID:mWarabBu0823nobodyさん
04/10/28 01:19:45ID:???Yahoo!がPHPとMySQL使ってる事例が結構出てきた。
普通に大規模サイトで使えるんだね。
0824nobodyさん
04/10/28 01:28:18ID:???でも入れてるデータって何なの?
更新のほとんど無いカテゴリの情報?それとも頻繁に更新があるヤフオク?
0825nobodyさん
04/10/28 02:20:44ID:???PEARやSmartyを使うと大量にエラーが発生してしまいます。
外部のライブラリに手を加えずに、エラーを抑制して、
自分の書いたものにだけE_STRICTを適用することはできるのでしょうか?
0826nobodyさん
04/10/28 02:55:06ID:???最初に使ったのはYa!FINANCEのサイト。
使うべきところと使うべきでないところをきちんと判断し、
使うべきところで如何に適正に使うかを述べている。
0828nobodyさん
04/10/28 03:56:29ID:vepR/sO0豆にやってたメンバがやたら増えてわけわかんなくなるは
名前に規則性がないから判別つかんわ・・・
全部
SELECT * FROM でやっていいでつか?
パフォーマンスおちるかなぁ
0829T
04/10/28 04:46:02ID:d4m97dkaバージョンはPHP4.2.2、MySQL3.23.55です。
mysql_query()で2つのテーブルAとBのいくつかのフィールドを同時に
更新したいのですが、いろいろ試してみても方法が見つらず困ってます。
まず、mysql_query()では一度に一つのクエリーしか実行できないですよね?
で、各テーブルを別個に更新するクエリーAとクエリーBをそれぞれ順番に
mysql_query()で実行したとして、クエリーAが成功した後、
万一クエリーBが失敗した場合に、クエリーAの更新をキャンセルすることは
できないでしょうか?
MySQLのバージョン4あたりからCommit./Rollbackとかが使えるように
なってるらしいんですがMySQLのバージョンアップは考えておらず...
最初のクエリーの実行を一時的に保留にして、両クエリー成功時のみ更新を
反映させるなんて方法はないものでしょうか?
苦しまぎれにUpdate構文で2つのテーブルを内部結合して一発で更新、
なんて方法も試してみましたが、これもエラーに。
この方法もやっぱりムリなんでしょうか?
こういうケース、皆さんはどう処理されているのでしょう?
ちょっとMySQL板寄りの質問かもしれませんが、PHPのコードでなんとか
できる部分があればどうぞお知恵をお貸しください。
よろしくお願いいたします。
0831nobodyさん
04/10/28 07:25:46ID:???http://pc5.2ch.net/test/read.cgi/db/1096838301/178
条件の下、別の配列に格納しようとします。
例えば、Fileから読み込み格納した配列が
(A,B,5,D,1,A,B,A,B,10,23,A,40,A,B,C)
と並んでるとします。
この中から
DATA(10,23,40)を別に取り出したい(数字10以降から表れるn=3個の数字)
時は、どう考えたら良いのでしょうか。
0834nobodyさん
04/10/28 18:31:34ID:???(A,B,5,D,1,A,B,A,B,10,23,A,40,A,B,C)
と並んでる配列の中から数字10以降から表れる3個の数字を
別に取り出せばいいんじゃないかな?
つか何を悩んでいるのかさっぱり判らん。
0835nobodyさん
04/10/28 18:58:57ID:???太郎
花子
太郎
次郎
三郎
太郎
・・・
のようになっているとして、「太郎」を含む行だけを消したいです。(消したところは詰める)
fopen("log.log","w+")で開いて、forを用いpreg_matchで該当するモノを「""」に置き換えて消しては
fwriteでlog.logに書き込むという方法を使っていますが、ログが何メガとでかくなっていると
なんとなくデータが吹っ飛びそうで怖いです。
安全に、速く消していける組み方ってどんなもんでしょうか?
0836835
04/10/28 19:03:17ID:???$list=file("log.log");
$logfile = fopen("log.log","w+");
flock($logfile,LOCK_EX);
for ($i=0;$i<count($list);$i++) {
if(preg_match("/太郎/",$list[$i])) {$list[$i]="";}
fwrite($logfile,$list[$i]);
}
fclose($logfile);
0837nobodyさん
04/10/28 19:17:48ID:???から
flock($logfile,LOCK_EX);
の間で書き込みがあったら壊れるな
0838nobodyさん
04/10/28 19:28:04ID:???テンポラリファイルでやれば途中で止まっても大丈夫。
$fpt = fopen('tmp', 'w');
$fp = fopen('log.log', 'r');
flock($fp, LOCK_EX);
while($buf = fgets($fp, 1024)){
if(!preg_match("/太郎/", $buf)) {
fwrite($fpt, $buf);
}
}
fclose($fp);
fclose($fpt);
copy('tmp', 'log.log');
0839nobodyさん
04/10/28 20:19:32ID:???$Test="_POST";
$$Testと指定して$_POSTにしformの中身を持ってきてるんですが
$$Testのなかみを無理やり、
$$Test="abc";
echo("$$Test");
としてもechoの結果Arrayとでて中身が表示されんです
"abc"を$$Testと関連付けするためにはどうしたらええんでしょうか?
0840nobodyさん
04/10/28 21:55:43ID:???mb_convert_encodingが使えませんorz
どこか設定ファイルを書き換えれば使えるんでしょうか。。
0841nobodyさん
04/10/28 22:18:32ID:???http://www.php.net/manual/ja/ref.mbstring.php
0842nobodyさん
04/10/28 22:19:23ID:???設定ファイルの中に書いてあるよ。
mbstring や mb_ で php.iniやphp.ini-distの中を探してみる。
さらにマニュアルのマルチバイト文字列関数のところを熟読すると、
先々でつまらないミスをしなくて済む。
0845nobodyさん
04/10/28 23:46:09ID:kVaGnhG6ちょっと自分ではどうしようもないので質問させて頂きます。
index.phpがあり、その中から、http://host.dom/print.cgiを呼び出し、且つ
その表示結果を変数に入れたいのですが、可能でしょうか?
アドバイスでも何でも結構ですので、頂ければうれしいです。
一応こういう風にすればできる。
$var = file_get_contents('http://host.dom/print.cgi');
$Arrayと出ていませんか?ちゃんと細かく出力結果は書くべきですよ。
それはさておき、これは(${$Test})として変換されたのではなく('$' . $Test)
として変換されたからこうなったのです。代入はうまくいきます。
最後の出力行をecho $$Test;又はecho "${$Test}";に変えてみてください。
チェックしてないけどこれもいけるかも。
$fn = fopen('log.log', 'r+');
if (flock($fn, LOCK_EX)) {
$fn2 = fopen('log.log', 'r+');
while ($buf = fgets($fn, 4096))
if (strpos($buf, '太郎') === false) fwrite($fn2, $buf);
}
ftruncate($fn2, ftell($fn2));
fclose($fn2); fclose($fn);
テンポラリファイルを固定してしまうならばテンポラリファイル
にもロックかけたほうがいいかも。whileループ中に多重起動した
らテンポラリファイルが消えるし追加もよくわからなくなる。
>>849
ftruncateはifブロックの中入れるべきだった…
ほかは大丈夫。な、はず。たぶん、
0851843
04/10/29 01:10:07ID:???>>848
cgi-binのperlスクリプト用datファイルはshift-jisで、ホームディレクトリ側のphpファイルはUTF-8なんで困ってました。
幸い鯖の方はmbに対応してたんですけど、やはりローカルでも同じコードで確認できないと。。
jcode.phpとかではどうもうまくいかなかった・・・。
0853845
04/10/29 07:13:25ID:???おはようございます。
お返事遅くなってしまって失礼致しました。
上記関数で、無事値を取ることが出来ました。どうもありがとうございました。
file_get_contents()なんてあるんですね。とても勉強になりました!
0854800
04/10/29 09:54:59ID:???言われた通りunixODBCとFreeTDSとlibiconvをインストールしました。
いざPHPでodbc_connectを使用してみようとすると、
Fatal error : Call undefines function: odbc_connect() .....
と言われてしまい動きません。
odbc関数を使用するにあたってPHP側の設定でしなければいけないことはなにがあるんでしょうか?
是非お願いします
0855nobodyさん
04/10/29 11:20:26ID:fJt1IS4+これ読んだうえでの質問か?
http://jp.php.net/manual/ja/ref.odbc.php
0856800
04/10/29 12:41:08ID:???結局Linux + PHPからWindows + SQL Serverにはアクセスできないんでしょうか?
0859800
04/10/29 13:18:23ID:???本当に困っているので教えていただきたいのですが・・・。
0860nobodyさん
04/10/29 14:08:41ID:???./configure --with-out=mysql --with-mysqli=/path/to/mysql_config
としても有効になりません。
ちなみにPHP5.0.2ではうまくいきました。
PHPのマニュアルを読むと、
http://www.php.net/manual/ja/ref.mysqli.php
> mysqli拡張サポートはMySQL 4.1.2以上で動作するよう設計されています。
と、書いてあるだけで、PHPに関しては特に何も書かれていないのですが…。
PHP4.xで利用する方法はあるでしょうか?
環境:FedoraCore2+MySQL 4.1.7+PHP4.3.9
0861860
04/10/29 14:13:15ID:???0862nobodyさん
04/10/29 14:19:17ID:???釣り?
一応マジレス。
without-mysqlしちゃうとmysql無効になるので、
mysql使いたいならwith-mysqlにしなければならない。
詳しくは、./configure --help|grep "mysql"
マニュアルよく読め。
0863862
04/10/29 14:21:12ID:???>862は無かったことにしておいて下さい。
0865nobodyさん
04/10/29 14:41:30ID:???よろしくおねがいします。
0866nobodyさん
04/10/29 14:47:53ID:???http://jp2.php.net/manual/ja/function.mt-rand.php
一番下まで読め。
一般にはMD5を使うことになるのかな
関数「md5」の欄参考
0868nobodyさん
04/10/29 14:56:23ID:???RHL9+PHP4.3.8でMySQL付属(PHPのバンドルではない)の
新旧クライアントライブラリ使ってmysql/mysqli両方とも使ってるけどな。
マニュアルの説明に従っただけで特に何もして無いよ。
実験段階の頃のmysqliとそのころのPHPでも問題はなかった
(多少の問題はあったが、動いていたということ)
0869868
04/10/29 15:01:40ID:???多分実験段階で動かしてたのもPHP5のalphaとか正式版以前のものだわ。
処刑決定・・・
0871860
04/10/29 15:08:15ID:???こやつめ…ハハハ…(AA略
>>867
32文字固定になってしまうので、>>886に載ってるサンプルがよろしいかと。
>>868-869
おお!と思ったのもつかの間、やっぱりだめでしたか。
何が原因ですかねぇ。
0872nobodyさん
04/10/29 15:12:20ID:???0873868
04/10/29 15:18:45ID:???原因というか、
http://www.php.net/manual/ja/function.mysqli-connect.php
のようにmysqliのメソッドの記述のあたりをみても、
PHPの対応バージョンがPHP5となってることから使えないと思う。
だからPHP4で使った/使えた記憶が微かにあるのだが、これは完全に思い違いと思われる。
#PHP4/5もMySQLもApacheも、インストールしてる奴が微妙に1つ前のばっかりだ..orz
0874865
04/10/29 15:25:38ID:???2〜3行で簡単に作れますかね?
0875860
04/10/29 15:26:59ID:???ああなるほどw
まだ、使う前なのでそこまで見ていなかった。
どうせなら、導入部分に書いといてくれたらいいのにね。
対応していないということがはっきりしたのですっきりしました。
どうもありがとう。
0877865
04/10/29 15:45:31ID:???0878nobodyさん
04/10/29 16:03:21ID:???$rand = base64_encode($test);
echo $test;
OK?
$rand = mt_rand(100000,999999);
$rand = base64_encode($test);
//echo $test;
encode($test)って一体・・・orz
0882nobodyさん
04/10/29 16:19:39ID:???$hoge = md5(uniqid(rand(),1));
0883nobodyさん
04/10/29 22:09:16ID:???フォームの値が”みかん、りんご、ばなな”として
それを変数”fruit”に代入します。perlだと
@fruit=("みかん,りんご,ばなな");
print "$fruite";
としたら結果表示が「みかんばななりんご」
と出来たと思うのですが、PHPのやり方がよくわかりません。。
0884nobodyさん
04/10/29 22:17:23ID:???何をやりたいのかいまいちよくわからんが、
$arr = array("みかん","りんご","ばなな");
print join("", $arr);
ってことか?
0885883
04/10/29 22:20:38ID:???はい、そういう事なのですが、出力結果は「Array」とだけ表示されてしまいます。
下記のように記述しているのですが。。(フォームの値を取得しています。)
<?
$fruit = array('$fruit01','$fruit02','$fruit03');
print ($fruit);
?>
0888883
04/10/29 22:28:56ID:???すみません、質問自体が馬鹿でした・・。
要はこういう事です。
■フォームのチェックボックスより選択
・好きな果物は?
みかん($fruit01)りんご($fruit02)ばなな($fruit03)
「確認ボタン」をクリックすると確認画面が現れて下記のように表示されている
好きな果物:(チェックした果物名が表示されている )
上記のような事がしたかったので、果物名を$fruitに代入して
その中身を表示する記述がしたかったのです。
0889nobodyさん
04/10/29 23:18:08ID:???Perlでまともな物をかける人間なら、マニュアル読めば絶対理解できる。
保障する。
0890nobodyさん
04/10/29 23:28:05ID:???っていう質問いい加減ウザイ
周りがPHPだから自分も移行ってか?さっさと氏ね
0892nobodyさん
04/10/29 23:58:10ID:???俺は他言語に移るときは必ず本買うけどなぁ。
0893nobodyさん
04/10/30 00:01:53ID:???プログラム自体初めてだったら参考書も必要だろうけどね。
0894nobodyさん
04/10/30 00:05:04ID:???0895nobodyさん
04/10/30 00:18:34ID:???そういう馬鹿は質問すんな。リストラされて引きこもってろ。
0896nobodyさん
04/10/30 01:33:39ID:???imagepng($image);
こう書いたんですが、
臼NG
としか表示されないんですがどうしてでしょうか?
鯖はXREAで、GDライブラリも最新版のものが入っていたはずです。
0900nobodyさん
04/10/30 07:07:04ID:???あーあ、マニュアルチェックしてから書けばよかったのに・・・
http://www.php.net/manual/ja/function.join.php
> join() は implode() の 別名で、実体はまったく同じものです。
0901nobodyさん
04/10/30 07:49:34ID:???ココを嫁!
http://www.pahoo.org/e-soul/webtech/phpgd/phpgd-02-02.shtm
0903nobodyさん
04/10/30 09:32:45ID:???でもjoinならperlに全く同名でほぼ同じ働きの関数があるから、
perlからの移行組なら簡単に理解するんじゃないかと
884や886は思ったんじゃないか?
でもその意図は元質問者には理解されなかったようだけど・・・
0904nobodyさん
04/10/30 10:24:48ID:eL+7QS/f今PHPでのディレクトリ操作等について勉強中なのですが、
年別フォルダを作成し(今年ならば2004)
フォームに内容等を書き込み日付_101(1030_101,1030_102)というようなファイルを作成して、
そのファイルに変数として内容格納し,それをインクルードさせて一覧表示する。
といったようなプログラムを作成中です。
ディレクトリ、ファイルの作成、変数の書き込みはうまく行ったのですが最新のファイル順に読み込んで表示させるといった部分で詰まってしまいました。
良い方法がないもんでしょうか・・・
0905nobodyさん
04/10/30 11:03:48ID:???自慢げにまぬあるのURL晒されてもな・・
0907nobodyさん
04/10/30 12:36:52ID:???0908nobodyさん
04/10/30 12:37:47ID:X9SzlMJ/↑の掲示板をサーバー設定EUC環境で設置したいのですが、
具体的にどこをいじればいいでしょうか?
何もしない状態でFFFTPでアップすると書き込んで更新するときに文字化け+
エラーが出ます。
サクラエディタですべてのファイルを、charset="Shit_JIS"を全てcharset="EUC-JP"に変更 且つ
EUCコードで保存してアップすると真っ白の画面が出てくるだけですo(-_-;*) ウゥム…
どうすればいいでしょうかil|l|_| ̄|○|l|li
0910nobodyさん
04/10/30 12:54:48ID:???どこがどう文字化けしてんだよ。
もっと具体的に書け
0911nobodyさん
04/10/30 12:58:41ID:???廃止予定の関数でもあるまいに。
0913nobodyさん
04/10/30 13:15:03ID:X9SzlMJ/<何もしない状態でFFFTPでアップすると書き込んで更新するときに文字化け+
<エラーが出ます。
・管理メニューの設定変更という画面で設定更新というボタンをクリックして更新
しようとすると漢字平仮名がすべて半角カタカナ、点などに文字化けします。
(アップして何もしない状態では文字化けは発生していません。早い話更新をするとすべてが文字化けします)
・書込みが可能な画面で書込みをしようとするとERROR:ユーザー設定が消失しています!
というエラーが発生し、書き込もうとした内容がすべて文字化けしています。
0914nobodyさん
04/10/30 13:16:48ID:X9SzlMJ/ほかに設置した掲示板は
>サクラエディタですべてのファイルを、charset="Shit_JIS"を全てcharset="EUC-JP"に変更 且つ
>EUCコードで保存
のみで正常に作動しますた( ゚∀゚)
0915nobodyさん
04/10/30 13:32:07ID:???0916nobodyさん
04/10/30 13:34:16ID:???それはおかしな話だな。
grep -r sjis *を掛けると mb_convert_kanaが見つかったのだが。
地道に全部のファイルに目を通して修正していくのが良かろう。
0917nobodyさん
04/10/30 14:45:39ID:???>>901
どもありがとう。
ということで
header("Content-type: image/png");
$img = imagecreatefrompng("./puyo/w_01.png");
imagepng($img);
imagedestroy($img);
こう書いてみたんですが、やはり同じエラーになってしまいます。
何か他に原因があるのでしょうか?
0918nobodyさん
04/10/30 15:00:15ID:c8pJE3eDあるクラス内で使いたい関数が他のクラス内にある関数と全く同じものだった場合、
そこから呼び出してきたほうがいいのでしょうか?
これはオブジェクト指向の考え方とすこし違うような気もするし、
呼び出した場合もコードが長くなって、なんだかな・・・といった感じです。
どのようにするのが最善な方法でしょうか?
0919nobodyさん
04/10/30 15:01:39ID:c8pJE3eDは、
>呼び出さない場合もコードが長くなって、なんだかな・・・といった感じです。
でした、すみません。
0920nobodyさん
04/10/30 15:31:54ID:X9SzlMJ/頑張ってみます
0922nobodyさん
04/10/30 17:06:57ID:KmTYtaw8apache_module じゃなくて。
javaだとserlvetで言うところのapplicationContextに常駐キャッシュ置いたりして使えるような。
0923nobodyさん
04/10/30 17:14:54ID:c8pJE3eD返信ありがとうございます。
あれから、調べてみたのですが、
さっきの二つのクラスに基底クラス(抽象クラス)を作り、
継承させればいいということでしょうか?
(的外れだったら申し訳ありません。)
0924899
04/10/30 18:01:12ID:???PHPは関数名がコロコロと変わる
例
set_socket_timeout()
↓
socket_set_timeout()
↓
stream_set_timeout()
急に互換性なくなったかと思えばPHP5になっても残ってたり。
だから、エイリアスより本命の関数を使えと言いたかったのが一つ。
んで、注意しなければいけないのが、split()とexplode()は意味が違う事。
俺はPHPではsplit()を使う事はまずなく、動作速度も速いpreg_split()を使う。
だから、implode()⇔explode()の対で覚えた方が良いというのが一つ。
正規表現が必要な時のみpreg_split()を使うと覚える。
とまぁ>>899の2行からこの程度の事は汲み取って欲しいわけだが、お前らには無理ですか?
0925899
04/10/30 18:10:11ID:???質問の際は名前の部分に元質問の番号を書いておいてくれると見やすい。
XREA使ってるそうだけど、広告が自動挿入される無料鯖では?
0926896
04/10/30 18:24:04ID:???0927896
04/10/30 18:28:06ID:???どうもご迷惑をおかけしました<(_ _)>
0928nobodyさん
04/10/30 19:25:45ID:???ログファイルに記事を書き込ませて、それを管理側が読むって形はまずいでしょうか?
簡単に第三者に覗かれちゃいますか?
0929nobodyさん
04/10/30 19:43:31ID:???PHP関係ないよ
0931886
04/10/30 22:18:16ID:???いいたい事は理解できるが、俺はまさに>>903が指摘してくれた理由で
joinを使ったんだよ。一旦echoと書きたところをprintに直したのもそう。
似たような関数で速度が異なるのもそうだが、引数の順番が微妙に
入れ替わってたりするのもいやんだな。そういう部分に手が入ることは
この先もずっと無いのだろうか?
0932nobodyさん
04/10/30 22:55:10ID:NqoZ1zP0コンプレックスの応酬ってさ、見てて気持ち悪いだけだしさ
0933nobodyさん
04/10/30 22:59:32ID:mTugq4bl|
|
J
/V\
/◎;;;,;,,,,ヽ
_ ム:::(;゜Д゜):| ドキドキ
ヽツ.(ノ:::::::::.:::::::.:..|)
ヾソ::::::::::.:::::::ノ
` ー U'"U'
while(){
$n = 2n;
$hoge = $array["$n"];
$hogehoge[] = $hoge;
}
じゃないの?
0935nobodyさん
04/10/31 00:46:00ID:???0936nobodyさん
04/10/31 00:50:05ID:???$a1 = "hhhh";
$a2 = "oooo";
$a2 = "gggg";
for($i=0;$i<5;$i++){
echo $a."$i";
}
$a1 $a2 $a3 とする表現する方法を教えて下さい。
0938nobodyさん
04/10/31 00:58:46ID:???0941nobodyさん
04/10/31 01:49:24ID:R5h305R8PHP + MySQL の環境を作る際の質問です。
ある書籍で
「PHPのインストールの前に必ずMySQLをインストールしておくこと」
というような記述があったのですが、これは何を意図しているのでしょうか?
これを怠った場合にどういうことが想定されるのでしょうか??
ご教授よろしくお願いします。
0942nobodyさん
04/10/31 01:52:37ID:???0943nobodyさん
04/10/31 01:54:51ID:???漏れはやったことないから分からん。
簡単な予想としては、MySQLを先にインスコしたあとPHPをインスコするとMySQLのインスコ状態を認識して
自動でMySQLが使えるようになるんじゃね?
ありがとう
0945nobodyさん
04/10/31 05:04:12ID:???mysqlのクライアントライブラリやヘッダーファイルの食い違いの問題。
だだ、そこの「必ず」は(スムーズにインストールを進めるためには)必ず程度の意味だと思うよ。
0946nobodyさん
04/10/31 13:04:25ID:sxTaJgq6対象ページにイメージタグ
<img src="http://dabudabu.hoge.co/hoge.php" width="1" height="1" />
を挿入することで、
対象ページ間の移動を把握したいです。
しかし、上記 hoge.php にてクッキー発行処理を行っても、
うまいこと処理されません。
もちろん、HTTPプロトコル上、
クッキーの設定はHTML出力前のヘッダー部で行う必要があることは把握している
のですが、
上記要件をクリアする hoge.php を作成できないものでしょうか?
よろしくお願いします。
0947nobodyさん
04/10/31 13:09:24ID:???0949nobodyさん
04/10/31 13:32:17ID:qucf7+9r送信じゃなくて、作成ってことを言いたいんだろ
0950nobodyさん
04/10/31 13:37:44ID:???クッキー出すところでインクルードでもしてろ
0951nobodyさん
04/10/31 13:58:14ID:sxTaJgq6第三者にアクセス解析を提供したいと考えています。
第三者のホスティングサーバでは必ずしもPHPエネーブルなわけではないので、
第三者が容易に組み込める手法として、HTML内のイメージタグSRCアドレスでアクセス解析を実現したいです。
0952nobodyさん
04/10/31 14:04:19ID:sxTaJgq6例えば、
http://www.uwg.co.jp/
では正に同様の方法で、実際にクッキーが発行されます。
彼らはどんな方法で実現しているのでしょうか。
0953nobodyさん
04/10/31 14:07:41ID:R5h305R8ローカルに環境構築をしている最中です。
インストール後、PHPとMySQL間の連携がとれていないらしく
PHPからMySQLへのコネクションのテストを試みているのですがうまくいきません。
環境構築時に何か特別な設定をする必要はあるのでしょうか。
たとえば明示的にPHPとMySQLを連携しますというような設定を
しなければならないとか。
接続はホスト(localhost)、ユーザ名(root)、パスは(MySQLフォルダのあるディレクトリ
)を与えて試しています。
よろしくお願いします。
0955nobodyさん
04/10/31 14:28:47ID:???> うまくいきません。
どういうインストールの仕方をしたか、どういう風にうまくいかないのか、
全く書いてないから、まぁがんがれとしか言えんよ。
Fatal error : Call undefines function: てのだったら、
わざわざMySQLを使えないように構築したPHPを
好き好んでインストールしたということだから、当然の帰結になる。
0956953
04/10/31 14:47:12ID:R5h305R8//データベース接続開始
$link = @mysql_connect($host,$name,$pass) or die ("接続エラー");
print "データベース接続に成功しました"."<br>\n<hr>\n";
?>
というようなコードをhtml内に記述したtest.phpをブラウザで確認すると
上記のコードに従い、"接続エラー"が表示されてしまうのです。
もちろんコード内で変数はていぎしています。
0957nobodyさん
04/10/31 15:05:38ID:???原因を絞り込めないのも当然の帰結となる。
0958953
04/10/31 15:20:08ID:R5h305R8アドバイスありがとうございます。
@を削除して実行した結果、下記のエラーが表示されました。
Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in /Users/○○○○○○/Sites/con_test_mysql.php on line 27
27行目とは先ほどのコードの
$link = @mysql_connect($host,$name,$pass) or die ("接続エラー");
の部分です。
0959nobodyさん
04/10/31 15:32:02ID:???// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
____________________________________
|Client does not support Authentication protocol | |検索|←をクリック!!
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
◎ウェブ全体 〇日本語のページ
0960nobodyさん
04/10/31 15:35:03ID:???not support authentication protocol
これが出るということはPHP側のMySQL Client API versionが
低いということ。つまり、PHPのビルド時に正しくMySQLのパスを
セットしていないのが原因。
確認方法はphpinfo();
0961nobodyさん
04/10/31 15:48:08ID:/ekEcexrカレントディレクトリまでのルートのリンクを作成したいのですが、
お知恵をお貸しください。
HPの上段によく「メイン >> コンテンツ1 >> サブコンテンツ1」
ホームディレクトリから現在表示しているhtmlがあるディレクトリまでの
経路を出していると思うのですが、これをプログラムでやろうとすると、
シェルスクリプトだと、pwdで現在のhtmlがあるカレントディレクトリを
取得して、正規表現を使って、Linkを作成するというのが思いつくのですが、
PHPでやろうとすればまったく思いつきません。
やろうとしているHPの全体は、
HP上段にカレントディレクトリまでのリンク
HP下段左側にディレクトリをリンクとして使うため、下記のようなPGを書き、
$hdl = opendir("/home/k-uda/public_html");
while(($dname = readdir($hdl)) !==false){
if(!is_file("$dname") && $dname != "." && $dname != ".."){
echo " <p><b><a href=$dname>$dname</a></b></font></p>";
}
}
HP下段右側にインフレームでディレクトリの中のhtmlを表示
使用としています。
どなたか、お教えください。お願いします。
0962nobodyさん
04/10/31 16:15:56ID:???phpの問題じゃない気がするけど
HPが
メイン >> コンテンツ1 >> サブコンテンツ1という構成で
サーバー側のディレクトリ構成も同じなら
./でカレント../で一個上../../で二個上のディレクトリを表現できるからそれで良くないか?
0963953
04/10/31 16:38:00ID:R5h305R8最初はPHP4とMySQL4.0だったのですが
最近Mysqlを4.1にしたので、その辺りで
認識がうまくいっていないのだろうと予測してます。
phpinfo(); で確認しました。
ConfigureCommand欄の'-with-mysql=/○○/○○/mysql'は
パスとして合っているようです。
対策としてはもう一度
configure→make→makeinstall
をし直せば、クライアントは最新のversionとして
認識されるんでしょうか??
0964nobodyさん
04/10/31 16:41:58ID:???聞く前にやってみるべし
って、phpを入れ直すんだよな?
そのまま同じソース使うんならmake cleanしてからやらないと嵌るかも。
新しく展開してできるならそっちの方がいい気がする
0965960
04/10/31 17:32:51ID:???確認するのは、MySQL Client API versionだよ。
3.xxになってたら、PHPにビルトインしている奴で、新しいMySQLが
要求する authentication protocol をサポートしていないって事。
あとは>>964のいうとおり。
0966953
04/10/31 17:37:50ID:R5h305R8たびたびすみません。
phpinfo(); で確認しました。
Serverは4.1。
MySQL Client API versionは4.0.21でした。
この違いが問題なのですね。
ですのでClient API のバージョンを4.1に引き上げるのが
問題の解決策になろうと思っていますが方法がわかりません。
ご教授願えませんでしょうか?
>>964
make clean とはアンインストールのようなものでしょうか。
だとするとアンインストールの対象を指定したりする必要は
ないのでしょうか?
0967nobodyさん
04/10/31 17:48:08ID:???アンインストールはmake uninstall
make clean はソースディレクトリ以下にあるmakeしたモノをclean(消す)するだけ
他はここで聞くよりそれっぽいキーワードでぐぐった方が早いような気がする
0968953
04/10/31 17:55:36ID:R5h305R8いろいろとありがとうございます。
makeclean→configure→make→makeinstallを試してみます。
とても助かりました。
0969nobodyさん
04/10/31 19:53:49ID:???<desc>うんたら</desc>
みたいな記述のところは
function startElement( $parser, $tagName, $attrs )
の$tagNameでswitchすれば
うまく引っかかってくれるのですが、
<dc:title>なんたら</dc:title>
とか
<mm:Creator>あの人<mm:Creator>
みたいなところは拾ってくれません。
こういうタグを拾うにはどうしたらいいんでしょうか?
0970nobodyさん
04/10/31 20:03:48ID:???0971nobodyさん
04/10/31 20:54:39ID:PqZ8V0+W$_SERVER = $HTTP_SERVER_VERS;
といったようなものがある(と思う)のですが、ここの
$HTTP_SERVER_VERS
とはなんですか?
マニュアルを検索してもでてこなかったもので…
0973nobodyさん
04/10/31 20:59:55ID:???0975nobodyさん
04/10/31 21:13:40ID:???0976nobodyさん
04/10/31 21:19:14ID:???XMLをパースするのにどういうライブラリを使ってるのか書いてないが
当然察してくれるだろうなどと考えているのではないだろうな
名前空間を認識してくれないライブラリを使っているか、
指定する方法を知らないためにやりそこなっているか
そんなとこじゃないの?
0977nobodyさん
04/10/31 21:37:06ID:???うをほんとだ…それで検索したら出てきた…
拾ったスクリプトにVERSで書いてあったもので…ごまんなさいorz
0978960
04/10/31 22:38:23ID:/ekEcexrありがとうございます。
返事が遅くなり申し訳ありません。
そういやり方ですか、先のプログラムで取得した、ディレクトリ情報に
リンク先のhtmlにあわせて、./ディレクトリ名, .../ディレクトリ名としていくということでしょうか?
その際、インフレームhtmlを読み込む時にリンク先を書き換えるのはやはりPHPとなると思うのですが、
その部分のプログラムはどんな感じになるのでしょうか?
0980nobodyさん
04/10/31 23:43:33ID:EL6QRtaC2. $b = $a;
3. $c = &$a; // 参照渡しによる代入
4. $a = 20;
すみませんが、参照渡し代入がわかりません。
誰か、教えてくださいm(__)m
↑なんですが、こういう解釈でOKでしょうか。
1. $a に、10を入れる
2. $b に、$aを入れる。この時点で、$a と $b は同じ値(10)
3. 現在の、$a は「10」だが、1行目に行って、さらに10を追加。$aは「20」になる
そして、$cに、「20」が入る
4. $a に、「20」を入れる
0982nobodyさん
04/10/31 23:55:37ID:???取りあえずマニュアル読むといい
http://www.php.net/manual/ja/language.references.php
0983nobodyさん
04/10/31 23:55:41ID:???$a (=$c) = ・・・
$c (=$a) = ・・・
と考えれば
0984nobodyさん
04/10/31 23:57:00ID:???3で、=なのに、足すっておかしいですよね
自分でもおかしいとは、思ってるんですが、どのように解釈すれば
いいか、ご教授頂けないでしょうか。
0985nobodyさん
04/10/31 23:57:31ID:???$a=10;
$b=$a;
$c=&$a;
echo "<pre>";
echo '$a='.$a."\n";
echo '$b='.$b."\n";
echo '$c='.$c."\n";
$a+=10;
echo '$a='.$a."\n";
echo '$b='.$b."\n";
echo '$c='.$c."\n";
echo "</pre>";
コレを実行してみたらいいんじゃね?
0986980
04/11/01 00:59:07ID:U1tLM27v2. $b = $a;
3. $c = &$a; // 参照渡しによる代入
4. $a = 20;
1. $aに、10をいれる
2. $bに、$a をいれる
3. $cに、$a をいれる ここまでで、$a $b $c は全て、10
4. $aに、20をいれる。
3行目の、$aは、20になってる!= $cも、値が20である。
980です。みなさんありがとうございますm(_ _)m
なんとなくわかりました!上の解釈でOKでしょうか?
0987nobodyさん
04/11/01 01:10:12ID:Ex4hVsBX0989nobodyさん
04/11/01 01:43:30ID:???0990nobodyさん
04/11/01 01:44:18ID:Ex4hVsBXナルホド!
1 と 0
データがある と データ無い
コレを同じように考えてしまう。。。。悪い癖だなぁ
0991nobodyさん
04/11/01 01:47:18ID:???きちんと覚えましょう。
してるんだけど、File10くらいまでしかMySQLには取り込んでくれません。n=20くらい
一気にすると、どこかがパンクするのですか?
全て納められる方法はありますか?
納める時間は気にしてません。おねがいします。
0994nobodyさん
04/11/01 03:21:34ID:???ワロタ
>992
エラーは出ないんですか?
全部同じTABLEですか?キーなど重複レコードはどうしてますか?
はい。エラーはありません。同じTABLEに入れてます。
流れ的には
1、File1の中身を全て呼び出す
2、一部を取り出す
3、MySQLに入れる
4、ループ抜けるチェック
5、File2にセットする
6、1に戻る
勉強がてらに行ってるので、まだ重複レコードの処理はしてません。
1ループにつき10入れて、ファイルを20くらい読み込みます
全体として200を一気に入れることになってます。
0997nobodyさん
04/11/01 03:52:49ID:???あと\マークとかシングルクォーテーションとかどうしてるの?
0998nobodyさん
04/11/01 04:03:03ID:???>996の言うように、MySQLのエラーも拾った方がいいと思う。
それか、insertの文をいちいちechoさせてそれを晒すとか、
そのまとまったSQL文をツールで直接MySQLにクエリー出して
出たエラーを晒すとか、なんか詳細の分かるものを希望。
・・・眠いので日本語怪しいけど容赦せよ。
0999nobodyさん
04/11/01 04:10:40ID:???【PHP】質問スレッドpart24【php】
http://pc5.2ch.net/test/read.cgi/php/1099249755/l50
1000nobodyさん
04/11/01 04:13:23ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。