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

【PHP】下らねぇ質問はID出して書き込みやがれ 112

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/10/31(月) 05:11:09.81ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 111
http://hibari.2ch.net/test/read.cgi/php/1317232566/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0021nobodyさん2011/10/31(月) 19:39:34.89ID:???
>>17
宣伝乙
0022nobodyさん2011/10/31(月) 19:40:25.35ID:???
>>20
PHPと関係ねえじゃんしねよks
perlスレ池
0023nobodyさん2011/10/31(月) 19:45:48.73ID:DDhIm8wJ
>>22
じゃあ質問する場所間違えたみたいですね。こちらで質問させて頂きます。
【ファイル】http://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=pwdwin&no=4770 パス:p
http://q.hatena.ne.jp/1287372348を参考にwebサイト上に、あるサイトのxmlをsimplexml_load_fileで読み込み、表示しています。
今のところ、一つしかサイトを取得できてないんですけど、2つ以上のサイトのxmlを読み込むにはどうすればいいでしょうか。$rssにarrayを指定してみてもできなかったです。
ついでに日時順(取得したの全部ごちゃまぜで)に並べる方法も教えて下さい。よろしくお願いいたします。
0024nobodyさん2011/10/31(月) 19:52:15.67ID:???
apache、php、postgresqlをyumじゃなくそーすでやったら。
0025nobodyさん2011/10/31(月) 20:33:17.97ID:???
>>23
オブジェクト分けろ
0026nobodyさん2011/10/31(月) 20:52:29.26ID:???
>>23
丸投げ厨しね
自分で調べろks
0027nobodyさん2011/10/31(月) 21:11:27.68ID:DDhIm8wJ
>>25
ありがとうございます。
あまり知識が及ばないので調べさせていただきます。
できましたら報告しますね。
0028nobodyさん2011/10/31(月) 21:28:23.35ID:???
質問です。

A画面とB画面があって、その両方の画面から呼ばれているユーザー選択画面があったとします。
A画面から、リンクを押下するとユーザー選択画面に遷移し、
ユーザーを選択するとA画面に戻ります。
B画面も同様の動きをします。

このような場合、ユーザー選択画面を実装するphpファイルを、
A画面にもB画面にも依存しないように作るのは一般的ですか?
それとも、依存するのが当たり前でしょうか。

よろしくご教示お願いいたします。
0029282011/10/31(月) 21:34:32.19ID:znaCeG13
すいませんID出し忘れました
0030本物の282011/10/31(月) 21:45:13.20ID:???
>>29
すいません、id出さなきゃいけないルールなのでしょうか。。
idを出す方法を教えてください。
0031nobodyさん2011/10/31(月) 21:47:31.90ID:???
>>28
どっちでもいいよ
コントローラで動作を振り分けるのもいいし
別々につくってもいいし
0032nobodyさん2011/10/31(月) 22:01:30.41ID:???
>>30
名前欄にfusianasanって書くとIDが出る
0033nobodyさん2011/10/31(月) 22:12:29.18ID:???
>>29の優しさにうるっと来て
>>30で涙腺が崩壊した
0034nobodyさん2011/10/31(月) 22:47:18.57ID:???
>>31
依存しないで作ることなんか出来るの?
A画面で何か入力して、ユーザー選択画面に遷移した後、A画面に戻ったら入力内容を復帰する場合を考慮すると、
依存しないで作ることは出来ない思う。
0035本物の282011/10/31(月) 22:48:44.21ID:???
解決しました
0036nobodyさん2011/10/31(月) 23:15:41.76ID:???
どっから来たかを覚えておけばいいよ。
元の画面の情報を復帰するのは、元の画面が考えればいいだけ。
0037nobodyさん2011/10/31(月) 23:36:43.33ID:V0LerLdh
SQLite3でデータを簡単に登録するだけのフリーライブラリとかないでしょうか?
検索機能は必要なのですけど、
登録機能は付ける必要がないので、
そういうツールがあると楽なんですけど
0038nobodyさん2011/11/01(火) 00:14:05.29ID:???
フレームワーク ORM
0039nobodyさん2011/11/01(火) 00:53:31.07ID:???
+-----+---------+------+------+------+--------------+---------------+
| hid | name | hid | sid | lid | skillname | skilleffect |
+-----+---------+------+------+------+--------------+---------------+
| 2 | slither | 2 | 0 | 1 | poison spray | 70damage |
| 2 | slither | 2 | 0 | 2 | poison spray | 80damage |
| 2 | slither | 2 | 1 | 1 | toxicity | 4000e |
| 2 | slither | 2 | 1 | 2 | toxicity | 3000secdamage |
+-----+---------+------+------+------+--------------+---------------+
これを
mysql_fetch_array($res)で取得すると

array(13) { [0]=> string(1) "2" ["hid"]=> string(1) "2"
[1]=> string(7) "slither" ["name"]=> string(7) "slither"
[2]=> string(1) "2" [3]=> string(1) "0" ["sid"]=> string(1)
"0" [4]=> string(1) "1" ["lid"]=> string(1) "1" [5]=> string(12)
"poison spray" ["skillname"]=> string(12) "poison spray"
[6]=> string(8) "70damage" ["skilleffect"]=> string(8) "70damage" }
2
ってなる
重複されちゃって 1個しかとれない

4こ配列にとる方法おしえて
0040nobodyさん2011/11/01(火) 01:00:24.29ID:???
>>39
>>1
0041nobodyさん2011/11/01(火) 01:08:19.37ID:???
>>1を読まないやるはたいていマニュアルも読まないからな
ちゃんと書いてあるのに
0042nobodyさん2011/11/01(火) 01:16:49.74ID:???
>>37
DB板のSQLiteスレへどうぞ
0043nobodyさん2011/11/01(火) 02:23:23.79ID:???
どんどんfetchすればいいだけだったわ。
IDなんて出すかボケ
0044nobodyさん2011/11/01(火) 02:48:24.50ID:i3fruPo7
evalって危険ですか?
0045nobodyさん2011/11/01(火) 03:19:12.73ID:???
潜在的な危険性はある
特に使う機会もないしよくわからないなら使わないほうがいい
0046392011/11/01(火) 09:10:38.89ID:???
【OS名】Ubuntu10.4
【PHPのバージョン】5.3.2
【連携ソフトウェア】MySQL
【質問内容】
+-----+---------+------+------+------+--------------+---------------+
| hid | name | hid | sid | lid | skillname | skilleffect |
+-----+---------+------+------+------+--------------+---------------+
| 2 | slither | 2 | 0 | 1 | poison spray | 70damage |
| 2 | slither | 2 | 0 | 2 | poison spray | 80damage |
| 2 | slither | 2 | 1 | 1 | toxicity | 4000e |
| 2 | slither | 2 | 1 | 2 | toxicity | 3000secdamage |
+-----+---------+------+------+------+--------------+---------------+
これを
mysql_fetch_array($res)で取得すると

array(13) { [0]=> string(1) "2" ["hid"]=> string(1) "2"
[1]=> string(7) "slither" ["name"]=> string(7) "slither"
[2]=> string(1) "2" [3]=> string(1) "0" ["sid"]=> string(1)
"0" [4]=> string(1) "1" ["lid"]=> string(1) "1" [5]=> string(12)
"poison spray" ["skillname"]=> string(12) "poison spray"
[6]=> string(8) "70damage" ["skilleffect"]=> string(8) "70damage" }
2
ってなる
重複されちゃって 1個しかとれない

4こ配列にとる方法おしえてください
0047392011/11/01(火) 09:21:13.02ID:???
わかりました
whileを使って
mysql_fetch_arrayの内部ポインタを回してなかったのが問題でした
0048nobodyさん2011/11/01(火) 09:44:33.99ID:???
28==39はたぶん前から荒らしてるIDを出さない愉快犯だろ
004992011/11/01(火) 10:34:28.61ID:et/TRmhs
回答ありがとうございます。
結果から申しますと直りました。
prefixに自分の作成したディレクトリを設定していたのですが、
以下のようにしたら直りました。
--prefix=/usr \
たぶんこれが原因ですが、他にも少々いじっていたので釈然としません・・・
0050nobodyさん2011/11/01(火) 12:34:31.21ID:H8SNTTud
携帯メール送信について教えてください。
PCメールは以下のコードで送信ができました。

mb_language("japanese");
mb_internal_encoding("UTF-8");

$to = "example@example.com";
$subject = "test";
$body = "test";
$from = mb_encode_mimeheader(mb_convert_encoding("テスト","JIS","UTF-8"))."<test@example.com>";
mb_sendmail($to,$subject,$body,"FROM:".$from);

文字コードをUTF-8からISO-2022-JPに変えればいいんでしょうか?
色々ググったんですが、具体的にどうすればいいのかわかりません。
携帯がiPhoneなので実機の確認が出来ないのですいませんが教えてください。
0051nobodyさん2011/11/01(火) 12:38:51.23ID:H8SNTTud
追記です。
絵文字も半角カタカナも使いません。
ふつうの日本語とURLの送信だけです。
0052nobodyさん2011/11/01(火) 12:48:23.03ID:???
バカがとある文字化け解消ブログを鵜呑みにしてmb_send_malは使うなとか言いそうだから書いとくけど
サーバの設定を正しくきちんとやってれば文字化けなんておきないんだよ
あのブログの内容は古すぎる
0053nobodyさん2011/11/01(火) 12:52:59.88ID:iiYJx3ec
RSSを取得してタイトルとリンクを表示させて、さらにそのタイトルの文字数を制限させたいのですが上手くいきません。

普通の文章なら
 $text = 'あいうえおかきくけこさしすせそ';
 $text = mb_strimwidth($text, 0, 10, "...", 'UTF-8');
 print ($text);
「あいう...」 となるのですが

RSSだとどこに $*** = mb_strimwidth($***, 0, 10, "...", 'UTF-8');の記述を挿入しても上手くいきませんでした

RSSの取得には ttp://php-web.net/faq/rss.html このサイトの記述を使用しています。
$rssurl = "RSSのURL";
$rssdata = simplexml_load_file($rssurl);
$num_of_data = 5;
$outdata = "";
for ($i=0; $i<$num_of_data; $i++){
$outdata .= "<li>";
$outdata .= "<a href=\"";
$outdata .= $rssdata->item[$i]->link;
$outdata .= "\">";
$outdata .= $rssdata->item[$i]->title;
$outdata .= "</a>\n";
$outdata .= $rssdata->item[$i]->description;
$outdata .= "</li>";
}
print($outdata);

初心者のウンコです。宜しくお願いします。
0054nobodyさん2011/11/01(火) 15:01:44.10ID:???
>>52
正しくきちんと説明すんのが面倒だからそう言ってるのが分からんのはバカじゃねーのか?

>>50
つーわけでめんどくさいんで、初心者にはPEAR使ってねっていうのが楽な回答。

>>53
RSSの生データをブラウザじゃなくてソースで見てみるといいかも。 数値文字参照になってるかも。
0055nobodyさん2011/11/01(火) 15:19:57.61ID:???
日本語でお願いします
0056nobodyさん2011/11/01(火) 15:27:49.33ID:H8SNTTud
>>54
PEAR::Mailですか?
require_once("Mail.php");で呼び出して使えばいいんですか?
とりあえず、これでもう一回調べます。
ありがとうございます。
0057nobodyさん2011/11/01(火) 15:36:39.79ID:???
SJIS固定なのはよほど古い携帯使ってる場合
0058nobodyさん2011/11/01(火) 16:01:31.69ID:ILjwbPAY
PHPの質問というかサイト開発の考え方についての質問ですが

今、某フレームワークを使ってて、各ページで発生する例外を
フロントコントローラでキャッチしてエラーページに転送する処理を行っています
で、今回あるアプリというかライブラリ的なものを導入したところ
そのライブラリ中のmethodを実行すると場合によって内部で例外処理を実行するため
エラーページに転送されてしまいます

しかし、自分としてはそのmethodの実行はmustの機能でなくオプション的なもので
いちいちエラーページに転送せんでも…と考えています

if($libraly->doit()){
error_log("doitの実行中に例外が発生したみたいです<__FILE__:__LINE__>";);
}
という形でエラーの記録をつける程度にしたいんですが、
この場合、
1)フロントコントローラやエラーページのコントローラで
 throwされた例外を判別してエラーページに転送させない
2)そもそも例外処理をしてるライブラリの中身を弄って例外でなくエラーコードを返させるなど改造する

の二通りしかないんでしょうか? 1がおすすめというか普通の処置ですか?
0059nobodyさん2011/11/01(火) 16:33:25.03ID:???
>>58
まともな思考の持ち主なら、bool値を返すのか例外を出すのか仕様を決めて
エラーだろうが例外だろうが必要な方へ変換する
0060532011/11/01(火) 17:01:34.11ID:iiYJx3ec
>>54
ブラウザのソースみて組みなおしたら出来ました
ありがとうです!
0061nobodyさん2011/11/02(水) 13:53:37.39ID:???
こんにちはぁ〜

PHPプログラマーの、お姉さんだよぉ〜
今日はどんな質問が残ってるのかな?

お姉さん納品も終わって暇だから、
どんな質問にも答えちゃうよぉ〜

0062nobodyさん2011/11/02(水) 14:30:44.37ID:l39L84sY
フェイスブック連携アプリを作っているのですが、
メッセージをウォール投稿する際に改行を入れたいのですがどうやればいいのでしょうか?
0063nobodyさん2011/11/02(水) 14:40:44.80ID:???
商売で儲かる時期なので教えません
0064nobodyさん2011/11/02(水) 15:58:38.10ID:3p0wfnnG
>>50ですが、なぜかYahooメールアドレスのみメールが届かないことがわかりました。
たまに迷惑メールフォルダに入っているんですが、これどうすればいいんですか?

第五引数に-fを入れたら届いたというのを見てやってみたんですが、届きません。
一日はまっていて正直お手上げです。どなたか教えください。
0065nobodyさん2011/11/02(水) 16:02:20.35ID:44zn7mAu
mingについて質問させてください。
SWFTextFieldで表示した文字列を透明化したいと思います。
以下のようなコードでは駄目でした。

$textField = new SWFTextField(SWFTEXTFIELD_MULTILINE|SWFTEXTFIELD_NOEDIT|SWFTEXTFIELD_NOSELECT);
$textField->setFont(new SWFFont(""));
$textField->addString("aaaaaaaaaaaaaa");
$obj = $swf->add($textField);
$obj->setName("tfobj");
$action = new SWFAction("tfobj.alpha=20;");
$swf->add($action);
$swf->nextFrame();

そもそもこのような事は可能なのでしょうか?
0066nobodyさん2011/11/02(水) 17:05:29.00ID:???
mb_convert_encodingで数値文字参照からUTF8へのコンバート実装した奴誰だよ!
神かよ!!
0067nobodyさん2011/11/02(水) 22:04:29.02ID:lxwCRKmV
インスタンスを複数作るわけじゃない場合、Javascriptだとクラス(みたいなもの)を作らずに
var object = {
  value: "",
  getValue: function() { return this.value },
  setValue: function(value) { this.value = value }
};
と書いてnewせずに使いますがPHPではこういう場合どうするんでしょうか
ひとつの場合でもクラスを作ってnewするんでしょうか
0068nobodyさん2011/11/02(水) 22:18:59.02ID:???
>>67
無名クラスなら残念ながらない
動的オブジェクトなら new stdClass() がある、がメソッドは定義できない
0069nobodyさん2011/11/02(水) 22:20:24.99ID:???
JavaScriptはアクセス修飾子がない
setter/getterメソッドは普通はインスタンスを作る

class Hoge {
? private $value = "";
? public function getValue() { return $this->value; }
? public function setValue($value) { $this->value = $value; }
}

$hoge = new Hoge();
$hoge->setValue("foo");
echo $hoge->getValue();
0070nobodyさん2011/11/02(水) 22:21:17.55ID:???
実体参照の記述ミス
?のとこはインデントに置き換えてね
0071nobodyさん2011/11/02(水) 22:27:40.24ID:???
class Object {
static $value = "";
static function getValue() { return Object::$value; }
static function setValue($value) { return Object::$value = $value; }
}

Object::setValue("foo");
echo Object::getValue();

staticにすればこんなこともできるが・・・いいやり方とは思わない。
0072672011/11/02(水) 22:27:42.95ID:???
>>68-70
どうもありがとうございますm(_ _)m
0073672011/11/02(水) 22:30:04.31ID:???
>>71
どうもありがとうございます
0074nobodyさん2011/11/02(水) 23:44:23.99ID:???
>>67
しんぐるとん
0075nobodyさん2011/11/03(木) 00:49:04.09ID:gDPf6EbN
$_SERVER[HTTP_REFERER]以外に前のページのURLを取得する方法ってありますか?
携帯だと$_SERVER[HTTP_REFERER]が使えないようなので。
0076nobodyさん2011/11/03(木) 01:19:04.01ID:???
ない
クライアントが送出する情報だし
サーバ側でどうこうする問題じゃない
0077nobodyさん2011/11/03(木) 01:23:25.50ID:gDPf6EbN
>>76
ありがとうございます。
根本的にコードを書き直さないといけないっぽいです。
0078622011/11/03(木) 01:37:42.96ID:b9zARhas
だれか62の回答をお願いします〜
0079nobodyさん2011/11/03(木) 02:39:20.91ID:???
フェイスブックの仕様なんかしるかよ
フェイスブックに問い合わせろや
0080nobodyさん2011/11/03(木) 02:44:53.01ID:5engvLs9
<?php var_dump($_POST);?>
<form action="add.php" method="post">
<input type="text" key="k1" value="v1"/>
<input type="submit" value="send" />
</form>

ファイル名add.phpにて、このコードをそのまま実行して、サブミットすれば、
var_dumpでPOSTのデータが取れると思ったんですけど、出てきませんでした。
これってどこがおかしいのでしょうか?
0081802011/11/03(木) 02:51:04.34ID:???
申し訳ない、事故解決した。
ってかformはkeyじゃなくてnameだったな。
なんか、違う言語のキーワードか何かとごっちゃになってた
0082nobodyさん2011/11/03(木) 10:18:48.53ID:???
どこに質問して良いのかわからないのでここに質問させてもらいます。
いわゆる各種ブログへのメール投稿をするプログラムを作成しました。

流れとしては・・・
1.レンタルサーバにその人の各種ブログ用の携帯投稿アドレスを登録しておく。
2.特定のアドレスにその人がデコメを送信する
3.メールをトリガにしたPHPを起動させ、TOを設定して各種ブログへ送信する

と言う物を作ってあります。
先日顧客の要望でアメブロを対応させてくれという話があったんですが、
アメブロは単純にアドレスを打つだけではダメなんでしょうかね?

他のブログはFromが指定アドレスになっていれば特にチェックしてないみたいでブログに反映しているのですが、
アメブロは携帯アドレスを細かくチェックしてるのか投稿が無視されます。
どのサーバから送られてきたとか、そういうのをチェックしているのかな?と考えました。
(偽装的な物のチェックだと考えて良いのですかね?)

少し調べましたがAtom?とかのAPIをPHPでプログラムして投稿するような事をしないとダメなんでしょうか?
それしか方法が無いなら顧客に日数ももらわないといけませんし・・・
あれこれ調べて見ましたが、API使用しか方法が無いのか確信が持てなかったので・・

もし何かヒントでもわかる方お見えでしたらよろしくおねがいいたします。
0083nobodyさん2011/11/03(木) 10:23:05.42ID:???
>>82
なぜ、そのアメブロに聞かないのか。
お仕事でしょ?
0084nobodyさん2011/11/03(木) 11:11:40.24ID:???
>>75
クエリに現在のurlを埋め込んだリンクを用意する
0085nobodyさん2011/11/03(木) 11:12:07.76ID:???
>>78
今稼ぎ時の仕事なので教えません
0086nobodyさん2011/11/03(木) 11:39:25.06ID:gDPf6EbN
>>76
前のページで$_SESSIONに自分のファイル名をいれておくことであっさり解決しました。
ありがとうございます。
0087nobodyさん2011/11/03(木) 13:28:22.55ID:5qwbDYAW
【OS名】CentOS6.0
【PHPのバージョン】5.3.8
【連携ソフトウェア】Apache 2.2.15

urlルーティングしてくれるスクリプトを自分で作ろうと思ってます。
http://www.example.com/ を自サイトURLとして、http://www.example.com/page/param1/param2/というurlにアクセスすると
http://www.example.com/index.php にリダイレクトするようapacheのmod_rewriteで設定済みです。

index.phpの中にルーティングのロジックを書いているのですが、うまくいきません。

$request_uri = explode('/', $_SERVER['REQUEST_URI']);
$script_name = explode('/', $_SERVER['SCRIPT_NAME']);
$uri_info = array_diff_assoc($request_uri, $script_name);
$uri_info = array_values($uri_info);

上記のコードで実際にリクエストされたurl(www.example.com/page/param1/param2)と
実際にルーティングのロジックが動いているスクリプト(www.example.com/index.php)との
差分をとって、 /page/param1/param2 を取得しようと思ったのですが、
$request_uri と $script_name をvar_dumpすると、以下のような全く一緒の値がでてきてしまいました。

array(4) { [0]=> string(0) "" [1]=> string(4) "page" [2]=> string(6) "param1" [3]=> string(6) "param2" }

script_nameがうまく取得できないのですが、どうやったらうまく取得できるでしょうか?
0088nobodyさん2011/11/03(木) 21:04:18.73ID:???
車輪のなんちゃらって言われないようにFW使っとけ
0089nobodyさん2011/11/03(木) 21:40:48.05ID:RHXIeUwE
車輪のなんちゃらもお勉強目的ならありだよなー
0090nobodyさん2011/11/03(木) 21:54:04.74ID:???
>>87
クライアントが要求してくるURLを取得するのだからrequest uriだけ使えばいいんだよ
その用途にscript nameを使う意味がわからない
0091nobodyさん2011/11/03(木) 22:21:13.75ID:???
よくわからんけど、array_diff_assocは駄目だと思う。
0092872011/11/04(金) 02:04:59.05ID:tFL/lOhG
前々からこのルーティングの仕組みが気になっていたので、
http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/
を参考に勉強のために作っています。

>>90
よくよく考えてみれば、確かにscript name必要ないかも・・・
定数でindex.phpの配置パスを定義しておけば問題ありませんね

>>91
array_diff_assocって使わないほうがいいのでしょうか?
どうしてなんでしょう?
0093nobodyさん2011/11/04(金) 11:39:06.39ID:hpR+oaep
【PHPのバージョン】5.3
【質問内容】 どうにもこうにもNoticeがとまらない

if(count($limitid) > 0) {
foreach($limitid as $include) {
for($i=0; $i<count($obj); $i++) {
if($obj[$i]->term_id == $include) {
array_push($cat, $obj[$i]);
break;
}
}
}
$obj = $cat;
}

Notice: Trying to get property of non-object in (四行目)

ここの板の人はアホかと思うような質問ですまません
何をやってもさっぱりでNoticeは消えず
php4->5のルール変更がクモの巣のようですorz
0094nobodyさん2011/11/04(金) 12:00:51.48ID:???
>>93
再現できる最低限のコードを張りましょう
0095nobodyさん2011/11/04(金) 12:10:28.76ID:???
googleで Trying to get property of non-objectで検索して一番最初のやつでいいだろ。
何もやってもというが、何もやって無いだろ。
0096nobodyさん2011/11/04(金) 13:07:04.52ID:???
>>92
俺もarray_diff_assocはだめだと思う。
そうしようと思った発想は柔軟でうらやましくはあるけれど。
0097nobodyさん2011/11/04(金) 13:08:38.70ID:???
>>93
$objにオブジェクトじゃないものが潜んでる
0098nobodyさん2011/11/04(金) 13:53:03.66ID:3DwnANG1
フォームタグ出力関数みたいなのは作らないほうが良いとどこかで読んだ気がするのですが
どうなんでしょうか
0099nobodyさん2011/11/04(金) 14:28:45.24ID:???
また○○はするなを鵜呑みにしちゃう低学歴のご登場か
○○していいよっていう意見よりも○○はするなという意見を信じてしまう典型的な例
0100nobodyさん2011/11/04(金) 15:23:02.83ID:???
>フォームタグ出力関数

ナニソレ
0101nobodyさん2011/11/04(金) 16:02:57.33ID:???
>>99
「いつも私はこのように書いています。」ってのも、かなりの安心感をもたらす魔法の言葉。

なので、さっぱり良いとも悪いとも、そもそも話を理解できていない俺が

>>98
簡単なアプリならフォームタグ出力関数みたいなのを作るのが楽でいいよ。
フォームベタ書きでもいいけど、あんまりオススメしない。
将来もっと複雑になってきたときにフレームワークに切り替えればおk。

と、レスをするわけです。
0102nobodyさん2011/11/04(金) 17:05:52.19ID:???
DOM使えばじゃあ
それにしてもPHPのDOMは貧弱だよな
0103nobodyさん2011/11/04(金) 17:59:53.68ID:???
>>98
関数とhtmlが分かりにくく混ざることを危惧した言葉だと思う。
関数を使うことで(書きやすさではなく)見通しが良くなるというのであれば作ればいい

ちなみに私はsmartyを組み合わせた自作簡易フレームワークの為にhtmlをはきだすクラスを作った
<div>{{ht->inpur name='hoge' value='hogevalue'}}</div>
このhogeはPOSTの値と繋がっているから、
POST['hoge']に何かが入っていたら、自動的にその内容が表示されるとか、
selectだと自動的に選んだものにselectedが入るとか、
そういう使い方はしてる
0104nobodyさん2011/11/04(金) 18:36:16.55ID:???
>>101-103
ありがとうございます
0105nobodyさん2011/11/04(金) 20:26:13.02ID:1sQ24kpb
.phpの中で、外部の.phpファイルを実行したいんですがそのときに引数も渡したいです

a.php
<?php
exec('/usr/lib/php /var/www/test.php 100 50 >dev/null 2>&1 &' ,$rec);
var_dump($rec);
?>

test.php
<?php
return $argv[1]+$argv[2];
exit();
?>

a.phpのvar_dump()の結果で150が返ってくることを期待してるんですが
実際は array(0) { } です
どこがおかしいんでしょうか?
0106nobodyさん2011/11/04(金) 20:43:28.90ID:???
>>105
なぜexecを使う。includeかrequireでいいじゃない。
0107nobodyさん2011/11/04(金) 20:46:36.43ID:1sQ24kpb
>>106
バックグラウンド処理というのをしたいんです
それで調べたらexec()と書いてありました
php.iniのsafe_modeもoffになってるんですが…
0108nobodyさん2011/11/04(金) 21:27:53.65ID:???
>>105
return で結果が返るわけないだろ
test.phpのところで返したい文字をechoで返せ
0109nobodyさん2011/11/04(金) 21:57:38.17ID:1sQ24kpb
>>108
test.php
<?php
$val= $argv[1]+$argv[2];
echo $val; //ダメでした
echo "test_val";//こっちもダメでした
?>
そもそもtest.phpをちゃんと実行できてるんでしょうか?
どうやったら確認できますか?
0110nobodyさん2011/11/04(金) 22:04:22.41ID:???
<?php info;?>
0111nobodyさん2011/11/04(金) 22:13:12.38ID:???
>>110
なにこれ?
0112nobodyさん2011/11/04(金) 22:15:25.20ID:1sQ24kpb
>>110
phpinfo()とは違うものですか?
とりあえずtest.phpをその内容に書き換えましたが何も起きません
0113nobodyさん2011/11/04(金) 22:26:01.42ID:???
>>109
>>109

test.php
exec('php test2.php 100 200', $o, $r);
var_dump($o);

test2.php
unset($argv[0]);
echo implode(",", $argv);
0114nobodyさん2011/11/04(金) 22:49:46.91ID:???
/dev/null 2>&1 & って付ければ そら、PHPは結果待たずに次ぎ行くけど、
( & だけだと 終わるの待つので)
結果 /dev/nullに捨ててんだから、 取得できんわな。

ファイルにでも出力すれば、処理が終わった頃にファイルに出力されるけど、
バックグラウンドで処理したいってんだから、その結果を
exex()抜けた段階で結果取得できるわけが無いでしょうに。
0115nobodyさん2011/11/04(金) 22:50:03.75ID:1sQ24kpb
>>113
ありがとうございます、しかしダメです
array(0){} が表示されるだけです
test2.phpの実行権限は755,775,777で試しましたが全部ダメでした
実行ユーザはftpuser(ftp権限ユーザ):apacheになってるんですが問題ありますか?
PHPそのものの問題とずれてきてすみません
0116nobodyさん2011/11/04(金) 22:51:47.43ID:???
>>115
とりあえず修正したコードを張ってみろ
0117nobodyさん2011/11/04(金) 22:54:31.81ID:1sQ24kpb
>>114
ありがとうございます
「/dev/null 2>&1 &」の部分は今は削除して以下のようにしていますがダメです

//test.php///////////////////
exec('/usr/lib/php /var/www/html/test2.php 100 50', $o, $r);
var_dump($o);
//test2.php//////////////////
unset($argv[0]);
echo implode(",", $argv);

そもそも、/usr/lib/phpはディレクトリなんですがこれは問題ないんでしょうか
0118nobodyさん2011/11/04(金) 23:01:03.05ID:???
>>117
var_dump($o); じゃなくて $r 見てみるといいかも。
当然ディレクトリじゃ駄目だし。
0119nobodyさん2011/11/04(金) 23:35:58.32ID:???
>>118
$rを見たら126が返ってきました
実行権限の問題らしいですが777で問題あるのかなぁ

>当然ディレクトリじゃ駄目だし。
…と思って、実行プログラムの方を /usr/bin/phpに変えたら上手く行きました!

長らくありがとうございました! 他の皆さんも感謝します、ありがとう
0120nobodyさん2011/11/05(土) 17:12:07.15ID:i9WzEjTE
初歩的な質問ですがよろしくお願いします

掲示板などで特定のタグだけ許可するにはどうしたらいいでしょうか?
■ このスレッドは過去ログ倉庫に格納されています