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

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

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

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

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

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0666nobodyさん2008/02/19(火) 19:05:26ID:???
ニコ動ってPHPなの?
0667nobodyさん2008/02/19(火) 19:08:38ID:???
>>665
相当なやる気があるなら作れるだろうけど
普通の人がHTMLとCSSは一通り、PHPは無知な状態から作れるものではない。
手ごろなWebアプリ作成から始めることをお勧めするよ
0668nobodyさん2008/02/19(火) 19:08:40ID:???
>>665
皆無ですか。
そんな貴方に私から出来るアドバイスは、少なくともシステム部分に関しては
システム屋へ外注なさるのが早いかと存じます。
0669nobodyさん2008/02/19(火) 19:09:04ID:???
include_path = ".;c:/php/includes;c:/php/pear"

インクルードパスのc:/php/pearに存在するふぁいるのなかでも
インストールしたpear関連のファイル(DB.phpとかMail.php)だけ読み込めないんだけど
この現象何が原因なのでしょうか
0670nobodyさん2008/02/19(火) 19:17:19ID:???
>>666
だろ けっこPHPの事例として引き合いに出されるし
0671nobodyさん2008/02/19(火) 20:10:49ID:???
もっとスキルの高い解答者が欲しいよなぁここ・・・
初心者〜中級者入り口手度のやつしかいねぇ・・・
0672nobodyさん2008/02/19(火) 20:13:45ID:???
そうだな。俺の質問もスルーされたし。
0673nobodyさん2008/02/19(火) 20:16:40ID:???
で、おまえは誰?
0674nobodyさん2008/02/19(火) 20:18:52ID:???
そもそもそんな高いスキル持ってる奴はこんなとここないだろ
0675nobodyさん2008/02/19(火) 21:22:43ID:???
PHP歴8年ですが。。。
ただいまCakePHP慣れきたとこで
symfonyに覚えてます
フレームワーク乱立のおかげで覚えること沢山で困ります
昔はそんなに覚えることなかったのにな
0676nobodyさん2008/02/19(火) 21:54:59ID:???
>>671
スキルの高い解決方法を頼む
0677nobodyさん2008/02/19(火) 22:01:09ID:???
> 昔はそんなに覚えることなかったのにな
PHPに限らないが、

覚えることが少ない言語は
自分で作らないといけないものが多く、

覚えることが多い言語は
自分で作らないといけないところが少ない。
0678nobodyさん2008/02/19(火) 22:27:37ID:bDEijUku
Perlからモジュール版のPHPに移ってきたのですが、
Perlと比べてパーミッションを気にする必要がないようですが、
普段のphpファイルのパーミッションはいくつに設定しておいた方が宜しいでしょうか?
とりあえず、現在は全て777に設定しています。
宜しくお願いします。
0679nobodyさん2008/02/19(火) 22:27:42ID:???
自分で作るから覚える分が少なくて済むが、
既製品で済む場合はそれの使い方覚えないといかんからな。
0680nobodyさん2008/02/19(火) 22:42:39ID:???
>>678
そのままでいいよ。644とか。
phpを通してファイルに書き込むなどといったことをするときは、
当然そのファイルを666とかにしないといけないけど。
0681nobodyさん2008/02/19(火) 23:01:36ID:???
>>669
普通に
include 'DB.php';
とかしてもincludeできないって事?


>>671
ここにスキル高い質問なんて無いだろ
0682nobodyさん2008/02/19(火) 23:37:20ID:???
なんってたってスレタイが「下らねぇ質問はここに書きこみやがれ」だからな。
0683nobodyさん2008/02/19(火) 23:48:52ID:???
ていうか自分がそういう回答者になればいいだけだろ
0684nobodyさん2008/02/20(水) 00:34:07ID:???
質問が無いのにどう回答しろというのだw
0685nobodyさん2008/02/20(水) 00:45:40ID:???
以上、下らねぇ回答の見本です
0686nobodyさん2008/02/20(水) 01:29:19ID:mRMNoFj0
まさに「下らねぇ質問」です。
前から疑問に思ってた事です。

「PHP」の正式名称は「PHP: Hypertext Preprocessor」
つまり「PHP」は「PHP: Hypertext Preprocessor」の略語ですよね。

でも正式名称である「PHP: Hypertext Preprocessor」の先頭にも略語の「PHP」の文字がありますよね。
じゃあこの先頭の「PHP」はさらに正式名称があるわけですか?
0687nobodyさん2008/02/20(水) 01:35:46ID:???
Personal Home Page Tools
0688nobodyさん2008/02/20(水) 01:42:34ID:???
PPPH
0689nobodyさん2008/02/20(水) 01:44:48ID:mRMNoFj0
>>687

有難う御座います。
php3.xあたりから入ってたもんですから
php1.xの頃の話なんて全然知りませんでした。
0690nobodyさん2008/02/20(水) 01:57:55ID:???
再帰的頭字語くらい知っておこう
0691nobodyさん2008/02/20(水) 02:10:15ID:???
こういうの再帰的頭字語っていうんだ。知らんかった。
ttp://ja.wikipedia.org/wiki/%E5%86%8D%E5%B8%B0%E7%9A%84%E9%A0%AD%E5%AD%97%E8%AA%9E
PHPも入ってるな。
0692nobodyさん2008/02/20(水) 08:06:43ID:???
<?php
$time = date("現在の日時は、Y年m月d日 H時i分s秒です。");
print($time);
?>

と書くと現在の日時は、M2008・02月20日 08時05分28秒です・03
って表示されます。大文字のMと です・のあとの03ってのが邪魔です。
どうすればいいんでしょうか?
0693nobodyさん2008/02/20(水) 08:25:08ID:???
SJISで書いてるような気がする
0694nobodyさん2008/02/20(水) 08:30:20ID:???
ありがとうございます。
0695nobodyさん2008/02/20(水) 08:30:26ID:???
Shift JIS (笑

いつの時代?w
0696nobodyさん2008/02/20(水) 08:51:09ID:???
笑うほどのことか?
ケータイなら出力はShiftJISだし、その流れでソースもShiftJISで書く初心者は多いだろ。

0697nobodyさん2008/02/20(水) 09:05:08ID:???
ケータイの出力がsjisだからsjisでソース書く初心者が多いという流れがよく分からんので詳しく教えてくれ。
PHPユーザは携帯サイト作成から入ることが多いという意味か?
0698nobodyさん2008/02/20(水) 10:26:11ID:???
テキストエディタとか全部デフォルトの設定でSJISが多いから最初はSJIS多いだろうな
0699nobodyさん2008/02/20(水) 11:34:03ID:0elSO0M+
配列から特定のキーの値のみ削除することは可能でしょうか?
array_shiftやarray_popは先頭・末尾でしたので・・・

Array
(
[Red] => ringo
[Blue] => budou
[Yello] => banana
)

関数("Blue")

Array
(
[Red] => ringo
[Yello] => banana
)
0700nobodyさん2008/02/20(水) 11:39:27ID:???
>>699
http://jp.php.net/manual/ja/function.unset.php
0701nobodyさん2008/02/20(水) 12:22:49ID:0elSO0M+
>>700
サンクス
0702nobodyさん2008/02/20(水) 13:17:42ID:???
配列から特定のキーの名前を変更は可能でしょうか?
キーの順番は変えたくありません。

Array
(
[Red] => ringo
[Blue] => budou
[Yello] => banana
)

関数("Blue","Green")

Array
(
[Red] => ringo
[Green] => budou
[Yello] => banana
)
0703nobodyさん2008/02/20(水) 13:24:28ID:0elSO0M+
>>702
>>1
0704nobodyさん2008/02/20(水) 13:26:09ID:???
699=702かと思った。
0705nobodyさん2008/02/20(水) 13:31:33ID:???
>>702
foreach
0706nobodyさん2008/02/20(水) 13:32:16ID:???
>>702
順番変えたくないなら、もう一個配列作って、順番に入れてったらどうだ?
0707nobodyさん2008/02/20(水) 13:35:11ID:???
テンプレ読まないアフォ☆にそれに答えるアフォ☆
0708nobodyさん2008/02/20(水) 13:44:51ID:???
>>702
少しは考えようぜ
http://jp.php.net/manual/ja/ref.array.php
使えそうなもの探して自分なりに作ってみ
0709nobodyさん2008/02/20(水) 13:54:54ID:0elSO0M+
「大阪府大阪市」
を
mb_splitの[都道府県]で分解すると
「大阪」と「大阪市」になりますが、
「大阪府」と「大阪市」に分けることって可能でしょうか?

区切り文字消さないオプションとかないですよね・・・orz
0710nobodyさん2008/02/20(水) 14:02:12ID:???
都道府県なら数も知れてるし個別対応すれば?
0711nobodyさん2008/02/20(水) 14:23:35ID:???
>>702
配列に入れる段階で順番にこだわる理由がわからない。
実際に配列を操作するときは特定のアルゴリズム下で行われるべきなので、
最終的にソートして表示したときなり、検索して取り出したときの結果は変わらない。
0712nobodyさん2008/02/20(水) 14:34:38ID:???
べきでもなんでもないし、可読性が低下しないなら、便利な機能は使えば良い。
0713nobodyさん2008/02/20(水) 14:40:34ID:???
>>712
可読性とかそういう問題じゃない。というか配列の順番に可読性も何も・・・
DBから取り出して配列にいれた段階で、その配列を実際眺めるなんてことしないだろ。
膨大なデータになればなるほど、そんなこと考えたりしない。
配列というのは、どういうグループでどういう値が配列に入っているかを理解していればいい。
あとは配列を操作する段階でどうにでもなる。
0714nobodyさん2008/02/20(水) 15:03:20ID:0elSO0M+
>>710
サンクスです
とりあえず都道府県47個は個別対応してみます。


あー、まだ質問あるけど流石に自重しなきゃ('A` )
0715nobodyさん2008/02/20(水) 15:14:46ID:???
>都道府県47個は

都道府の4つ+それ以外でいいような?
0716nobodyさん2008/02/20(水) 15:18:37ID:0elSO0M+
>>715
大阪府東大阪市→大阪 東大阪市
になるので、そこから「大阪」で検索かけて「府」を取得しようかと・・・
0717nobodyさん2008/02/20(水) 15:20:46ID:???
宮崎県都城市
さて
0718nobodyさん2008/02/20(水) 15:21:04ID:???
うん。だから、「東京」「北海」「大阪」「京都」の4パターン以外は、もう「県」で決定だよね?
0719nobodyさん2008/02/20(水) 15:23:14ID:0elSO0M+
>>718
も・・・もしかしたら、他に都道府県が増えるかも・・・
ないよね、うん、ありがと
0720nobodyさん2008/02/20(水) 15:23:36ID:???
そんなの、動きゃ何でもよくない?
本当に下らない質問だな。
0721nobodyさん2008/02/20(水) 15:24:16ID:0elSO0M+
>>720
本当にくだらない答えだ
0722nobodyさん2008/02/20(水) 15:24:23ID:???
>>717
mb_splitの3つ目の引数で制限
0723nobodyさん2008/02/20(水) 15:25:04ID:???
そうだなスレタイどおりだな
0724nobodyさん2008/02/20(水) 15:25:12ID:???
>>716
内部処理でつかんだよね?
内部処理するだけなら都道府県がついててもついてなくても不都合はないでしょ
0725nobodyさん2008/02/20(水) 15:27:38ID:0elSO0M+
>>724
住所最適化のために住所データベースより該当する行を取得しているんだけど、
京都府京都市大阪〜みたいな変な住所があったorz
複数キーワードを用意して、一番多くマッチした行の順番で返しているから、
「大阪」だけだと、「京都府京都市大阪」も「大阪府大阪市」も返ってくる。
0726nobodyさん2008/02/20(水) 15:28:56ID:???
岐阜県山県市とか注意が要りそう。
0727nobodyさん2008/02/20(水) 15:30:23ID:0elSO0M+
>>726
見事に岐阜県岐阜市芥見海戸山が一番上に\(^o^)/


ハァ・・・
0728nobodyさん2008/02/20(水) 15:35:10ID:???
^(北海道|京都府|大阪府|東京都|.*?県)(.*)
0729nobodyさん2008/02/20(水) 15:39:48ID:???
みんな大好き正規表現!
0730nobodyさん2008/02/20(水) 15:48:12ID:???
>>728
そうやるのが定石だよね。

ちなみに住所名データは郵便番号との対応表という形で日本郵便からDLできる。参考まで。
http://www.post.japanpost.jp/zipcode/download.html

遷都したら東京府になる(戻る)のかな?
0731nobodyさん2008/02/20(水) 15:48:30ID:???
2バイト文字コード恐怖症
0732nobodyさん2008/02/20(水) 15:50:19ID:???
データ登録を作る際注意すべきことはなんですか?
0733nobodyさん2008/02/20(水) 15:56:52ID:???
SQLインジェクション
0734nobodyさん2008/02/20(水) 16:24:42ID:???
住所の正規化むずすぎ・・・
0735nobodyさん2008/02/20(水) 17:12:38ID:???
正規化って言葉間違ってるから気をつけろな
0736nobodyさん2008/02/20(水) 17:14:26ID:???
>>735
住所を
都道府県 市区町村 地域名・町名 番地
に整えたいんだが何て言えばいいのよ?
0737nobodyさん2008/02/20(水) 17:21:14ID:???
自分は正規化って言葉が妥当だと思うが SIerには(住所の)名寄せって言う人が多いかも。
0738nobodyさん2008/02/20(水) 17:21:19ID:???
住所の整形
0739nobodyさん2008/02/20(水) 17:25:24ID:???
正規化では無い。

俺は4万件だったけど、おおよそ郵便番号使って分けた後、
入力ミスや合併前等は人海戦術だった。
0740nobodyさん2008/02/20(水) 18:04:32ID:???
最初っから

都道府県
市町村
それ以下

の三つで入れてもらえば良くね
って後処理の話だっけ?
0741nobodyさん2008/02/20(水) 18:23:15ID:???
つ「フリーワード検索」
0742nobodyさん2008/02/20(水) 18:33:27ID:0elSO0M+
set_time_limitは0で無制限になりますが、
memory_limitの無制限は可能ですか?
0743nobodyさん2008/02/20(水) 18:51:43ID:6Ca7eWC6
$array = array(2, 1);
というのがあって、この値を1, 2に入れ替えたいのですが、
直感的に、
$array[0] = $array[1];
$array[1] = $array[0];
という風に書いてしまうと、両方1になっていまいます。
それで記憶用の変数を用意し、
$i = $array[0];
$array[0] = $array[1];
$array[1] = $i;
のようにすると思ったとおりになってくれるのですが、
もっと適切な書き方はありませんか?
他言語でも応用するので、PHP特有の書き方やPHP関数の使用ははなしの方向でお願いします。
0744nobodyさん2008/02/20(水) 18:53:12ID:0elSO0M+
array_reverse
07457432008/02/20(水) 18:56:21ID:???
>>744
それはPHPのネイティブ関数なので・・・
それと説明足りませんでしたが、ただ単に逆順にいれかえるというわけではないです。
0746nobodyさん2008/02/20(水) 18:58:43ID:???
他の言語って何に使うの?
アセンブラとかするならもっと細かく書くけど、
ってか関数かしちゃえばいいんじゃない?
0747nobodyさん2008/02/20(水) 18:58:48ID:???
ここPHPすれなんだけど
07487432008/02/20(水) 19:04:59ID:???
>>746
JavaとVBです。
各言語の関数等をつかうか、作るかしかないですかね。
左辺と右辺を交換できるような、どの言語でも実装されてる演算子みたいのがあれば一番いいのですが。
$array[0] ⇔ $array[1]みたいな。ないですよね、そんなの。

>>747
すみません。一応PHPでやっていたので。
質問に書き方の制約がついても問題ないかと思いまして。
0749nobodyさん2008/02/20(水) 19:06:10ID:???
巧妙な釣りか?
0750nobodyさん2008/02/20(水) 19:12:35ID:???
変数の入れ替えは>>743の方法がどの言語でも主流だよ。
0751nobodyさん2008/02/20(水) 21:13:53ID:???
一時変数使いたくないならビット演算使うのが定番だが
本当の馬鹿に対する可読性が心配になるので避けがちだな

>ただ単に逆順にいれかえるというわけではない
の内容が分からん事にはなんとも
0752nobodyさん2008/02/20(水) 22:03:41ID:???
>>746
>JavaとVBです。
スレ違い
0753nobodyさん2008/02/20(水) 22:18:57ID:???
解答できないとなんでもスレ違いにする文盲で低脳はどっか逝け
0754nobodyさん2008/02/20(水) 22:22:07ID:???
phpでクラスを定義して、
コマンドラインから実行するときに、
メインで実行される暗黙のメソッドはないのでしょうか?

javaでいうmainメソッドみたいなものです。
アドバイス宜しくお願いします
07557542008/02/20(水) 22:22:29ID:KIJWvRfX
すみません。下げていました。
0756nobodyさん2008/02/20(水) 22:29:23ID:???
>>755 そういうのは無いな
コンストラクターとは違うんだよな?
07577542008/02/20(水) 22:32:39ID:KIJWvRfX
>>756
無いですか...
class_Cというクラスがあり、コマンドラインから
$ php ./class_C.php
と実行すると、
class_C内の特殊なメソッドが呼ばれるようなイメージです。

$ java ./classC
とやると、自動的にclassC内のstatic void mainが呼ばれるようなイメージです。

コマンド内からphpクラスのコードを実行する方法が思いつかないので。

0758nobodyさん2008/02/20(水) 22:32:43ID:???
>>748
Javaで配列使うなよ。笑われるぞ。

>>754
ないんじゃね?
0759nobodyさん2008/02/20(水) 22:36:29ID:???
>>754
public static function mainでも作って書いておけば?
無理にjavaのマネする必要なくね?
07607542008/02/20(水) 22:40:26ID:KIJWvRfX
>>758>>759
やっぱりないですか...

既に作ってあるクラスがありまして、
それをシェルから呼びたいのですが、
何かいい方法がないかと思いまして。

クラスを作り直すのはできれば避けたいのですが、やっぱりダメそうですね。
ありがとうございました。
0761nobodyさん2008/02/20(水) 22:52:40ID:???
>>754
どうやってそれを実行するつもりやったん?
0762nobodyさん2008/02/20(水) 22:53:15ID:???
そのクラスのメソッドを呼び出すバッチ作ればいいんじゃね?
07637542008/02/20(水) 23:02:54ID:KIJWvRfX
>>761
イメージ的には、これをcronデーモンから実行させるイメージでした。
-----------------------------------------------------------
#!/bin/sh
/usr/local/bin/php /public_html/hogehoge/MainClass.class.php
exit
-----------------------------------------------------------
クラスではなくベタ書きならうまくいくのですが、
そのクラスは既にテスト済みで、そのファイルだけクラスじゃないのは、ちょっとと思いまして。

>>762
すみません、それはどういうような機構でしょうか?
宜しければ、その方法をアドバイスいただけないでしょうか?
0764nobodyさん2008/02/20(水) 23:06:04ID:???
>>763
だからそのMainClass.class.phpでどのように
そのクラスを実行する設計を?

定義して放置プレイ?

07657542008/02/20(水) 23:33:51ID:KIJWvRfX
>>764
MainClass.class.phpは、実行するクラスではなくて、
実装される側のクラスのことです。
実行主体はcrondです。できれば、MainClass.class.php内部はいじらずにできればいいのですが、厳しいそうですね。
■ このスレッドは過去ログ倉庫に格納されています