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

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2011/11/29(火) 19:55:27.17ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0838nobodyさん2011/12/28(水) 11:17:29.12ID:???
どこから突っ込めばいいやら。
1、exec();を利用して実行されるクラス?
2、コンストラクタ?どこ?
3、public $this->var = 0; ?
4, $this->_var ?
0839nobodyさん2011/12/28(水) 11:22:17.59ID:???
>>835
exec使う前にマニュアル読めよ
http://www.php.net/manual/ja/language.oop5.php
0840nobodyさん2011/12/28(水) 12:29:18.71ID:???
>>835
> if($this -> _var == 0){
> $this -> _var++;
> }
> 1より増えません
…コードを見直したり組み直したりしないのか
0841nobodyさん2011/12/28(水) 12:30:20.95ID:???
>>837
それ以前の話
0842nobodyさん2011/12/28(水) 12:44:18.16ID:???
スレでやたらとexecを使うのを見かけるが、そんなに使うもの?
0843nobodyさん2011/12/28(水) 12:50:13.36ID:???
>>842
必要であれば。
0844nobodyさん2011/12/28(水) 13:43:00.93ID:???
何かで使った覚えがあるな
phpからperl使ってimagemagickを叩いたときかな
0845nobodyさん2011/12/28(水) 15:02:40.67ID:???
eclipseの使い方教えて
0846nobodyさん2011/12/28(水) 15:39:12.41ID:ykuOHvra
PHPの力でかわいくてやさしくて頭よくて若干ツンデレな彼女の作り方を
教えてください!
0847nobodyさん2011/12/28(水) 15:41:39.11ID:???
オレオレフレームワークのことですね わかります
0848nobodyさん2011/12/28(水) 15:51:08.69ID:???
>>846
<?php
function heyKanojyo() {
for($i = 0;$i < 1; $ore++) {
echo 'hey';
}
}

for($i = 0;$i < 1; $ore++) {
heyKanojyo();
}
?>

おすすめ
0849nobodyさん2011/12/28(水) 16:47:56.43ID:Yn7F8uVq
Windowsで特定の文字を含むフォルダを開こうとするとエラーがでることがあるのですが何とかならないでしょうか。

例 (コードの文字コードはutf8です)
opendir(mb_convert_encoding('十', 'SJIS', 'UTF-8'));

Warning: opendir(十,十) [function.opendir]: 指定されたファイルが見つかりません。
0850nobodyさん2011/12/28(水) 16:52:39.76ID:???
「エラーがでることがある」 ということはエラーが出ないこともあるのでしょうか
興味深い現象ですね
0851nobodyさん2011/12/28(水) 17:02:46.26ID:???
Warningってエラーだったのか。知らなかった。
0852nobodyさん2011/12/28(水) 17:11:05.22ID:???
>>849
sjis-win は試したか?
0853nobodyさん2011/12/28(水) 17:15:21.86ID:???
古い情報見てると思うんだけど
環境に依存する文字使うときは
euc-jpは使うなeucJP-winを使え
sjisは使うなsjis-winを使え
0854nobodyさん2011/12/28(水) 17:22:50.86ID:???
今header()を使うと"headers already sent"になるかどうかを
判定することってできますか?
0855nobodyさん2011/12/28(水) 17:23:03.84ID:Yn7F8uVq
sjis-winでやってみたのですがやはりダメでした
PHPのバージョンは5.3.5 XAMPPを使っています
0856nobodyさん2011/12/28(水) 17:25:50.60ID:???
>>849
どうにもなりません。 仕組みの説明は面倒だけど、PHP自体が対応してません。
0857nobodyさん2011/12/28(水) 17:28:39.66ID:???
>>854
headers_sent
http://www.php.net/manual/ja/function.headers-sent.php
0858nobodyさん2011/12/28(水) 17:29:56.28ID:???
>>856
いい加減なことを言うな。ソースを示せ。
0859nobodyさん2011/12/28(水) 17:32:38.33ID:???
いきなりopendirするんじゃなくて、その文字列ダンプしてみろよ
0860nobodyさん2011/12/28(水) 17:46:47.27ID:Yn7F8uVq
一時的にフォルダの名前を別のものに変更することでとりあえず解決することにしました。

皆さんご意見ありがとうございました。
0861nobodyさん2011/12/28(水) 18:23:11.30ID:???
>>858
PHPのファイルアクセス関連のソースみれば分かるじゃん。 Wつきじゃないので、APIの期待してんのは sjis  まずこの時点で SJISに無い文字へのアクセスはダメでしょ?
その上、5C気にしてくれてないので、ファイルに5Cあるだけのならともかく フォルダ名だとどーにもならん。
0862nobodyさん2011/12/28(水) 18:57:07.46ID:sBHKqYMi
引き継いだ案件がSmartyを使用していたのですが、
これの質問や疑問を友人に聞いたり検索したりすると
「今どきSmartyって・・・('A`)」 って反応が沢山出てきます。

今だとテンプレートエンジンやらは何を使うのが主流なんでしょう?
0863nobodyさん2011/12/28(水) 19:04:27.97ID:???
>>862
そいつに聞けよ、教えてくれるだろ。
0864nobodyさん2011/12/28(水) 19:08:39.83ID:???
失われた技術 ”古代兵器Smarty” …まだ動いている奴がいるとは
0865nobodyさん2011/12/28(水) 19:21:51.78ID:???
smartyかtwingどっちか。
smartyに拒否反応する人は「テンプレートエンジンはPHPを利用してます」とかいう人たちだと思う。
この辺はメリットとデメリットを天秤にかけて相談して決めるべき。
0866nobodyさん2011/12/28(水) 20:51:17.95ID:???
今時もなにもテンプレートエンジンならおもっくそデファクトスタンダードだろ
それ言うならいまどきPHPって・・・って話
0867nobodyさん2011/12/28(水) 22:35:58.92ID:mO20XWmE
クラス定数とstaticなメンバ変数はほとんど意味は同じで
インスタンスから参照できるかやアクセス制限修飾子の部分が違うだけと
考えていいのでしょうか?
0868nobodyさん2011/12/28(水) 22:41:29.61ID:???
>>867
全然ちゃいます。
0869nobodyさん2011/12/28(水) 22:52:48.75ID:???
>>868
すみません、どういう部分が違ってくるのでしょうか?
0870nobodyさん2011/12/28(水) 22:58:41.41ID:???
>>869
>>1
0871>>8682011/12/28(水) 23:17:04.39ID:mO20XWmE
すみません、失念しておりました

どちらも静的で、定数の場合は値を変化させることができず、
staticはインスタンスから使えないので値を保持できないので
次回参照するときはまた初期化したときの値になって・・・

と思ったのですが今実験しているとstaticでもself::$aなどとすることで
インスタンスを作らずにクラスを使うときでも値を保持してその値を
次回の参照でも使うことができるようでした
ありがとうございました
0872nobodyさん2011/12/29(木) 05:07:30.28ID:???
つーか、PECLにsmarty取り込んでネイティブクラスにしてくれねーかな
速度アップするし
0873nobodyさん2011/12/29(木) 06:13:48.93ID:???
その提案はありえない
0874nobodyさん2011/12/29(木) 06:19:36.90ID:???
まぁZendがいるからなぁ
せめて.soで使えるようにしてくれたら幸せになれるんだけどなー
0875nobodyさん2011/12/29(木) 07:19:29.78ID:???
smartyつかってないが、静的生成なんだろ?
WPとMTだったらMTだろ。
そしたらsmartyを速めても描写・応答速度は変わらない。
0876nobodyさん2011/12/29(木) 07:38:24.41ID:???
何言ってるのこの人
何時の時代から来たのか知らないけど使ってからものを言おうか
まずはそれからだ
0877nobodyさん2011/12/29(木) 10:49:46.82ID:???
テンプレートとCMS比較とかひさびさにワロタわ
0878nobodyさん2011/12/29(木) 11:40:36.41ID:???
display_startup_errorsって具体的にどんなエラーを出すのでしょうか?
syntax errorは表示されないようですが。
0879nobodyさん2011/12/29(木) 12:18:03.92ID:???
>>878
>>1
0880nobodyさん2011/12/29(木) 14:32:08.29ID:0hMYqXPq
http://www.nicovideo.jp/watch/sm16552688
0881nobodyさん2011/12/29(木) 14:39:09.38ID:???
キモイのはるなボケ
ロリコンニコ厨は巣にこもってろ
0882nobodyさん2011/12/29(木) 19:32:36.70ID:???
Uncaught exception 'Exception' with message 'String could not be parsed as XML'
このエラーの対処法がググッてもでてこないんだけど
わかる人いる?
0883nobodyさん2011/12/29(木) 19:41:18.95ID:???
Fatal errorだけ見てコードを推測するとか 本来スパコンが必要ですが
たぶんURLエンコードが絡んでいると 私のゴーストがささやいてるぜ
0884nobodyさん2011/12/29(木) 19:57:39.55ID:???
$url=取得したURL(拡張子は .xml じゃない普通のURL)

$xmltree=new SimpleXMLElement($url);

foreach($xmlree->xml as $item){
echo $item;
}

?>
0885nobodyさん2011/12/29(木) 20:17:02.16ID:???
foreach($xmlree->xml as $item){
$item = urlencode($item);
echo $item;
}

なんてのはどーだろか
0886nobodyさん2011/12/29(木) 20:36:50.29ID:???
たぶんパースできないナニカが入ってる
変な名前空間指定とかありそう
0887nobodyさん2011/12/29(木) 20:43:52.23ID:???
ためしに
これやったらどうなる
$xml = simplexml_load_string(
preg_replace('/\s+xmlns=".*?"/usi', '', file_get_contents($url))
);
var_dump($xml);
0888nobodyさん2011/12/29(木) 20:45:35.91ID:???
変数名からしてAjaxでプルダウンメニューみたいな感じか
0889nobodyさん2011/12/29(木) 20:53:15.54ID:???
ああ、自前のXMLか
だとしたら無難なXML書けとしか
0890nobodyさん2011/12/29(木) 21:00:28.48ID:???
>>888で思い浮かんだけど、まさかXMLの中にHTMLが入ってるとかないよな
<item>
<img src="**">
</item>
とか
0891nobodyさん2011/12/29(木) 21:01:04.47ID:???
マジレスすると引数が足りない
0892nobodyさん2011/12/29(木) 21:39:55.99ID:???
>>887やってみたらエラーでないで通ったわ
当然だけどXMLの中身がばっと表示される
ちなみにXMLは自前じゃなくてアマゾンから引っ張ってきたやつ

$xmltrees=simplexml_load_file($url);
$xmltree=$xmlrees->(画像ファイル);
?>
<img src="<?php echo $xmltree; ?>">

これだとちゃんとエラーも出ないで欲しい画像が表示されるけど、一つだけになっちゃうから
SimpleXMLElementで配列としてやりたいけど、こっちだとFatal errorがでる
var_dumpの中身みたらちゃんと配列で扱えるみたいだった

PHP初心者な上に、PHPで扱うXMLの本が探してもないから勉強したいにもできてない
クレクレ厨で申し訳ない
08931012011/12/29(木) 21:47:01.98ID:???
おいさっさと俺の質問にも答えろや
0894nobodyさん2011/12/29(木) 21:49:51.89ID:???
>>893
>>1
0895nobodyさん2011/12/29(木) 21:57:33.93ID:???
CENTOSは誰も使ってないんじゃね
0896nobodyさん2011/12/29(木) 22:03:43.06ID:???
>>892
あれでできたか、頑張れ
本なんかいらん、オンラインのマニュアルを理解する努力続けろ
情報量的にはマニュアルで事足りる
>>887の$xmlを
$xml = json_decode(json_encoode($xml), true);
ってやってみ

>>894
それな
file_get_contentsがグローバルなURL参照できないんだろ?
前にあったな
CURLでwgetみたいなの自分で書いたほうがいいぞ
>>101か今まで耐えたから今回は甘やかしてやる、コレ使え
function wget($url, $timeout = 30) {
$h = curl_init();
curl_setopt($h, CURLOPT_URL, $url);
curl_setopt($h, CURLOPT_HEADER, false);
curl_setopt($h, CURLOPT_RETURNTRANSFER, true);
curl_setopt($h, CURLOPT_TIMEOUT, $timeout);
$result = curl_exec($h);
curl_close($h);
return $result;
}
0897nobodyさん2011/12/29(木) 22:10:12.49ID:???
>>893
phpをロダにうpして管理者ログインパスをfile_get_contentsで読み取り 好きなパスにreplaceするやつか
攻撃可能なサーバ狙えよ
0898nobodyさん2011/12/29(木) 22:10:57.79ID:???
タイプミスいっぱいあった
>$xml = json_decode(json_encoode($xml), true);
$xml = json_decode(json_encode($xml), true);
0899nobodyさん2011/12/29(木) 22:13:41.52ID:???
>>101
グローバルなアドレスじゃなかったか
じゃあ>>896じゃないわ
認証情報付加できるけどマニュアルにあるから自分で探してね
0900nobodyさん2011/12/29(木) 22:27:53.16ID:???
>>884
http://www.php.net/manual/ja/simplexmlelement.construct.php#example-4987

例2 URL からの SimpleXMLElement オブジェクトの作成
<?php

$sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
echo $sxe->asXML();
0901nobodyさん2011/12/29(木) 22:30:01.48ID:???
PHPmailer
http://phpmailer.sourceforge.net/

という由緒あるメールツールを使っていたら遭遇した現象。

上記のサイトからPHP5対応版をdlして解凍して鯖にアップ。
早速PHPmailerを使ってみたがメール送信時にエラー発生。
なにやら「phpmailer.inc.phpの271行目で定義されてない変数を・・・」云々とメッセージが表示されている。
早速該当行を見てみて唖然・・・

 $header[] = sprintf("Content-Transfer-Encoding: %s\n", $this->$Encoding);

「$this->$Encoding」を「$this->Encoding」に直したところエラーが直ってなおのこと唖然・・・

誰か俺に「悪い夢でも見てたんじゃない?」って言ってくれ('A`;)・・・
0902nobodyさん2011/12/29(木) 22:45:22.07ID:???
>>901
>>1を読め
0903nobodyさん2011/12/29(木) 22:50:15.08ID:cp4YgQdu
>>901
スマソ(´・ω・`)
0904nobodyさん2011/12/29(木) 22:50:45.76ID:cp4YgQdu
おっと失礼(;^ω^)

>>902
スマソ(´・ω・`)
0905nobodyさん2011/12/29(木) 23:09:48.53ID:???
>>904
で、質問は?
0906nobodyさん2011/12/29(木) 23:47:16.43ID:???
>>901
その思い込みっぷりがたまらないけど>>1
0907nobodyさん2011/12/30(金) 00:49:35.13ID:???
おはよぉ〜

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

0908nobodyさん2011/12/30(金) 01:05:56.50ID:???
>>907
>>1
0909nobodyさん2011/12/30(金) 14:12:24.28ID:4Y2/Ei64
header("Cache-Control: no-cache, must-revalidate");
があるのとないのでどうのように挙動が違うのですか?
簡単に挙動の違いが分かるサンプルプログラムを教えてください。
0910nobodyさん2011/12/30(金) 14:18:10.75ID:???
>>909
ググれ
http://tech.bayashi.net/pdmemo/browsercache.html
http://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/405.html
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=13102&forum=12&start=8
0911nobodyさん2011/12/30(金) 15:10:57.46ID:mheFH9Jr
$_POST['e_site']

↑の e_site に $line[0] を付け足したいのですが、

$_POST['e_site_$line[0]']
$_POST['e_site_'.$line[0]]

どちらもダメみたいでした
どうしたらいいでしょうか
0912nobodyさん2011/12/30(金) 15:13:35.31ID:???
>>911
おっぱい括弧
文字列連結
0913nobodyさん2011/12/30(金) 15:30:46.06ID:???
>>912
おっぱい括弧って何だ?と思ったが、} のことか。貧乳だな
0914nobodyさん2011/12/30(金) 15:38:49.30ID:mheFH9Jr
おっぱい括弧を使うやり方はわかりませんでしたが、↓でできるようになりました

$ef_site = "e_site_".$line[0];
$eee = $_POST[$ef_site];

ありがとうございました!
もしすっごくヒマでしたらおっぱい括弧のやり方教えてください
0915nobodyさん2011/12/30(金) 15:51:52.55ID:???
>>914
テンプレ嫁
09169112011/12/30(金) 15:57:41.54ID:mheFH9Jr
>>915
すいませんでした
0917nobodyさん2011/12/30(金) 17:37:13.55ID:???
>$_POST['e_site_$line[0]']
oh...

$_POST["e_site_$line[0]"]
これならまだいけてたのにな
シングルクォートとダブルクォートの違いを知っとくと幸せになれるぞ
0918nobodyさん2011/12/30(金) 18:17:34.51ID:???
質問です

外部のperlプログラムを呼び出すためにshell_execを使って、hoge.plを呼び出したいと考えています。
hoge.plにはphp内の変数である
$text = "Eagle-eyed viewers spot a curious change in the state media's version of this scene."
を引数として渡したいと考えています。

そこで
shell_exec('(パス略)perl.exe hoge.pl "$text"');
と入力したのですが、$textの変数展開が行われず "$text"という文字列がそのまま入力された結果が帰って来ました。(パスに誤りはないはずです)
他にも\"$text\"などエスケープを試してみたのですが、うまくいきません。

上手いこと変数展開されたものを投げてあげたいのですが、どのように表記すれば良いのでしょうか。
宜しくお願いします。
09199182011/12/30(金) 18:18:18.55ID:GroHiEZW
ぐっ、すみません>>918です
ブラウザのメール欄がデフォルトでsageだったばっかりに…
0920nobodyさん2011/12/30(金) 18:23:21.39ID:???
>>918
やぁ、このスレにきたか
ダブルで囲んでるけど、さらにその周りをシングルで囲んでるから
変数展開されない
たとえば '(パス略)perl.exe hoge.pl '.$text.とかしたり、
"(パス略)perl.exe hoge.pl $text"としたらどう?
0921nobodyさん2011/12/30(金) 18:33:15.19ID:???
まーた文字列の結合かよ
おまえらちゃんとクォートを覚えろ
0922nobodyさん2011/12/30(金) 18:43:43.37ID:???
マニュアルすら読まないってどういう神経してるんだろう
0923nobodyさん2011/12/30(金) 18:47:53.77ID:???
>>918
シングルクォーテーションとダブルクォーテーションの違いはPHPの初歩です
この違いはググればすぐ分かります
09249182011/12/30(金) 19:08:52.15ID:GroHiEZW
本当にすみません、結合で解決しました
もっとスマートな方法があるのかも知れませんが思いつかないのでこのままで。

$con = '(パス略)\perl.exe read.pl ';
$con .='"';
$con .=$text;
$con .='"';
shell_exec($con);

ありがとうございました
0925nobodyさん2011/12/30(金) 19:26:14.26ID:???
        ∧∧
       ヽ(・ω・)/   ズコー
      \(.\ ノ
    、ハ,,、  ̄
     ̄
0926nobodyさん2011/12/30(金) 19:42:43.99ID:???
まー解決したんならいいよ
0927nobodyさん2011/12/30(金) 20:56:10.18ID:???
次の患者さん どーぞー
0928nobodyさん2011/12/31(土) 05:48:23.35ID:???
なんでこのくらいのことが思い浮かばないのか不思議でしょうがない
"perl.exe hoge.pl '{$text}'"

クォートを理解してないってだけですげーアホなことするって見本だな
0929nobodyさん2011/12/31(土) 10:12:09.16ID:+csIGQbn
今構築中のサイトにPayPal決済の導入を考えています。
今のところサイトで自前のアカウントを作成するか、OpenIDを使うかなども決まっていません。
決済を除けばアカウントが必要な機能はありません。
決済タイプは月額課金です。

・OpenIDとPayPalを使って、あるOpenIDが月額課金を行なっているかどうかをPayPalから取得する事が可能か?

・サイトからセッションIDを伴ってPayPalのサイトにリダイレクトしてPayPal側でログインして、
そのセッションIDのユーザーが月額課金を行なっているかを返してもらう事が可能か?

つまりOpenIDを利用する必要があるか、PayPalだけで解決可能かが分からないでいます。
どんなサイトを見れば分かるか、どんなキーワードで検索すればいいかだけでも教えてもらえると助かります。
0930nobodyさん2011/12/31(土) 10:19:10.68ID:???
設計の根本が明後日の方向むいてる気がするんだけど

要約すると
----
PayPalで月額課金したいけど、PayPalに問い合わせてその人が課金しているかどうかを返して欲しい
----
で合ってる?

だとしたらPayPalが課金管理なんてしてくれないんじゃないの
決済はしてくれるだろうけど月額課金の管理なんてPayPalにとって知ったことじゃないと思うよ

PayPalのあなたのサイトへの支払い履歴から追うか、それが無理なら自前でなんらかの管理方法を考えるしかない
0931nobodyさん2011/12/31(土) 10:19:52.76ID:???
PHPで作ってるってだけで全くPHPと関係ないな
どっかにショッピングカートの専スレがあった気がするが・・・
そこに決済関連に詳しい人がいたとおもう
0932nobodyさん2011/12/31(土) 10:24:12.11ID:???
某マッチングサイトの案件でOpenID+paypal決済機能追加の仕事見たけどお前かな?
0933nobodyさん2011/12/31(土) 10:28:54.12ID:???
それはちょっと痛々しいな
0934nobodyさん2011/12/31(土) 12:23:57.47ID:HSDPOare
クレジットカード決済は導入にかなり金かかるが、paypalなら
安いってことくらいしか知らんな
0935nobodyさん2011/12/31(土) 22:25:52.98ID:???
宣言されていないメンバへのアクセスをエラーにする方法ってないんですか?
class ABC {
}
$a = new ABC();
$a->hoge = 444;
0936nobodyさん2011/12/31(土) 22:28:36.00ID:???
せったとげったをうまくつかえ
0937nobodyさん2012/01/01(日) 00:34:42.78ID:hL0Y8xWR
phpでmyaqlのauto_incrementをリセットするのはどうやるのですか?
>alter table question_tb auto_increment=1;
の代わりを教えてください。
レス数が900を超えています。1000を超えると表示できなくなるよ。