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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/07/07(金) 14:54:53ID:KnVubDvE
PHPに関するくだらねぇ質問用スレです。
ここならお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

過去スレは>>2
0233nobodyさん2006/07/11(火) 12:32:24ID:???
>>232
「スパイダ」ってこれのことかな?
http://www.oreilly.co.jp/books/4873111870/
詳しくは amazon なりで見てみて。
02342252006/07/11(火) 13:03:18ID:???
>>230
シカトデスカー
モウー(ry
0235nobodyさん2006/07/11(火) 14:30:40ID:???
.htaccess に
<IfModule mod_php5.c>
php_value include_path ".:/usr/local/lib"
php_admin_flag mbstring.http_output SJIS
</IfModule>

とやっていれたら500エラーになりました。
0236nobodyさん2006/07/11(火) 14:32:27ID:???
>>75-81
亀レスすみません。
開発者のみなさんは、デバッグコードは不要になったら
コメントアウトするなどしているのでしょうか。
0237nobodyさん2006/07/11(火) 14:35:45ID:???
>>235
「.htaccess 500」なりのキーワードでぐぐれ。
それと、>>231 のぐぐった結果をもう一度ちゃんと読め。
0238nobodyさん2006/07/11(火) 14:37:32ID:???
コンパイルするタイプと違いphpスクリプトは完成系でもソースがそのまま残るからねー。
コメントアウトしてソースに残ってもいいというレベルなら、

スクリプト先頭で、
define("CONSTANT", "1");
これをコメントアウトさせる。

あとは
IF (defined('DEBUG')){
   // こにデバッグコードを書く
}
0239nobodyさん2006/07/11(火) 14:38:09ID:???
define("'DEBUG'", "1");
0240nobodyさん2006/07/11(火) 14:44:45ID:???
>>237
php_value mbstring.http_output SJIS

とだけ1行入れてもエラーでした。
もちろん行末に改行は入れてます。
0241nobodyさん2006/07/11(火) 14:47:45ID:???
>>240
少しは自分で考えたら?
必要な情報提供も出来ないんだから。
0242nobodyさん2006/07/11(火) 15:05:15ID:???
・回答に必要な情報を出さない
・検索キーワードなどを教えられても検索しない
・参考URLを教えられても見ない
・質問する前に自分で試さない

こういった質問者は完全にスルーしましょう
煽りや叩きも不要です
完全に存在を無視して下さい
不必要にレスすると永久ループに陥ります
0243nobodyさん2006/07/11(火) 15:10:24ID:???
特殊記号にマッチしたときエラーを返す場合
の正規表現を教えてください。
preg_match使うみたいだけどよくわかりません。。。
0244nobodyさん2006/07/11(火) 15:14:44ID:???
・回答に必要な情報を出さない >>230
・検索キーワードなどを教えられても検索しない   →検索した >>231 >>237
・参考URLを教えられても見ない  → 見た
・質問する前に自分で試さない  → 試した >>235 >>240
02452432006/07/11(火) 15:16:58ID:???
解決しますた。
0246nobodyさん2006/07/11(火) 15:22:07ID:???
>>245
自己解決したなら、一応方法も書くと親切だな
0247nobodyさん2006/07/11(火) 15:26:53ID:???
私がお借りしているYellowribbonのサーバをループバックで再現するのが目的なので、各自てきせん変更してください。
ttp://yellow.ribbon.to/~gama/sine/testing/xp-ap-ph4-sq.html

てきせんというのはどういういみですか?
0248nobodyさん2006/07/11(火) 15:30:17ID:???
信号タイミング修正とはどういう意味か教えて下さい。
0249軟式PHP2006/07/11(火) 15:30:45ID:???
>>244
もしかしたら、文字コードの設定がおかしいのかも。
ちょっと下のコードを実行して表示されたものをレスしてくれ。
<?php
$strBuff = 'Pj4yNDSky6SipOuk6KSmpMuhoqSzpOykwKSxpOSkw6TGpOKk76SrpOmkzKGjDQqkxKTepOqhorvkpM/Hz7yvpMekoqTroaM=';
$strDec = base64_decode( $strBuff );
header( 'Content-Type: text/html; charset=EUC-JP' );
var_dump( $strDec );
?>
02502362006/07/11(火) 15:31:10ID:???
なるほど、ありがとうございます!
0251nobodyさん2006/07/11(火) 15:57:17ID:???
>>247
適宜を「てきせん」と読んでいるのに何故か変換出来ないという人が文章書いたんだろ。
0252nobodyさん2006/07/11(火) 16:06:54ID:???
>>251
うむしかしそのページの作者がわざとやっているようには見えない。むしろ天然だろう
02532442006/07/11(火) 16:07:38ID:???
解決しました。
.htaccess では設定できないみたいです。
0254nobodyさん2006/07/11(火) 16:18:05ID:???
>>227
> $_SESSIONにはちゃんと変数が格納されている。

嘘を吐くな。


アホの子の>>135>>205とか>>209を死ぬまで読み直すべきだ。
0255nobodyさん2006/07/11(火) 16:26:50ID:???
ローカルでLAMP環境構築して色々開発してたけどプロバイダがOutbound Port25 Blocking始めやがった。
mb_send_mail使えなくなっちまったけど、これはもうどうしょうもない?
02562442006/07/11(火) 16:27:42ID:???
要約すると、
内部エンコーディングとhttp_outputはソース上から設定できるけど、
http_inputは設定できないので、
postやget等から得られたデータを、
てきせんoutputから内部エンコードにmb_convert_encodingする
というので解決です。
0257nobodyさん2006/07/11(火) 17:10:33ID:???
>>256
> 1. 自分のIDを表示させること。(メール欄には何も記述しないでください)
を守らないのはわざとですか?
貴方をあぼーんしたいのですが、IDがないと登録しづらいのです。
自己弁護でも何でもこれ以上続けるなら、IDを表示させてください。
0258nobodyさん2006/07/11(火) 17:13:23ID:???
>>257
本人が解決ですって書いてるからもう解決して何もかかないのでは?
257の発言は皮肉にすぎない
02592572006/07/11(火) 17:29:42ID:???
>258
私も最初はそう思いましたが、今までの流れから考えると、
「煽られる→自己弁護」の繰り返しもあり得るかなと。
ですので、「これ以上続けるなら」と前置きを置いています。
135氏がこれ以上書かないのなら、それに越したことはないんですけどね。
0260nobodyさん2006/07/11(火) 17:48:50ID:???
どこが解決したのかさっぱり分からんのだが、
本人がこれで解決だと言ってるんだからもういいんだろう。
これでやっとスレに平和が戻る…。
0261nobodyさん2006/07/11(火) 18:03:20ID:???
>>255
誰もコメントしないからしとく。
ISP のメールサーバに転送すれば良いじゃない。
02621352006/07/11(火) 18:14:40ID:BuTz0b5N
>>231
遅レスすみません。
ググって文字コードをSJISにしたのですが、代わりはなかったです。

>>249
自分も試してみたところ
string(71) ">>244、ヒ、「、・隍ヲ、ヒ。「、ウ、・タ、ア、荀テ、ニ、筅・ォ、鬢フ。」、ト、゙、遙「サ荀マヌマシッ、ヌ、「、・」"
と表示されました。

0263nobodyさん2006/07/11(火) 18:35:40ID:???
try {
 $_135->teach(); // 失敗するのは分かっているが・・・
}
catch (Exception $e) {
// $_135->teachAgain(); // 永久ループになるのでやってはいけない
 throw $e;
}
0264nobodyさん2006/07/11(火) 18:44:15ID:???
>>262
お前それブラウザの文字化け。
ちゃんとEUCはEUCとして読めよ。
02652322006/07/11(火) 18:44:57ID:???
>>233
やはりperlを勉強しなければならないようですね・・・
教えていただいてありがとうございます。
0266nobodyさん2006/07/11(火) 18:46:10ID:???
>>262
ま、とりあえず、君は >>244>>253>>256 ではないのか?
0267nobodyさん2006/07/11(火) 18:47:17ID:???
>>265
おいおい。PHP のサンプルもあるって書いてあったしょ?
まぁ、そうは言うけど、自分も Perl の方が良いと思う。こういう用途には。
02681352006/07/11(火) 18:58:19ID:BuTz0b5N
>>264
ブラウザの文字化けなのですか。
IEでもチェックしてみます

>>266
はい、別人です、

mbstring.detect_order auto auto
mbstring.encoding_translation On On
mbstring.func_overload 0 0
mbstring.http_input auto auto
mbstring.http_output SJIS EUC-JP
mbstring.internal_encoding SJIS EUC-JP
mbstring.language Japanese Japanese
mbstring.script_encoding no value no value
mbstring.substitute_character no value no value

上記の環境でちゃんと動作したので
.htaccessで
php_value mbstring.detect_order auto
php_value mbstring.http_input auto
php_value mbstring.http_output sjis
と指定したのですが、全く変わりません・・・。
サーバー側の問題の可能性はあるのでしょうか。。。
php_value mbstring.internal_encoding sjis
02691352006/07/11(火) 19:00:31ID:BuTz0b5N
>>264
IEでアクセスしたところ、同じ文字化けが発生しました。
0270nobodyさん2006/07/11(火) 19:12:09ID:???
タフなやつだな・・・
どこのサーバー使ってるんだ?
02711352006/07/11(火) 19:16:00ID:BuTz0b5N
>>270
ここです。
ttp://nsf.jp/
02721352006/07/11(火) 19:22:45ID:BuTz0b5N
>>249
php_value mbstring.detect_order auto
php_value mbstring.http_input auto
php_value mbstring.http_output EUC-JP
php_value mbstring.internal_encoding EUC-JP
と設定したら
string(71) ">>244にあるように、これだけやってもわからぬ。つまり、私は馬鹿である。"
と表示されました。
しかし、他のページが全て文字化けしてしまいました。
全てのページをEUC-JPで統一してみます。
02731352006/07/11(火) 19:30:36ID:BuTz0b5N
コードかえまくってたら元々のファイルが文字化けしてしまったorz
これはもうダメかもわかんね
0274nobodyさん2006/07/11(火) 19:34:20ID:???
まずは日本語の文字エンコーディングとブラウザの操作法について
勉強し直して来た方が良いと思うよ。
02751352006/07/11(火) 19:46:20ID:BuTz0b5N
サーバーが糞だということがわかりました。
今までお付き合いいただいてありがとうございました。
0276nobodyさん2006/07/11(火) 19:48:00ID:???
>>275
いや、サーバは悪くないと思うよ。
0277nobodyさん2006/07/11(火) 19:56:41ID:???
>>217
おお、readfile()なんて便利な関数があるんでつね!!
試してみます、
ありがとうございます
02782552006/07/11(火) 20:04:24ID:???
>>261
php.iniの
SMTPとかsmtp_portあたりをいじるってこと?
0279nobodyさん2006/07/11(火) 20:12:16ID:6Oy0SlMx
11 Jul 2006 20:08:20 +0900
これって「ユニックスタイム」みたいな名称あるの?
0280nobodyさん2006/07/11(火) 20:30:49ID:???
C++で書かれたライブラリをPHPで読み込むのはsoファイルをextension_dir下に置くだけでよい?
0281nobodyさん2006/07/11(火) 21:24:28ID:MzBGXnqG
質問です。
あるfunctionを書きまして、その中にはDB接続する処理が含まれています。
DB接続するためのfunctionは事前に書いていたので、そのfunctionの中で使ったら、うまく動きません。

function hogehoge {
db();←別に定義されてるDBに接続するfunction
以下続く
}

こんな感じです。
functionの中でfunctionを使うにはどうすればいいでしょうか?
functionは全てスクリプトとは別のファイルに書かれています。
順番的にはdb()を先に書いています。
よろしくお願いします。
0282nobodyさん2006/07/11(火) 21:34:50ID:???
>>281
ふつーは使えるよ。
db() の実装がへぼいだけじゃない?
0283nobodyさん2006/07/11(火) 21:39:17ID:htholvFi
ini_set()を使って、
"always_populate_raw_post_data"をOnにしたいのですが
falseが返されてしまい設定できません。

ini_set('always_populate_raw_post_data' , ’On');

PHPマニュアルでは可能だと書かれているのですが…。
PHPマニュアルが間違ってるんでしょうか?
02842812006/07/11(火) 21:42:52ID:MzBGXnqG
すいません、半分自己解決?しました。

DB接続のfunctionはdbの名前とかが引数になっているんですが、
これらも全部function hogehogeに渡したら通ったんですが、
これで合っていますか?一応動くのですが、無駄なことしてそうで自信がないです...。
0285nobodyさん2006/07/11(火) 21:45:42ID:???
>>283
最近はなんで出来なかったらすぐ人のせいにするかねぇ…
02862812006/07/11(火) 21:48:41ID:MzBGXnqG
>282
レスありがとうございます。
DB()はDBサーバのアドレスとかの接続に必要な情報と、SQL文を一つを引数で渡して、その結果セットをreturnするというものなのです。
引数は全部で5個あるのですが、それを全部function hogehogeの引数に加えたら一応動作しました
挙動としては普通というか当たり前なのかもしれませんが、実装方法としてはあまり効率良くないでしょうか?

0287nobodyさん2006/07/11(火) 21:57:18ID:???
exam=COMPUTERSYSTEM&num=50GET to /~hoge/end.html not supported.

Invalid method in request exam=COMPUTERSYSTEM&num=50GET /~hoge/end.html HTTP/1.1

とエラーコードがでます。
COMPUTERSYSTEMという文字列をポストして、それに合致するデータがDBに
無い場合は、end.htmlにheader("Location end.html")により
飛ばすようにしているのですが。
headerはpostのときのヘッダが残っていてLocationがくっついて、そんなヘッダ変だよとなって
しまうのでしょうか。
0288nobodyさん2006/07/11(火) 22:00:29ID:???
>>283
マニュアルのどこさ?

>>286
変数のスコープについて勉強した方が良いですね。
http://jp.php.net/manual/ja/language.variables.scope.php

実装の良し悪しは何とも。それが駄目となるとグローバル変数になっちゃうし
そっちの方が一般的に言えば悪いでしょう。あとはクラスを作るかだね。
0289nobodyさん2006/07/11(火) 22:03:26ID:???
>>287
いまいち何がなんだか分からんが、Location ヘッダには絶対 URL を指定しなければいけません。
0290nobodyさん2006/07/11(火) 22:16:22ID:???
>>283
PHPマニュアルを疑う前に自分を疑え。
百年早いわ。
0291nobodyさん2006/07/11(火) 22:22:00ID:s/pPSXDE
まずは〜について勉強し直してきた方が良いよ

っていうの禁止にしません?
つまんないしうざいだけ。

的を射たのはあるけどほとんどはずしてるし
0292nobodyさん2006/07/11(火) 22:32:11ID:???
的を得る
0293nobodyさん2006/07/11(火) 22:42:07ID:???
当を得る
0294nobodyさん2006/07/11(火) 22:44:34ID:???
>>291
お前が代わりに正しく導いてやれば良いだけのことじゃないか。
勝手に変なルールを作られてもつまんないしうざいだけ。
0295nobodyさん2006/07/11(火) 23:24:03ID:???
荒れているところすいません。
uniqid()
http://jp2.php.net/manual/ja/function.uniqid.php
は接頭辞無しで13文字のユニークな値を返す、とありますが
もっと短い文字数でユニークを保証する方法、または関数はありますでしょうか?
使用可能な文字はできれば半角英数字(大文字小文字)がいいのですが。
0296nobodyさん2006/07/11(火) 23:41:41ID:???
uniqidでもcryptでも、出てきた文字をsubstrで切り取ればいいのでは。
同じものが出る確率なんて0みたいなもんだ
0297nobodyさん2006/07/12(水) 00:12:05ID:67ROEMVu
変数名を動的に指定したいのですが可能でしょうか?

変数名を渡して値を取得する関数を作成しようとしていますが
方法がわかりません。。。

つぎのような感じの関数を作ろうとしています。
function getValue($variable)
{
 $hoge_data = simplexml_load_file('hoge.xml');
 return $article->$variable;
}
0298nobodyさん2006/07/12(水) 00:23:04ID:???
なんと!
PHPでは変数を使って変数を指定することができるのです。

$a = "hage";
$b = "a";

print ($$b);
0299nobodyさん2006/07/12(水) 00:49:31ID:???
>>296
プロセスIDと時間を組みあせる方法でも、まあ同じ値になることはないだろう
0300nobodyさん2006/07/12(水) 01:01:27ID:IbIRSqg8
PHP串ごしに画像掲示板に画像をUPしたいのですが
テキストは送信できても画像がアップできません
socketで送信するときのContent-Typeなどのかき方が悪いと思うんですが
画像はどうやって送ればいいんですか?
0301nobodyさん2006/07/12(水) 01:09:34ID:???
>>300
今のソース見せれ。
ちゃんとマルチパートを組み立ててんの?
0302nobodyさん2006/07/12(水) 01:11:36ID:???
$a = getValue('aaa');
とかやるくらいなら
$a = $article->aaa;
ってやりゃいいじゃん。
0303nobodyさん2006/07/12(水) 01:22:40ID:IbIRSqg8
>>301
画像は$upfileにパスが入ってます
こんな感じで送ってます

$length = "Content-type: application/x-www-form-urlencoded\n";
$length .= "Content-Length: ".strlen($buffer)."\n";
$gazou = "Content-Type: image/jpeg\n";
$gazou .= "Content-Length: ".filesize($upfile)."\n";
//socketで送るデータ
$dat = "$method $path HTTP/1.0\n";
$dat .= "User-Agent: $agent\n";
$dat .= "Referer: $d_ref\n";
$dat .= "Host: $host\n";
$dat .= "Connection: close\n";
$dat .= "$length\n";
$dat .= "$buffer\n\n";
$dat .= "$gazou\n";
$dat .= "$upfile\n\n";
0304nobodyさん2006/07/12(水) 01:32:31ID:???
>>303
…multipart/form-dataって知ってる?
0305nobodyさん2006/07/12(水) 01:35:14ID:???
>>302
単なる変数参照じゃなく前後に処理を挟みたいと思ったらメソッドがいるだろう。
0306nobodyさん2006/07/12(水) 01:36:39ID:???
298じゃだめなの?
0307nobodyさん2006/07/12(水) 01:49:45ID:???
.htaccessで設定したあと、それを変更できているか確認する方法はありませんか?
0308nobodyさん2006/07/12(水) 02:01:41ID:???
何を設定したんだい
0309nobodyさん2006/07/12(水) 02:22:34ID:???
Fatal error: Cannot unset string offsets in

これはunsetできなかったってことですよね?
なぜunsetできないのですか?
0310nobodyさん2006/07/12(水) 03:55:24ID:IbIRSqg8
>>304
独学なのでさっぱりでした
調べてみましたが
Content-Disposition: form-data; name="message"
こんな感じで送ればいいのでしょうか?
0311nobodyさん2006/07/12(水) 06:10:47ID:???
>>309
エラーだけ示されてもわかる訳ないでしょ?
昨日テストで答えが間違ってますって言われたんですが、どこがおかしいのでしょうか?
って言われて何と答えるよ?
0312nobodyさん2006/07/12(水) 06:48:05ID:???
掲示板スクリプトに書き込み内容のプレビューを付けようと思ってます。
フォームから受け取り、プレビューを表示した後の処理で、
プレビューのフォームにhiddenで内容を埋め込むか、セッションを使おうと
思ってますが他になんか良い方法ありますか?
0313nobodyさん2006/07/12(水) 06:57:38ID:???
>>312
君の言ってる方法が良いと俺は思う。
0314nobodyさん2006/07/12(水) 07:17:19ID:???
>>312 Ajax
0315nobodyさん2006/07/12(水) 07:25:07ID:???
>>314
プレビューにAjaxなんかいらんだろう。
そのデータはクライアント上にあるってのに。
0316nobodyさん2006/07/12(水) 07:45:18ID:???
>>283
PHP4.1.0-4.2.3なら可能
それ以降のバージョンでは出来ない
0317nobodyさん2006/07/12(水) 07:47:01ID:???
そっとしといてやれ。覚えたての知識をひけらかしたいだけだろう。
Ajaxが一体どういうものかも知らず、JavaScript=Ajaxと覚えてるだけとかな。
0318nobodyさん2006/07/12(水) 07:51:31ID:???
>>279
RFC****のdate formatとか
03192442006/07/12(水) 08:33:55ID:???
>>257
煽られたのでまたきました。

256 244 sage 2006/07/11(火) 16:27:42 ID:???
257 nobodyさん sage 2006/07/11(火) 17:10:33 ID:???
私が解決しましたと書き込んでから40分間以上書き込んでない状況に対して、
「これ以上続けるなら」とはどういう了見ですか?

まるであなたが話しをひっぱって続けているようにしか見えません。
0320nobodyさん2006/07/12(水) 08:42:19ID:???
http://pc8.2ch.net/test/read.cgi/php/1152251693/
こいつらコッチに丸投げしてぇ
0321nobodyさん2006/07/12(水) 08:43:13ID:???
間違えた。コッチな
http://pc8.2ch.net/test/read.cgi/php/1150088761/
03223122006/07/12(水) 08:57:58ID:???
>>313
d
今回はセッション使う事にしました。
コメントスパムツール対策にもなりそうなので

携帯もあるのでjsはパスです。書いとくべきでしたね。
0323nobodyさん2006/07/12(水) 09:00:53ID:???
>>320
反応するとまた書き込んでくるから、何も書かない方がいい。
反応さえしなければ無害だ。
多分お前の書き込みになにかレスしてくるぞ。
0324nobodyさん2006/07/12(水) 10:25:33ID:???
>>313
どっちがいいんですかね。
Webアプリ作るときいつもそれで迷いますね。。
0325nobodyさん2006/07/12(水) 10:30:02ID:???
>>324
セッション使え
0326nobodyさん2006/07/12(水) 10:49:04ID:???
>>323にて、「多分お前の書き込みになにかレスしてくるぞ」
と、320にレスしてくるのを予言されたので、レスせざるをえませんでした。

>>320
誰にでもミスはあるんだ。だからミスを責めることはできない。
0327nobodyさん2006/07/12(水) 12:11:09ID:/vjOPwv1
mb_ereg_replace()を使用して、URLを<a>タグに置き換える処理を作っています。
そこで、URLの判別に次のようなルールの正規表現を作りたいんですが、なかなかうまく行きません…。

・URLを判定する正規表現
・ただし、「 :;」が含まれている場合は許可しない。

URLを判別する正規表現というのは、

(http:|https:)(\/\/[-_.!~*\')a-zA-Z0-9;\/?:\@&=+\$,%#]+)

で行ってるのですが、「 :;」を除外できません。
どなたかご助言頂けるとありがたいです。
0328nobodyさん2006/07/12(水) 12:19:05ID:???
>>327
ちったぁ正規表現覚えろよ
ttp://pc8.2ch.net/test/read.cgi/tech/1131028296/
03292972006/07/12(水) 12:42:04ID:67ROEMVu
>>298
ありがとうございます。
そのまんま「$hoge_data->$variable」でよかったのですねorz

# $article を $hoge_data に置換し損ねていましたorz
0330nobodyさん2006/07/12(水) 13:45:17ID:xb5eEiQB
DB::connectの「::」ってなんですか?
0331nobodyさん2006/07/12(水) 13:48:43ID:???
>>330
特に必要ない、見やすいようにしてるだけ
DBconnectでも大丈夫
0332nobodyさん2006/07/12(水) 13:49:39ID:???
>>330
クラスとそのメンバを繋ぐ記号。

DBクラス内にある、connect という関数を実行せよということだな。
■ このスレッドは過去ログ倉庫に格納されています