【PHP】下らねぇ質問はここに書き込みやがれ 28
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/09/03(日) 21:01:08ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0306nobodyさん
2006/09/07(木) 08:50:36ID:???echo HexDec('0x00000114');
0307nobodyさん
2006/09/07(木) 09:10:53ID:???見事いきました。 コマンドの類のみ聞くのも気が引けたのですが、
探しきらなかったもので・・・ 感謝です。
0308nobodyさん
2006/09/07(木) 10:52:58ID:HQk33gl2それとも無限なのでしょうか?
たとえば、DBの「text型」カラムに格納されている1000字程度の文章を
md5()に通してハッシュ値を得て、これから投稿されようとしている文章(こちらもハッシュを取る)と
比較して、両者が同一の文章か否かを判別(同一だったらリロードとみなして投稿を拒否)するために
使おうと思っているのですが、これって適切なやり方でしょうか?
0309nobodyさん
2006/09/07(木) 10:56:22ID:???0310nobodyさん
2006/09/07(木) 10:59:05ID:???0311nobodyさん
2006/09/07(木) 11:28:33ID:HQk33gl20312nobodyさん
2006/09/07(木) 11:34:26ID:???投稿の日時保存して直近の投稿のコメントと
比較すればそれでOKなんじゃね
0313nobodyさん
2006/09/07(木) 11:40:29ID:???何を言っても無駄だから気にするな。動けば問題ないw。
0314nobodyさん
2006/09/07(木) 11:57:17ID:???リダイレクトで飛ばすとか、ユニークなID埋め込んで判断するとか
MD5・日付・IPとかで判断するのもいいだろうけど
> 1000字程度の文章をハッシュ化しようとした意図がわからないなら
> 何を言っても無駄だから気にするな。動けば問題ないw。
>>312に言ってるのか?意図ってリロードによる2重投稿を防ぎたいのでは?
0315nobodyさん
2006/09/07(木) 12:17:13ID:???変更不可、スコープがグローバル、
という2点でよろし?
ID/PASSを定数で保持するのってよくあることでしょうか?
0316nobodyさん
2006/09/07(木) 12:31:34ID:???phpをcgiで動かしたいのですが、
phpが入っているサーバなら全てcgiとして動作できますか?
それとも設定によってはできないのでしょうか?
あとphpのパスはphpinfoのどこの項目を見ればいいのでしょうか?
/usr/local/bin/phpや/usr/bin/phpや/usr/sbin/phpなど、
思い当たるものを適当に全て試しましたが、
全て500エラーが帰ってきてしまいます。
どなたかお助けください。
0319nobodyさん
2006/09/07(木) 12:49:56ID:???>>315
スコープはメリットにもなるしデメリットにもなるよ。
id/passを定数に…どうだろ?不要になったらさっさと消すべき値のような?
0321316
2006/09/07(木) 13:15:08ID:???>>317
やっぱサーバ側の設定次第ですか・・・
サーバ仕様書にはphpのパスもcgiとして使えるかも記載されていないので、
恐らく使えない可能性が高いのでしょうね。
>>318
サーバはFreeBSDのようなので、その点は心配なさそうです。
>>320
それはシェル操作でしょうか?
レンタル鯖の話ですので、それは使えません。
説明不足で申し訳なかったです。
とりあえずmkdirのとこなどは、あらかじめフォルダを用意したり、
出力されるファイルも作ってみて、悪あがきをしてphpで動かしてみます。
その上でだめそうなら諦めます。
どうもありがとうございました。
0322nobodyさん
2006/09/07(木) 13:17:33ID:???PHPにてとりだすとコードが「ASCII」になってしまいます。
mb_convert_encodingでコード指定しても改善しません。
これはどんな解決策があるでしょうか?
ご教示お願いいたします。
環境
サーバー XREA
Mysql 5.1.11
phpMyAdmin 2.8.2
0323nobodyさん
2006/09/07(木) 13:33:36ID:???出力の文字コードはどうしたいわけ?
出力も指定したいなら
output_handler が mb_output_handler になってる?
その上で mbstring.http_output に出力したい文字コードを指定してる?
0324nobodyさん
2006/09/07(木) 15:22:26ID:???考えています。
例えば
フォルダ名:[ ]
ファイル場所:[ ][参照]
とあったとして、1ファイルのみの登録であれば、1つのファイルの場所を指定するだけで
良いのですが、これが複数ファイルを一括してアップロードしたい場合、
どうするのが適切なのか?っと悩みます。
copy関数を使うことも考えましたが、copy関数はサーバ上にアップしている
ファイルをコピーするので違うと思うし。
何か設計上のアドバイスをいただけないでしょうか?
0325nobodyさん
2006/09/07(木) 16:06:20ID:???0326nobodyさん
2006/09/07(木) 16:08:19ID:???0327nobodyさん
2006/09/07(木) 17:07:38ID:???value="".$hoge."" とやると$hogeに"が入っていた場合におかしくなるのですが
value=の区切りってどうしたらよいのでしょうか??
0329nobodyさん
2006/09/07(木) 18:38:28ID:???ActiveXを使えばできなくはない。
それ以外ではクライアントのディレクトリ情報を拾うようなマネ自体が
セキュリティ的に厳禁な行為なので、ムリだと思うけど…
0330nobodyさん
2006/09/07(木) 18:54:52ID:zxRzPgXRcgi(perl)ではかなりあるんですがphpで逆リンク集を配布してるサイトって
ありますでしょうか?
教えて下さい m(_ _"m)ペコリ
0333nobodyさん
2006/09/07(木) 19:25:56ID:???0334nobodyさん
2006/09/07(木) 19:49:03ID:???flash使ってドラッグアンドドロップできたり
ダイアログからまとめて登録できるような
インターフェイスにしてるところがあるよな
>>331みたいにzipとかでアップできるとこもある
0335nobodyさん
2006/09/07(木) 20:23:24ID:EP1zTHfCmacのmampを使ってローカルで開発していますが、
mampが強制終了します。
URLではなくファイルを指定した場合は何の問題もないです。
php.iniの設定的にはちゃんと動作しても良さそうなのですが....。
どなたかおわかりになりますでしょうか?
0336nobodyさん
2006/09/07(木) 20:30:25ID:???PHP4.3.0以降、"fopen wrappers"が有効 なんだよね?
マニュアル
http://www.php.net/manual/ja/function.copy.php
0337324
2006/09/07(木) 20:32:55ID:jxEGLvXDそんなこと出来るんですか!?というかまさにそれがしたいです。
例えば、テンプレートの配布をする時にサイトから圧縮ファイル(ZIP)
をダウンロードしてそれをアップ(登録)してもらい、それが解凍出来れば。
0338nobodyさん
2006/09/07(木) 20:36:28ID:EP1zTHfCレスありがとうございます。
phpのバージョンは4.4.2でallow_url_fopenはonになっています。
設定的には大丈夫そうなのですが...。
やりたいことは、phpで吐き出したhtmlのソースコードを
新しいファイルにそっくりコピーしたいのです。
なにかいい方法はありますでしょうか?
0342nobodyさん
2006/09/07(木) 21:30:08ID:???バージョンは4.xと5.xの
どちらをもとにしたほうがいいでしょうか?
5.xはオブジェクト指向対応ということで
興味をひかれてるんですが、
レンタルサーバとかのPHPのバージョンは
4.xの方がまだまだ多い気がします。
実際のところ、
どちらの方がより使われてるんでしょうか?
0343nobodyさん
2006/09/07(木) 21:34:05ID:EP1zTHfCどうもです。obで解決しました。
普通にfwriteしました。
0344nobodyさん
2006/09/07(木) 22:07:55ID:???多い少ないで言ったらまだ4.xの方が多いんじゃなかろうか。
5.x使うとこもも随分増えたからどっちが主流って言うことはなくなったと思うけどね〜
0345nobodyさん
2006/09/07(木) 23:01:41ID:???既にクラスについて理解していて経験があるなら5
クラスを理解していなくて基本的な部分から勉強するなら、どっちでもそんな変わらない
勉強が主な目的ならね
正直どっちからやってもそんなに違いは無いでしょ
0346nobodyさん
2006/09/08(金) 00:34:55ID:???サイトからZIPファイルのダウンロード→OK
ダウンロードしたファイルをそのままアップロード?→まぁOK
アップロードされたZIPファイルをサーバー上で解凍→OK
でも何がしたいのかよくわかんね。
0347342
2006/09/08(金) 01:02:57ID:???Javaでオブジェクト指向の経験はあるので、
5.xから入ってみることにしまふ。
ありがとうございますー。
0348nobodyさん
2006/09/08(金) 04:30:03ID:???ただJavaの形により近いのは5.xかな。
0349322
2006/09/08(金) 08:13:59ID:???返信有難うございます。
MySQL内はUTF-8で
出力はEUC-JPにしたいです。
Mysqlからとって来た配列をmb_convert_escapeでエンコードするだけでは出来ないと結うことでしょうか?
0350nobodyさん
2006/09/08(金) 08:20:24ID:???それにSQLのバージョンによっては文字コードを投げないと駄目だったような気がする
0351nobodyさん
2006/09/08(金) 08:26:11ID:???GDのどの関数を使って実現させるのでしょうか?
0352nobodyさん
2006/09/08(金) 08:50:17ID:???PEARにあるらしい。過去スレから発掘。
【PHP】下らねぇ質問はここに書き込みやがれ 24
http://pc8.2ch.net/test/read.cgi/php/1152251693/441
PEAR::Text_CAPTCHA
ttp://pear.php.net/package/Text_CAPTCHA
ttp://pear.plus-server.net/package.text.text-captcha.html
紹介ページ
ttp://www.doyouphp.jp/sample/sample_others_captcha.shtml
ttp://kawama.jp/archives/2006/05/peartext_captch.html
ttp://blog.poyo.jp/archives.php/categ-1/year-2005/month-1/id-1106990727
0353322
2006/09/08(金) 08:50:46ID:???レス有難うございます。
mb_convert_encodingでした...
XREAに問い合わせたところ、
set names ujis;
を使えといわれたのですが検索してもよく分からず困っております。
0354nobodyさん
2006/09/08(金) 08:55:38ID:???どうもありがとうございます!
PEAR使ったことないのですが、
これを機に使ってテストしてみたいと思います。
0355nobodyさん
2006/09/08(金) 09:13:19ID:???なんでお前はみんなのアドバイスをいちいち無視して質問を続けるんだボケ。
XREAにそうやれと言われたのなら、やってみればいいだろチンカス。
0356nobodyさん
2006/09/08(金) 09:14:33ID:???set names ujis
set names sjis
set names mysql
とかぐぐってもわからん?
SQLとしてPHPからDBクライアントに文字コードを指定するってこった
でDBテーブルの文字コードは何なんだ?UTF8(=ujis)なら
set names ujis
で構わんけどさ。
ようはDBのコードにあわせろってことだ
a.PHPの文字コード
b.DBクライアントの文字指定
c.DBの文字コード
set names で b=cにしろってことだ
aとbの違いは、mb_convert_encodingで九州しる
これでわからんかったら、もうあきらめな
0357nobodyさん
2006/09/08(金) 09:15:32ID:???mysql_query("set names ujis;");
0358322
2006/09/08(金) 09:21:02ID:???ありがとうございます。
357さんの仰る通りです。
いきなりこれを使えとだけ言われたので意味が分からず困っておりました。
>>355
いつアドバイス無視した?死ね
0359356
2006/09/08(金) 09:21:03ID:???>>353
あんた自分で試しもせずに、質問ばっかしてんのか?
そりゃ最低だな。答えるんじゃなかったよ
0360nobodyさん
2006/09/08(金) 09:23:57ID:???0361356
2006/09/08(金) 09:26:17ID:???えっ、「set names ujis やってみ」って言われて
mysql_query("set names ujis;");
が探せんのか?
ぐぐったらいくらでも答えでてくるって・・・
俺から言わせたら、自分で調べることを放棄してるようにしか
見えんぞ?
たぶん >>355 はそういうことを言ってるんだとおもうよ
0363322
2006/09/08(金) 09:33:36ID:???自分で調べるより楽チンでいいぜ!これからもしっかり答えろよな!
0364nobodyさん
2006/09/08(金) 09:50:03ID:???0365322
2006/09/08(金) 09:54:22ID:???すみません。mb_startもset names ujisも試したのですが変わらなかったので質問させていただきました。
とても分かりやすいご回答、感謝いたします。
mysql_query("SET NAMES ujis");
〜〜〜
echo mb_convert_encoding($msg, 'SJIS', 'auto');
で変換されました。(理想としてはEUC-JPがよかったのですができませんでした)
本当に有難うございます。
>>360
「質問房」は否定しませんが、「礼儀を知らない」と言われるのは心外です。
もっとヘコヘコしろということでしょうか?
>>363
ほんと死ね
お前見たいのがいるから2ちゃんは掃き溜めっていわれるんだよ
0366nobodyさん
2006/09/08(金) 10:00:38ID:???(゚д゚)
0367nobodyさん
2006/09/08(金) 10:22:19ID:???0368nobodyさん
2006/09/08(金) 10:27:25ID:???>>>355
>いつアドバイス無視した?死ね
>>>360
>「礼儀を知らない」と言われるのは心外です。
この二つの発言の矛盾にすら気が付かない>>322。
やはりIDを出さないチンカス質問厨は無視する、というルールを徹底すべきだと思ったね。
0369>>322の華麗なる歴史:まとめ
2006/09/08(金) 10:37:36ID:???>>349において、>>323からのアドバイス・指示を無視。それらについて答えず、勝手に質問を重ねる。
>>353において、XREAから具体的な指示を出されたのにまたも無視。
「set names ujis」という明確なキーワードがあるにも関わらず、それを「検索できない」という基地害っぷりを披露。
>>358において、「いきなりこれを使えとだけ言われたので意味が分からず」などと、ダメダメチンカス・マニュアル人間っぷりまで開陳。
なおかつ、>>355の指摘に逆ギレ。しかも「死ね」という犯罪的な脅迫発言が飛び出す。
>>363において、騙りらしき者が現れる。これもそもそもIDを出さずに質問した>>322が悪い。
>>365において、「もっとヘコヘコしろということでしょうか?」などと見当違いの頓珍漢なことを言い出す始末。
そして今度は>>363に向けて脅迫&侮辱発言。
0370nobodyさん
2006/09/08(金) 11:23:55ID:???0371nobodyさん
2006/09/08(金) 12:00:05ID:???0372nobodyさん
2006/09/08(金) 12:22:07ID:???社会のクズ人間さようなら。アッハッハーm9(^Д^)
0373322
2006/09/08(金) 12:29:33ID:???はぁ?こっちは質問しただけだよ、なんでそういうひねくれた考えにしかならないわけ?答えがわからないなら書くなよカス。
>>372
お前が一番クズだよ。
mb_convert_set_name_ujis関数を使ったら全く文字化けされなくなりました。ありがとうございます、XREAさん。
0374nobodyさん
2006/09/08(金) 13:07:09ID:???ということでスルー汁。
0376nobodyさん
2006/09/08(金) 13:26:24ID:???「死ね」が脅迫になるとは初耳だねw。
確かに322はちょっとおかしいけど
よくありがちなミスだったから今後のために良いと思うよ
0377nobodyさん
2006/09/08(金) 14:31:03ID:???乗り遅れた事を激しく悔やむ。
0378nobodyさん
2006/09/08(金) 15:11:56ID:???(ASPでいうところのServer.MapPath)みたいなのをPHPで
行うとすればどのような方法が良いでしょうか?
0379nobodyさん
2006/09/08(金) 15:19:10ID:???も少し説明すると、独自にログファイルを生成したいのですが、
どの階層のファイルからcallされても、トップの下にあるLogフォルダに
(URLでいうと *****.com/log/日付.log)な感じで生成したいのです。
realpathだと、自分自身からの相対パスでないと駄目なようなので。
できれば、上流からのパスで指定したいです。
0381nobodyさん
2006/09/08(金) 15:51:17ID:???そうなんですけど、/opt/の下にある仮想ディレクトリにあるので、
使えないのです。
美しくないけど、グローバル定数に入れておくのが一番楽ですかね orz
0382nobodyさん
2006/09/08(金) 18:23:15ID:???fopen('http://USER:PASSWORD@domain/', ・・・・)
という書き方でdigest認証を突破することはできますか?
もし駄目なら何か方法はありますか?
けして悪用するわけではないで教えてください。
0383nobodyさん
2006/09/08(金) 18:33:41ID:???それならdirname(__FILE__)とかでいいんだろうけど
固定のディレクトリって決めてるなら
むしろabsoluteな指定の方がいいんじゃないか
いまいち説明を把握できてないかもしれん
0384nobodyさん
2006/09/08(金) 19:58:35ID:???1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0385nobodyさん
2006/09/08(金) 22:02:26ID:???どっかに落ちてないでしょうか
0386nobodyさん
2006/09/08(金) 22:13:13ID:???0387nobodyさん
2006/09/08(金) 23:09:18ID:???そんなもん5分で自作しる。
function decrgb($c) {
return array(
hexdec(substr($c, 1, 2)),
hexdec(substr($c, 3, 2)),
hexdec(substr($c, 5, 2)),
);
}
var_dump(decrgb("#00FFA0"));
出力結果
array(3) {
[0]=>
int(0)
[1]=>
int(255)
[2]=>
int(160)
}
0390nobodyさん
2006/09/08(金) 23:18:55ID:???0392nobodyさん
2006/09/08(金) 23:35:40ID:???文字の位置って hexdec($c{1} . $c{2}) みたいな感じ?
substrとどっちがマシか微妙な感じだけど…
0393nobodyさん
2006/09/08(金) 23:42:29ID:???まあ、ヘビーなループに放り込まない限りは期待した結果を得られればいい。
0394nobodyさん
2006/09/08(金) 23:49:01ID:Bt7aH3H50395nobodyさん
2006/09/09(土) 00:03:49ID:???項目がたくさんあるのですが、どうやったら簡単に
DBから引っ張った値を表示できますかね?
テキストボックスと、チェックボックスと、ラジオボタンと
動的に項目数が増える項目があるのですが。
0396nobodyさん
2006/09/09(土) 00:06:31ID:???まず自分でソースを書いて分からない所を聞いてください。
ここはWEBプログラムする人の板です。
あとID出して下さいね。
詳細は>>1を一読の事。
DBから値を取得して、必要なHTMLを表示するとしか答えにくい質問のような・・。
0398nobodyさん
2006/09/09(土) 00:26:47ID:???チェックボックスやラジオボタンが出てくるような設定画面だと、
設定可能な有効範囲とか種類が決まってないといかんと思う。
そういったデータをどのように格納しておくかで設計も決まってくるかと。
0399395
2006/09/09(土) 00:33:37ID:???あとはコーディングするだけなのですが、
いかんせん項目が多いので
楽な方法で実装したいのですが。。
別に根気よく書けば問題ないのだが、
どうやれば一番効率いいかなと思って。
0400nobodyさん
2006/09/09(土) 00:44:12ID:???DBでもiniファイルでもあるいは単なるPHPの配列データでもいいから
設定項目と設定値の型と設定可能範囲などを記録したもの作って、
あとはそれ読み込んでループで回しながらデータ通りにHTML吐くだけかと。
0401395
2006/09/09(土) 00:52:22ID:???なるほど。ありがトン
60部品くらいある画面6画面も3日で作らないといけなくて、
困っていますた。
あと、追加ボタンがあって、動的に増えていく項目もあるのですが、、
これはどう扱えばいいのでしょう。DBからの読み書きがあるのですが。。。
これも悩みの種なのです。設定項目数が一定しないから、iniにも書きづらいです
0402nobodyさん
2006/09/09(土) 01:10:10ID:???0403nobodyさん
2006/09/09(土) 01:18:59ID:???聞いてる限りじゃ3日どころか1日でやる仕事だがw
動的に増えるフォームはその登録項目自体に現在の項目数をhiddenで持たせて
追加ボタンクリック→1個増やして表示、でいいんじゃないの?
iniには初期数と最大数でも格納しときゃいいと思うが。
イマイチレベル低すぎて、どこで困ってるのか分からんです。
なんか仕様を整理して後はその通りに実装する、ってだけで終わる話にしか聞こえない。
0404nobodyさん
2006/09/09(土) 01:34:07ID:???作り方がどうこうっていうより、各項目の状態を仕様としてまとめられてない時点で
多分今のあなたにはそれを効率よく作ることは無理だと思う。
諦めて地道に作った方がいいんじゃないのか?
■ このスレッドは過去ログ倉庫に格納されています