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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/11/03(土) 19:07:37ID:EzkHevL1
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/

◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0176nobodyさん2007/11/06(火) 14:12:05ID:???
>>175
おまえには一生無理だからプログラミングに関わること自体辞めておけ。
0177nobodyさん2007/11/06(火) 14:14:16ID:???
>>170
PHP教える専門学校ってあるのか?w
こんなもん趣味でマスターできるだろw
それとも一般人には難しいのかな?
0178nobodyさん2007/11/06(火) 14:21:46ID:???
選択授業とかなのかも?
専門も一応教育機関なんだから授業で教えるなんてことはしないと思うけど、
2年制の専門とかじゃない、数ヶ月の短期間で学ぶような塾の延長線みたいな学校なら、
PHP専門でやるのかもね。
01791612007/11/06(火) 14:24:15ID:Xpbtcgy9
>>172
これじゃできないですね(^^
でも解決しました。
ありがとうございます
0180nobodyさん2007/11/06(火) 14:36:29ID:???
>>178
専門学校も所詮はビジネスだから社会(採用しにくる企業?)のニーズに
合わせてカリキュラムを組むのだよ
一時期、プログラミングのプの字も教えずにWord+Excelしか扱わない
情報処理系の専門学校があったの知らない?
0181nobodyさん2007/11/06(火) 14:46:53ID:???
mixiで検索したがそれらしいのないなw
0182nobodyさん2007/11/06(火) 15:11:11ID:???
メイドロボ欲しいんすけど。PHPで。誰か作って。
0183nobodyさん2007/11/06(火) 15:13:59ID:???
>>182
メイドロボはクライアントサイドで動作する。
意味分かるな?
0184nobodyさん2007/11/06(火) 15:15:23ID:???
>>160
過去の回答でも
・編集加工等を一切しないことが前提ならhtmlspecialcharsをかけて
・HTML表示以外にも使用用途があるなら生のまま
でFA
0185nobodyさん2007/11/06(火) 15:18:23ID:???
・入力データはそのまま(もちSQLインジェクション対策はして)
・出力するとき、必ず無害化する

・入力データを無害化
・出力するときそのまま

別にどっちでも変わらなく値
0186nobodyさん2007/11/06(火) 15:19:48ID:???
追記。
計算機のコストという観点で見るなら、一般に入力の回数<<出力の回数だろうから
コストは増えるだろうね。htmlspecialcharsの処理コストなんてタカがしれてると思うけど、どうなんだろ?
0187nobodyさん2007/11/06(火) 15:37:43ID:???
pearのインストールにて、http://go-pear.org/をブラウザで表示しないといけないのに、表示できません。

前は出来ていた気がするのですが、自分だけでしょうか?
0188nobodyさん2007/11/06(火) 15:47:20ID:???
>>187
無知ですみません。
pearって何ですか?
どうやってインストールするの?
0189nobodyさん2007/11/06(火) 15:48:03ID:???
>>177
>こんなもん趣味でマスターできるだろw
こんな認識の人がいるからクソコーダが増えるんだよなあ。
PHPは自由度が高いだけに落とし穴があるし逆に難しい。
0190nobodyさん2007/11/06(火) 15:50:07ID:???
>>180
>一時期、プログラミングのプの字も教えずにWord+Excelしか扱わない
>情報処理系の専門学校があったの知らない?
それ、デジタ○ルハリウッドのこと言っているの?
0191nobodyさん2007/11/06(火) 15:59:53ID:mQE1+D6y
Smartyで組み立てたページを出力せずに保存したいのですが、
何か方法はありませんか?
0192nobodyさん2007/11/06(火) 16:00:46ID:???
>>190
全然伏字になってねえし(w マンマかよ!
0193nobodyさん2007/11/06(火) 16:10:30ID:???
>>187
>>75
0194nobodyさん2007/11/06(火) 16:13:42ID:???
今の今までアルファベットは24文字だと思ってたorz
0195nobodyさん2007/11/06(火) 16:14:32ID:???
>>194
アホかお前、27文字だろカス
もう一度中学から勉強し直せ
0196nobodyさん2007/11/06(火) 16:22:07ID:???
ワロタ
>>194
A-X でYとZは迷子ですか

>>195
A-Z? 次に来る文字は?
01971612007/11/06(火) 16:38:49ID:Xpbtcgy9
度々ですみません。
やっぱりできてなかったです。。
62進法で10のときなどの繰り上がる処理がうまくいかないです。
助言お願い致します。


function ango($int) {
$h = array(
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f','g','h','i','j',
'k','l','m','n','o','p','q','r','s','t',
'u','v','w','x','y','z','A','B','C','D',
'E','F','G','H','I','J','K','L','M','N',
'O','P','Q','R','S','T','U','V','W','X',
'Y','Z');
$str = '';
while ( $int >= 62 ) {
if( $int<= 62 ) {
$str .= $h[ $int ];
} else {
$str .= $h[ (int)($int / 62) ];
}
$int = (int)($int / 62);
}
return $str;
}
0198nobodyさん2007/11/06(火) 16:51:56ID:???
>>197
マニュアルのユーザノートからぱくるなり、PEARのライブラリ使うなりすればいい
0199nobodyさん2007/11/06(火) 16:53:36ID:???
>>191
fetch()
0200nobodyさん2007/11/06(火) 16:58:45ID:???
>>198
http://pear.php.net/package/Math_Basex

これか。やっぱ力技だな
0201nobodyさん2007/11/06(火) 17:01:54ID:???
>>200
そんなんあったんだ。俺も自作してた。
0202nobodyさん2007/11/06(火) 17:10:22ID:???
>>197
$tbl62 = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
"n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
);

function toSixtyTwostring($int) {
  global $tbl62;
  $buf = array();
  while ($int >= 62) {
    $buf[] = $tbl62[($int % 62)];
    $int = $int / 62;
  }
  $buf[] = $tbl62[$int];
  $retbuf = array_reverse($buf);
  return $retbuf;
}

>>168のをPHPにしたもの。配列で返してるところが>>168と違うけど。
0203nobodyさん2007/11/06(火) 17:12:43ID:???
>>197
while以降をこうしてみたらどうだろう

while($int){
$str .= $h[$int % 62];
$int = (int)($int / 62);
}

return strrev($str);
0204nobodyさん2007/11/06(火) 17:14:26ID:???
再帰を使うんだ。

function decTo62($int)
{
$ary = array(,,,,,);

if($int != 0)
return decTo62($int / 62) . $ary[$int % 62];
else
return 0;
}

多分こんな感じで動く。負数の扱いとか、細かいとこはまぁ適当に。


02051612007/11/06(火) 17:24:59ID:Xpbtcgy9
>>202-203さん
ありがとうございます!できました!
先に下から計算していくんですね、、数学勉強しときゃよかった。。
感謝です!
0206nobodyさん2007/11/06(火) 18:11:13ID:???
ここでいいのかちょっとビミョウですが・・・。
http://php.benscom.com/manual/ja/features.persistent-connections.php
マニュアルを読むと、トランザクションを使用する場合は持続的接続を使用するべきではない、とされています。
ですが、クラスの中でトランザクションを使いたいので、トランザクションを使っているかどうか把握するのが
難しいです。そこで、こういうのはアリでしょうか?

$db = mysql_pconnect(ほにゃらら);
$hoge = new Hoge($db);
$hoge->get();
$hoge->update();

class Hoge {
 private $pcon;
 public function __construct($db) {
  $pcon = $db;
 }
 public function update() {
  $db = mysql_connect(ほにゃらら);
  //$dbを使ってトランザクション処理
 }
 public function get() {
  //$pconを使って普通の処理
 }
}
0207nobodyさん2007/11/06(火) 18:14:00ID:???
いみねーw
0208nobodyさん2007/11/06(火) 18:15:27ID:???
あー、そうだ。俺もpconnectで聞きたいことがあったから便乗。

mysql_queryとかリンク識別子省略できんじゃん。
省略した場合、直前のmysql_pconnectで作った接続が使われるの?
その場合、ヘッダファイルか何かで接続しちゃえば、関数の中だろうがクラスの中だろうが
pconnectで作られた持続的接続が使われる?

いや、毎回毎回オブジェクト作るときにリンク識別子渡すのとか面倒くさくてさ。
渡しておくと何かいいことある?
02092082007/11/06(火) 18:23:46ID:???
すまん。自己解決したわ。
02102062007/11/06(火) 18:24:33ID:???
>>207
何がですか?
ここの質問者はレベルが低いので他で聞きます。
02112082007/11/06(火) 18:25:34ID:???
>>209
おい、お前は誰だ
0212nobodyさん2007/11/06(火) 18:26:23ID:???
>>210
自覚は成長の第一歩という言葉がある
02132062007/11/06(火) 18:29:20ID:???

"自覚は成長の第一歩" に一致するページは見つかりませんでした。

検索のヒント:

* キーワードに誤字・脱字がないか確認します。
* 別のキーワードを試してみます。
* もっと一般的なキーワードに変えてみます。
02142062007/11/06(火) 18:30:47ID:???
すまん。自己解決したわ。
02152062007/11/06(火) 18:35:00ID:???
めでたしめでたし
0216nobodyさん2007/11/06(火) 18:36:47ID:???
自覚は成長の第一歩 の検索結果 約 420 件中 1 - 10 件目 (0.41 秒)
0217nobodyさん2007/11/06(火) 18:40:22ID:???
お前はまずぐぐり方を自覚する必要があるな( ´∀`)
0218nobodyさん2007/11/06(火) 18:42:30ID:???
中二 <おれは小4で覚醒したぜ
0219nobodyさん2007/11/06(火) 18:46:08ID:???
流れが自覚できないんですけど。
02202122007/11/06(火) 18:46:22ID:???
>>213
そんな言葉あるわけねーだろw
0221まとめると2007/11/06(火) 18:50:13ID:???
自己解決したということでこの件は放置でいいですね?

つか、質問するならID出しやがれ
0222nobodyさん2007/11/06(火) 18:51:43ID:???
"小4で覚醒"の検索結果 1 件中 1 - 1 件目 (0.38 秒)

みんな、オナニー覚えたのいくつ?
その後インターバルがあり小4で覚醒した
0223nobodyさん2007/11/06(火) 19:47:01ID:???
質問させて下さい!
ポイントバックサイトを自作で構築しようと思いPHPを勉強しています。
某サイトで.doファイルにアクセスする事でアフィリエイトの認証状況などを出力出来るようになっています。
そこで、phpで.doファイルにアクセスして内容を取得出来るのかを知りたて質問しました。
とりあえず
$f_name = "http://〜〜〜〜.do";
print(file_get_contents($f_name))
とやってみたのですがf_nameには何も入ってきませんでした。
0224nobodyさん2007/11/06(火) 19:51:23ID:???
そうですか
0225nobodyさん2007/11/06(火) 19:55:53ID:???
>>223
認証が必要でしょ
02262232007/11/06(火) 20:17:03ID:???
自己解決しました。
02272232007/11/06(火) 20:22:25ID:???
>>226おまえ誰だよ?

それはそうと、自己解決しました。
0228nobodyさん2007/11/06(火) 20:23:10ID:???
こいつも息が長いな
0229nobodyさん2007/11/06(火) 20:39:13ID:j2Z/cAo8
そもそも、ポイントバックサイトの仕組みがわからんから俺作れない。
どうなるんだろ
0230nobodyさん2007/11/06(火) 22:50:56ID:???
phpのアンインストール方法が分からないというより、検索でも話題に上がってないような気がするのだけど、問題ない?

普通にやっておk?
0231nobodyさん2007/11/06(火) 22:56:56ID:???
はい?
0232nobodyさん2007/11/07(水) 00:45:23ID:9ko+PHc1
俺もポイントサイトのトラッキング(紐付け)はどうやっているのか分からない。
だってさ、エンドユーザがポイントサイト経由で広告主のサイトに行ったことまでは
追跡できるけど、その後最終的に成約に至ったかどうかなんて調べようがないじゃん?

もちろん、自分のASレポートの成約状況と照らし合わせて推測することは出来るけど、
同一時間帯に複数のエンドユーザが同じ広告から成約した場合、どれが誰のトランザクションなのか判別できない。

ましてや再訪期間が長く設定されているアフィ広告の場合、何日も前にクリックしてくれた客の
成約に対してポイントバックするためのトラッキングは不可能に近くね??
0233nobodyさん2007/11/07(水) 00:51:05ID:???
確かに謎かも

厨が無料ホームページで作ったサイトでアフィ登録者に掲示板の鍵を渡すとかやってるもんな
これも一種のポイントバックだろ
これがまともに機能してるとして、携帯のシリアルIDを認証キーにしてると、
ありえないもんな
0234nobodyさん2007/11/07(水) 01:03:45ID:???
何を今更。
02352232007/11/07(水) 01:47:08ID:???
さっさと書いたことに対して回答つけろやボンクラども
わからないくせに偉そうに知ったかぶってんじゃねえよ
0236nobodyさん2007/11/07(水) 03:00:56ID:???
>>235
        *      *
      *     +  いっやで〜す
         n ∧_∧ n
     + (ヨ(* ´∀`)E)
          Y     Y    *
0237nobodyさん2007/11/07(水) 03:03:38ID:???
ホント一人で何やってるんだか
0238nobodyさん2007/11/07(水) 08:15:07ID:???
>>233
そゆのは手動だって。
登録したら登録した情報が入って、それで鍵とか渡してるっぽい。

ただ、登録しました!っていう情報しか入らず、丁度いい時間帯に虚偽報告あったら、
結構だめなシステムだよな。

アフィのとこによっては、そういうのを聞いてくれるとこもあるらしいが
0239nobodyさん2007/11/07(水) 09:17:51ID:???
ホントここの奴っていい加減だなぁwww

"自覚は成長の第一歩"じゃなくて、"自我は成長の証"だろ。

慣れない言葉使うなw
0240nobodyさん2007/11/07(水) 09:34:32ID:???
変なのが沸いてきたな。草ぇ
0241nobodyさん2007/11/07(水) 10:04:05ID:???
3個連続くらいで草いってwwwwwwwwww
「草い」って言葉を覚えたてで使ってみたかったんだろうなwwwwwwww
草いってこういうことを言うんだよwwwwwwwwwww
02422232007/11/07(水) 12:34:19ID:???
なんでこんなに使えない人間がそろってんの?
しっかり働けよ人力検索ども
0243nobodyさん2007/11/07(水) 12:54:17ID:9ko+PHc1
>>238
大手ポイントサイトが手動で紐付けやってるわけないっしょ。
大手ともなると、ASPからデータ提供されるのかな?
0244nobodyさん2007/11/07(水) 12:58:57ID:???
>>243
スレ違い
0245nobodyさん2007/11/07(水) 13:26:17ID:ySTNYdvQ
質問
PHPでファイル作るときfopenとかで作りますよね?
で、そのためにディレクトリのパーミッションは707とかですけど
755じゃなくてもセキュリティは大丈夫でしょうか?
02462452007/11/07(水) 13:32:14ID:???
自己解決しました。
0247nobodyさん2007/11/07(水) 13:33:01ID:???
所有者・・・実行、書き込み、読み込み全部OK
同じグループ・・・全部ダメ
その他・・・全部OK

これで問題ないと思うなら大丈夫
0248nobodyさん2007/11/07(水) 13:40:16ID:ynZCcOoV
>>247
245じゃないけど、
同じグループってのは同じサーバーで借りてる他の人もってことでいいの?
自鯖だと、複数のユーザーで同じファイルを扱えるようにするには「同じグループ:全部OK」ってことかな?
0249nobodyさん2007/11/07(水) 13:47:15ID:???
yes
0250nobodyさん2007/11/07(水) 13:49:32ID:ynZCcOoV
>>249
ありがとー
0251nobodyさん2007/11/07(水) 13:57:33ID:???
>>245
どれもまともな回答はでておりません。
linux板で質問したほうが早いでしょう。
0252nobodyさん2007/11/07(水) 14:14:59ID:???
昔さー

その他のユーザーがファイル見える=ブラウザで表示される
その他のユーザーがファイル書き換え可能=誰でもブラウザでソース書き換えたら反映されちゃう

だと思ってたころもありました
0253nobodyさん2007/11/07(水) 14:19:21ID:???
板違いの話題はご遠慮ください
0254nobodyさん2007/11/07(水) 15:04:17ID:8LwacSpR
さっき本を読んでて気づいたんですけど
PHPで
class hoge
{
public function foo(){
static $bar;
if(!isset($bar)) $bar = "初期化";
}
}
みたいにstaticを使ってメソッド内変数宣言すると、そのメソッド内でのみ有効な変数を宣言できるんですけど
これって非推奨だったりします?
マニュアルのstaticのところ見ても、ググっても見つけられませんでした。

ちなみに、上のコードで
static $bar;
を無くすと、このメソッドを、たとえばループ内で呼び出した時、毎回セットされてないとみなされ、初期化されてしまいます。

今まで、これを避けるために、クラス変数として宣言してたんですけど、このメソッドでしか使わないものをクラス変数にするのが
なんとなく、やな感じで、これのほうが気分がいいのですが、あんまりやらないほうがいいのでしょうか?
0255nobodyさん2007/11/07(水) 16:15:56ID:???
常駐アプリやフライウェイトで大量生成でもしないかぎり実害はないだろ
しかし写像たる関数にそんなもんあるのはおかしな話だし、他人に優しいコードではないな
0256nobodyさん2007/11/07(水) 16:27:48ID:???
俺はそっちのほうが気持ち悪いが、まぁ人それぞれなんじゃね
0257nobodyさん2007/11/07(水) 16:38:40ID:???
>なんとなく、やな感じで、これのほうが気分がいいのですが、
ゲロ吐きそう
0258nobodyさん2007/11/07(水) 17:16:39ID:???
ですね、ですね、という奴は自信がない証拠だろw

すぐに相手に同意を求めないと不安になるくらいなら、
もっと、自信が持てるくらい勉強しろよ。
0259nobodyさん2007/11/07(水) 17:18:25ID:???
>>258
スレタイ100回嫁
0260nobodyさん2007/11/07(水) 17:20:18ID:???
>>258
こちらは他で引き取れないようなくだらない質問を取り扱うスレでございます。
高等技術についての議論・討論は承っておりません。
0261nobodyさん2007/11/07(水) 17:23:42ID:???
>>258
出来る子は帰った帰ったw
0262nobodyさん2007/11/07(水) 18:28:23ID:???
pdoでのUpdateが空文字の所だけ更新されてないんですが、
これは仕様ですか。
0263nobodyさん2007/11/07(水) 18:36:35ID:ynZCcOoV
print_rをすれば、オブジェクトや配列の中身が出てきますが、
画面に表示せずに、それをそのままテキスト保存するにはどうすればいいですか?
ブラウザで確認できないスクリプトなので、中でどうなっているか知りたいのです
0264nobodyさん2007/11/07(水) 18:37:24ID:???
ob_start, ob_get_contents, file_put_contents, ob_cleanだ
0265nobodyさん2007/11/07(水) 18:38:41ID:ynZCcOoV
>>264
なるほど!その発想は思いつきませんでした
ありがとうございます。
0266nobodyさん2007/11/07(水) 18:42:31ID:???
>>262
kantigai desita
0267nobodyさん2007/11/07(水) 18:45:23ID:???
>>264 色々間違ったけど、まあそんな感じってことでヨロシク
0268nobodyさん2007/11/07(水) 18:49:49ID:ynZCcOoV
>>267
//バグ確認用
ob_start();
var_dump($HotObj);
$txt = ob_get_contents();
ob_end_clean();

$fp = fopen("error", "w");
fwrite($fp, $txt);
fclose($fp);

これでできましたー
サンクスです
0269nobodyさん2007/11/07(水) 18:52:16ID:ynZCcOoV
って、これってエラーが出て途中で止まってしまった場合って無効になりそうですね・・・

エラーが出てもエラー文を取得するのはどうすれば良いのでしょうか
0270nobodyさん2007/11/07(水) 19:03:28ID:QGyNJ9Px
ある値にシーザー暗号をかけたいのですがstr_replaceだと再帰的に置き換えてしまうので困ってます。

$hoge= '13690';
$rep = array(1,2,3,4,5,6,7,8,9,0);
$key = array(a,b,1,7,G,0,U,s,3,r);
$hogeTwo = str_replace($rep, $key, $hoge);
echo $hogeTwo; // 期待値a103rのところ a1r3rになってしまう

どうすれば1文字1回だけで且つ全ての文字を置き換えられますでしょうか?
0271nobodyさん2007/11/07(水) 19:06:06ID:???
どんなとこでも
var_dump($hoge);
exit;
でいいんじゃね?
0272nobodyさん2007/11/07(水) 19:07:07ID:ynZCcOoV
>>271
それまでにWarningのエラーが発生すると、そこで自動的にexitになりません?
0273nobodyさん2007/11/07(水) 19:08:20ID:???
>>269,272
マニュアル読めば多分分かるだろ

>>270
strtr()かね
0274nobodyさん2007/11/07(水) 19:09:25ID:???
>>263
print_rはデバッグだけにしろ
0275nobodyさん2007/11/07(水) 19:09:34ID:ynZCcOoV
出た、マニュアル厨
■ このスレッドは過去ログ倉庫に格納されています