【PHP】下らねぇ質問はここに書き込みやがれ 52
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/08/11(土) 10:08:03ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 51
http://pc11.2ch.net/test/read.cgi/php/1185521566/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0714nobodyさん
2007/08/22(水) 02:44:42ID:???0716nobodyさん
2007/08/22(水) 03:16:01ID:ZSqbYf8F$title = mb_convert_encoding($ch['title'], "UTF-8", "UTF-8,EUC-JP,SJIS");
の行で
Fatal error: Call to undefined function: mb_convert_encoding() in /パス/rssv.php on line 17
とエラーが出ました
このパスを回避するには、どのようにしたらよいでしょう?
環境
OS:Redhat
PHPバージョン:PHP 4.4.8-dev
php.iniの設定
extension_dir = "./"
0717nobodyさん
2007/08/22(水) 03:45:55ID:???0718nobodyさん
2007/08/22(水) 04:04:21ID:???mb_convert_encoding()を使わなければいい。
どうしても使いたいというならマルチバイト拡張モジュールを有効にしてPHPを再コンパイルするか、
マルチバイト有効のPHPパッケージを別途探してきてインストール。
0719nobodyさん
2007/08/22(水) 05:53:15ID:jH3QxwUQhttp://blog.ohgaki.net/index.php/yohgaki/2007/08/22/set_namesa_mcb_asc
これどういうことか解説プリーズ
文字エンコーディング設定APIて何よ?
PHPからそんなの使えるの?
0720nobodyさん
2007/08/22(水) 06:15:01ID:???ほいお
0721nobodyさん
2007/08/22(水) 06:16:48ID:lAejclp9時間が掛かりすぎるので、ブラウザの中止ボタンを押すと、
スクリプトの実行が止まるものと止まらないものがあります。
# スクリプトが止まっているかどうかは、更新しているDBも状態を見ると分かります。
スクリプトが長いので、どこの違いでこのような違いが発生するのかわからないのですが、
そもそもブラウザの中止ボタンが押されたことをphpスクリプトが受け取って、
phpの親プロセス?が子プロセス?をkillするような仕様があるのでしょうか?
ブラウザの中止ボタンを押した場合の処理の流れが、
検索しても見つけられなかったので、ご存知の方がありましたら、
教えて頂きたいのですが。
0722nobodyさん
2007/08/22(水) 06:22:57ID:???bool mysql_set_charset ( string $charset [, resource $link_identifier] )
(PHP 5 >= 5.2.3)
Notes
Note: This function requires MySQL 5.0.7 or later.
ttp://www.php.net/manual/en/function.mysql-set-charset.php
07/05/31にリリースされたPHP5.2.3以降で追加された新関数。
現状、英語版マニュアルには記載されてるが、
日本語版マニュアルにはまだ記載されていない。
PHP4が公式サポートされなくなったことで、順次PHP5への移行が
進行していくと思われるが、セキュリティ的に良くないと言われても
すぐにこの関数を使うようにソースを直せるってもんではないよな。
0723nobodyさん
2007/08/22(水) 06:37:46ID:???Webサーバーやそのバージョン、OSによっても挙動が異なるようだけど、
基本的には「Webサーバーが通信の中断を検知できたらプロセスを中断」かと。
そのプロセスが実行途中に画面出力を行う場合は通信中断を検知しやすくなるけど
出力がバッファリングされている場合などには必ずしも検知できません。
0724nobodyさん
2007/08/22(水) 06:47:52ID:???0725nobodyさん
2007/08/22(水) 07:37:41ID:???ttp://www.php.net/manual/ja/features.connection-handling.php
0726nobodyさん
2007/08/22(水) 10:51:07ID:9fOfvrbD0727nobodyさん
2007/08/22(水) 11:03:03ID:???なすすべもなく立ちつくすしかなかった・・・
0728nobodyさん
2007/08/22(水) 11:10:12ID:???ネットで見つけた
$string=ereg_replace("(http)(://[[:alnum:]\S\$\+\?\.-=_%,:@!#~*/&]+)","<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$string);
だと
http://alt-talk.cocolog-nifty.com/alternative/
や
http://www.amazon.co.jp/これが変換だ/dp/4408106569/ref=sr_1_1/250-8084245-899
9427?ie=UTF8&s=books&qid=1185443101&sr=8-1
といったURLがうまく変換できません(途中までしか変換しない)、どうしたらうまくいくんでしょうか
0729nobodyさん
2007/08/22(水) 11:19:59ID:lAejclp9返信ありがとうございました。
確かに、画面に進捗度を表示しているプログラムは、中止を押したときに、
スクリプトも止まりますね。勉強になりました。
又、phpにもステータスを取得する仕組みがあることも初めて知りました。どうもありがとうございました。
0730nobodyさん
2007/08/22(水) 11:56:41ID:???早くもスキャンダルに見舞われた。
22日発売の週刊新潮が「『議員失格!』元愛人が剥(は)がした
『さくらパパ』の仮面」と題し不倫と賭けゴルフを報じている。
報道を受け本人は関係者に「(議員を)辞めんといかんかね」
ともらしたという。党では10日間の“自宅謹慎”を言い渡し、
沈静化を図る構えだが、民主躍進の象徴が“火薬庫”になりかねない状況となった。
http://headlines.yahoo.co.jp/hl?a=20070822-00000087-sph-soci
0731nobodyさん
2007/08/22(水) 11:58:01ID:PQxZUsbl<?php
class Foo {
public function staticValue() {
return self::$my_static;
}
}
class Bar extends Foo {
public static $my_static = 'foo';
}
$bar = new Bar();
print $bar->staticValue();
?>
こんなイメージなんだが。
0734nobodyさん
2007/08/22(水) 12:53:59ID:???親ではスタティック宣言じゃないが、>>732でokだろう。
>>733
オブジェクト指向では良くあること。
0736731
2007/08/22(水) 14:02:23ID:???なるほど。
ありがとうございますー。
>>733
クラス名が変数に入ってるんですが、
その場合にstaticが読み出せないのでメソッド経由でやろうかと。
まとめると結局staticじゃなくて普通にプロパティでいいじゃんって感じになりそうですが。
0738nobodyさん
2007/08/22(水) 15:23:19ID:mexO5YhNsitemap.phpへ
$lastupdate=date("Y-m-d", filemtime("./index.php"));
$lastupdate2=date("Y-m-d", filemtime("./xxx.php"));
$sitemap=<<<_EOD_
<?xml version="1.0" encoding="UTF-8" ?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<url>
<loc>http://example.com/</loc>
<priority>1.0</priority>
<changefreq>always</changefreq>
<lastmod>$lastupdate</lastmod>
</url>
<url>
<loc>http://example.com/xxx.php</loc>
<priority>1.0</priority>
<changefreq>always</changefreq>
<lastmod>$lastupdate2</lastmod>
</url>
_EOD_;
echo $sitemap;
?>
つづきます。
0739nobodyさん
2007/08/22(水) 15:24:52ID:???.htaccessへ
RewriteRule ^sitemap\.xml$ sitemap.php
としてhttp://example.com/sitemap.xml で呼び出していますが、
ブラウザーで見た目が普通のテキストをブラウザーで開いたように、改行も無い状態です。
また、sitemap.php直接読み込んでも全く同じです。
ソースをみるときちんとxmlのソースなのですが。
ちなみにsitemap.xmlというファイルを作りそこへ上記の<?xml 以下を書き込み読み込んでみると
普通のxml文のように問題なく改行されています。
どうして改行されず普通のテキストのように表示されるのでしょうか。
0740nobodyさん
2007/08/22(水) 15:26:47ID:???headerでxmlにかえてみたら?
0741nobodyさん
2007/08/22(水) 15:35:56ID:???さっそくありがとうございます!
$lastupdate2=date("Y-m-d", filemtime("./xxx.php"));
の下へ
header("content-type: text/xml");
を追加でうまくいったようです!
すばやいレス感謝感謝でした!
0742nobodyさん
2007/08/22(水) 15:57:09ID:???<td>12345</td>
この二つを検索して上のほうだけ取り出したいんだけど正規表現でどう表せばいいかな
アイウエオは全角カナ、12345は半画数字ってことで
<td>[ァ-ヶ](.*?)<\/td> これじゃ無理みたいなんだ
0744nobodyさん
2007/08/22(水) 16:01:52ID:???コーストコーストっていうフレーズが良く聞こえるのですが、
これってどういう意味でしょうか?
すみません、ヨロシクおねがいします。
0746742
2007/08/22(水) 16:04:40ID:96cOsorX0748nobodyさん
2007/08/22(水) 16:08:23ID:???条件は半角カナだけ?
俺のは
preg_match('/<td>[ァ-ヶ]+?<\/td>/', $txt, $match);
で取得できた。
文字コードによってかわるはず
ちなみにこれはSjis
0749nobodyさん
2007/08/22(水) 16:08:57ID:???すみません。
最近このスレをインターネットでみつけて、いつも直レスで見ているもので、
場違いと思いながらも投稿してしまいました。
お答えいただけるとありがたいのですが。
0750742
2007/08/22(水) 16:09:26ID:96cOsorX0751nobodyさん
2007/08/22(水) 16:12:14ID:???だから、何で場違いと思ったのに投稿したわけ?その神経がわからない
スレ探せば他にもいっぱいあるだろ?
何で探そうとしないの?
自分でスレ探して
「○○なようなスレを○○のように探したのですが見つかりません。
誘導または検索のヒントをください。」といえないの?
自分で調べるクセってのはこの先必ず必要になってくる。
特にPHPとかプログラムをしていると。
0752nobodyさん
2007/08/22(水) 16:18:08ID:???不機嫌な思いをさせてしまい申し訳ありません。
ブラウザ検索でコーストコーストとやってみたのですが、
みつかりません。というメッセージが出てしまったので、
困って投稿してしまいました。
すみませんでした。
0754nobodyさん
2007/08/22(水) 16:24:59ID:???ん〜、EUCでも基本並び一緒みたいだな・・・
16進数で指定してみるとかは?
>>752
http://academy6.2ch.net/test/read.cgi/english/1187579403/l50
0755742
2007/08/22(水) 16:28:54ID:96cOsorX0756nobodyさん
2007/08/22(水) 17:27:17ID:ylxTf1OB文字列をパターンリストで置換してから出力したいのですが、多重に置換されてしまいます。
具体的には以下のような状況。
パターン1 : abcde => <hoge>abcde</hoge>
パターン2 : abc => <hige>abc</hige>
置換元文字列 abcdef
包括関係で上なので、パターン1だけを適用し <hoge>abcde</hoge>f となって欲しい。
ところが置換後にもabcが残るため、パターン1 -> パターン2 の順に置換をかけると<hoge><hige>abc</hige>de</hoge>fとなってしまう。
パターン2を先にしたところで何が解決するわけでもなく・・・。
パターン2でabcがマッチしたときに、それが既に<hoge>で囲われていないかどうかチェックしてから置換するような処理を自分で書くしかないんでしょうか。
0757756
2007/08/22(水) 17:29:31ID:???すみません訂正、パターン2を先にすれば一応多重置換は起こらなくなりますね。
でもパターン1の優先度が上でないと困るのです。
0758nobodyさん
2007/08/22(水) 21:03:22ID:???まともな答え返ってこない事は分からんか
0759nobodyさん
2007/08/22(水) 21:15:13ID:???インストールしたフォルダにextフォルダもlibmysql.dllもありません
なんでですか
0760nobodyさん
2007/08/22(水) 21:25:50ID:???0761nobodyさん
2007/08/22(水) 21:27:10ID:???0762759
2007/08/22(水) 21:36:30ID:???0763nobodyさん
2007/08/22(水) 22:47:16ID:???優先したいフィルタは普通は一番最後に適用すると思うけど。あと包括も意味がよくわかんね。包含でもなんか違う気がするし。
まぁそれはおいといて、否定の言明でいけるはず。ゲンメーっつうのはマッチしても置換対象にはならない奴の事。
書き方はマニュアルのPCREのパターン構文の項をよく読めばわかる。
0764nobodyさん
2007/08/22(水) 23:24:24ID:???phpinfo();で表示される情報では
Configuration File (php.ini) Path C:\WINDOWS
Loaded Configuration File (none)
となります
これはphp.iniが読み込まれていないという事ですよね
解決法を教えてください
0767nobodyさん
2007/08/22(水) 23:50:56ID:???0768716
2007/08/23(木) 01:38:58ID:34wrPCQ5を見てPHPのconfigure時に「--enable-mbregex」を追加しインストールをしましたが、
同じエラーが出てしまいます。
Fatal error: Call to undefined function: mb_convert_encoding() in /パス/saitama.php on line 17
(mbregexのソースを入手する方法は、リンク切れなので試してません)
>>718
ありがとうございました。
でもだめでした・・・
0771nobodyさん
2007/08/23(木) 02:54:33ID:GwHn9uYNclass X { var $a; }
1: $x = new X;
2: $x->a = "hello hiroyuki";
3: $x->b = "hello umaibou";
4: var_dump( $x );
これ実行してみると、2行目はわかるけど3行目もセットされてしまう。
気持ち悪いけどこれはPHPの仕様でしょうかね。
このように未定義変数につっこもうとしたらエラーにするような方法ってあるものでしょうか?
0772nobodyさん
2007/08/23(木) 03:37:26ID:???てかphp5ならvarなんて使うなよ
0773771
2007/08/23(木) 04:07:08ID:GwHn9uYNttp://phpspot.org/blog/archives/2007/08/php_80.html
を見て、もうちょっとうまく構造体みたいに使えないかなと考え中なのであります
private $a; とかすればアクセス不可にはできるけど
そもそも存在しない $b が勝手に作られるのを防ぐ手はあるのかなと。
set() get() とかアクセス用メソッド作ろーぜ、ってのとは違う解法あれば知りたいです
0774nobodyさん
2007/08/23(木) 04:07:42ID:APWkw084Linuxのファイルシステムがおかしくなったんですが、
ファイルを削除する時ってロック必要ですか?
削除するだけと考え、ロック的な処理は何もしてないんですが
0776771
2007/08/23(木) 04:26:28ID:???ちなみにさっき書いたソースはスルーしやがりました。やはりだめぽい。
過去ログ37
153 :nobodyさん :2007/01/26(金) 16:17:20 ID:cz0hND8g
「PHPでは変数宣言が必要ない」ということがよく書いてありますが、
逆に変数宣言を必須にするようなモードなどはありますでしょうか。
160 :nobodyさん :2007/01/26(金) 17:40:59 ID:???
>>157
error reporting
E_ALL
0777nobodyさん
2007/08/23(木) 04:26:37ID:???0778nobodyさん
2007/08/23(木) 04:34:14ID:???0782nobodyさん
2007/08/23(木) 12:24:25ID:???ではなかったのでこちらに書きます。
phpからファイルを新規作成した時のパーミッションはumaskの値では
ないのでしょうか?
touchだとumask通りのパーミッションになりますがphpからfopen,fputsすると
644になってしまいます。
なぜでしょうか?
apacheはnobodyで動いています
0783nobodyさん
2007/08/23(木) 13:02:46ID:QtPVO/h10784nobodyさん
2007/08/23(木) 13:03:25ID:???0786nobodyさん
2007/08/23(木) 13:15:45ID:y8C8Paf/1行BBS(PHP)で書いた文章の文字制限やテキストファイルに出力してくれるようなスクリプト配布している
所はないでしょうか?
いくら探しても1行BBSのみで
よろしければ教えて下さい。
0787nobodyさん
2007/08/23(木) 13:18:23ID:???0788nobodyさん
2007/08/23(木) 13:21:07ID:???うそつけ、と思って試してみたけどfopenでもumask効くっぽいよ?
$ sudo su - nobody
$ php -q
<?php
umask(0026);
fopen("/tmp/file1","a");
umask(0);
fopen("/tmp/file2","a");
?>
^D
$ ls -l /tmp/file*
-rw-r----- 1 nobody nogroup 0 2007-08-23 13:16 /tmp/file1
-rw-rw-rw- 1 nobody nogroup 0 2007-08-23 13:16 /tmp/file2
0789nobodyさん
2007/08/23(木) 13:27:53ID:QtPVO/h10790nobodyさん
2007/08/23(木) 13:38:55ID:???0793nobodyさん
2007/08/23(木) 14:08:04ID:QtPVO/h1画面ですか? はぁ?
REFERERを残すことは出来ないつー事?
0795nobodyさん
2007/08/23(木) 14:38:22ID:???if(via&&ip){ok}
の意味を教えてください。
できたらブラウザのフォームやスクリプトを組んで
この条件を突破する方法があれば教えてください。
0796795
2007/08/23(木) 14:39:46ID:???if(via&&ip){ok} でした。
よろしくお願いします。
0797nobodyさん
2007/08/23(木) 14:40:38ID:???if ( via & amp ; & amp ; ip ) { ok }
0798795-798
2007/08/23(木) 14:41:20ID:???0799nobodyさん
2007/08/23(木) 14:49:19ID:???ほかの所にいきます・・・。
0801nobodyさん
2007/08/23(木) 15:02:57ID:eD916GVnと
<input type="submit">
の違いってなんでしょうか?
どちらもクリックしたらsubmitされますよね??
他人が作ったプログラム触っているんですが、type="image"で送信すると、真っ白なページになり、
type="submit"で送信すると、ちゃんとvalidateが通るんですよね・・・。
nameで判断してるのかと思い、nameも合わせたんですが、変わらなかったです。
0802nobodyさん
2007/08/23(木) 15:07:32ID:???type="submit"とtype="image"だけのフォームで、
print_r($_POST)
ってやってみると
0803nobodyさん
2007/08/23(木) 15:28:53ID:???ここは・・・
「今日は回答者、されど明日は質問者」スレですよ。
初心者同士の助け合いの場なのでレベルは低いと思います
0804nobodyさん
2007/08/23(木) 16:07:07ID:eD916GVntype="image"の場合はフォームの値が入っていない・・・。
submitとは違うの?よくわからん><
ただ、クリックしたx,yのポインタが新たに追加されました。
imageで送信したい場合はどうしたらいいんでしょうか?
0805nobodyさん
2007/08/23(木) 16:10:00ID:???おかしくないか
0806nobodyさん
2007/08/23(木) 16:12:28ID:eD916GVnsubmitを画像にしたいだけなんですが、適切な方法ってこれ以外にあります?
0807nobodyさん
2007/08/23(木) 16:20:31ID:???<IMG src="image.jpg">
</BUTTON>
0808nobodyさん
2007/08/23(木) 16:27:57ID:???そのまま使え
0810nobodyさん
2007/08/23(木) 16:31:09ID:eD916GVn画像の後ろにボタンが出てくるし、マウスカーソルも変わらない。
CSSでいじってあげればいけそうだけど、もっとスマートな方法ないでしょうか?
そもそも、<input type="image">って何するためにあるんでしょうか?
0811nobodyさん
2007/08/23(木) 16:35:44ID:???submitをimageにするとエラーになるって話なんだからnameでも被ってる
とかいうオチではないの?。
■ このスレッドは過去ログ倉庫に格納されています