【PHP】下らねぇ質問はID出して書き込みやがれ 127
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2013/03/19(火) 22:13:49.76ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 126
http://kohada.2ch.net/test/read.cgi/php/1359808868/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0853nobodyさん
2013/05/12(日) 22:07:17.68ID:4FW3vhI4178:名無しさん@13周年[]
2013/05/12(日) 20:54:52.39 ID:VA7SdRMg0
ふーーーんwwww
民主党調子こいてんなあwwww
ようおまいらwww元気ぃ?wwwよろしくやってたかい?www
--- 以下スレ情報 ---
【政治】「自民が反対したから」「官僚が抵抗したから」 民主党の『大反省会』、反省どころか、言い訳や責任転嫁がほとんど★3
http://uni.2ch.net/test/read.cgi/newsplus/1368355843/
0854nobodyさん
2013/05/13(月) 13:12:37.61ID:Y6gDftln【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】HTMLの入力フォームにURLを入力して、
予め保存してある複数のURLと重複していないか、
リンク切れではないかという判定をしたいのですが
うまくいきません。
まず重複の判定は、入力フォームからの文字列を$str、
予め保存してるURLを"urlist.txt"に保存してます。
if(!$fp=fopen("urllist.txt","r")){
return ERROR(1);
}else{
$urllist = file("urlist.txt");
foreach( $urllist as $url ){ //URLの重複チェック
if (mb_ereg( "$str","$url" )){
return ERROR(2);
break;
}
}
fclose($fp);
}
こんな感じで、普通のURLだと重複チェックできるのですが、
yutubeやニコニコ動画などのURLだとなぜか判別できません。
0855854
2013/05/13(月) 13:14:40.79ID:Y6gDftlnget_http_headerというのをつかってみたのですが
うまくできませんでした。
何か良い方法があれば教えてください。
よろしくお願いします。
0856nobodyさん
2013/05/13(月) 13:29:28.92ID:???.は任意の一文字で合ってしまうとしても、 ? があると通らないよね。
0857nobodyさん
2013/05/13(月) 13:40:37.60ID:???0858nobodyさん
2013/05/13(月) 15:15:30.49ID:k+GDNsHpfunction &hoge()
{
return new StdClass;
}
とすると、
Notice: Only variable references should be returned by reference
とエラーログが出ますよね。
で、いったんnewを変数に入れてからreturnすると問題はなくなります。
しかしこれって、いったん変数に入れることで
PHPの処理内容としてどのような違いがあるわけなのでしょうか?
恐れ入りますが、ものすごくわかりやすく教えて下さい。
0859854
2013/05/13(月) 15:56:53.43ID:Y6gDftlnレスありがとうございます。
見てみたら、yutubeやニコ動のURLには?、&など入ってました。
これを正規表現に展開しないようにすれば、判別できるようになるのでしょうか?
展開しないようにそのまま判別するには、?、&があった場合に\を付ける的な
処理をすればできますかね?
0860nobodyさん
2013/05/13(月) 16:19:53.06ID:???完全一致でいいならstrcmpやstrcasecmp使ってはどうか。
0861nobodyさん
2013/05/13(月) 16:52:44.90ID:???質問の答えじゃ無いんだけど、なんで
function hoge()
とやらずに
function &hoge()
ってやりたいの?
0862nobodyさん
2013/05/13(月) 17:06:55.59ID:k+GDNsHpPHPの挙動と仕様への理解を深めたいだけで、やりたいわけじゃないです。
オブジェクトはデフォルトで参照で渡されるそうですが、
この場合、&を付けることでどのような違いが発生していますか?
0863nobodyさん
2013/05/13(月) 18:14:48.62ID:???んー、明確な答えを持ってるわけじゃ無いんだけど、まず、new Klassしたものはリファレンスではない。
http://php.net/manual/ja/language.oop5.references.php ・・・(1)
$a = new Klass;
この場合の$aはリファレンスでは無くオブジェクトのID。
一方、リファレンスを戻すメソッドは、&method()と定義し、リファレンスを戻さなければならない。
http://www.php.net/manual/ja/language.references.return.php
つまり、&method()では、new Klassしたものを直接戻すことはできない(型が違うので)。
&method()でreturn $variable;と書くと、$variableのリファレンスが戻される(&$variableが戻る)。
これは、(1)の$c = &$d; の場合と同じ。
0864863
2013/05/13(月) 18:16:35.34ID:???行われないのだろうかという疑問が残るが、それは良くわからない。
良くわからないので、俺は&method()は一生使わないと思う。
0865nobodyさん
2013/05/13(月) 18:22:46.46ID:???0866nobodyさん
2013/05/14(火) 00:45:31.37ID:gD2UsIagオブジェクトのIDとは知らなかったのでひじょーに勉強になりました。
> 式 の結果を返してくれることはありません。
> 可能なことは、値へのリファレンスを返すことができるということだけで、
> それ以外の何者でもありません。
という仕様だということで、&のretun newが無効なのも納得できました。
0867nobodyさん
2013/05/14(火) 01:13:37.48ID:gD2UsIagfunction hoge()
{
return 1;
}
$r = &hoge();
とした時、$rの参照先はどこを指していますか?
どこからもアクセスや改変がされない何処かなのでしょうか?
0868nobodyさん
2013/05/14(火) 09:26:33.29ID:???0869867
2013/05/15(水) 07:58:41.28ID:/TAZ4XOpマニュアルで、リファレンスはハードリンクのようなものだと学びました。
http://www.php.net/manual/ja/language.references.whatare.php
とすると、>>867では「$r = &hoge();」としても、「$r = hoge();」としても、
この場合、値に対してシンボルテーブルが割り当てられているのは「$r」に限られるため、
「$r」が保持するものも処理内容自体も、全く同じであると考えていいわけですね?
0870nobodyさん
2013/05/15(水) 22:55:26.37ID:efuZNxA4くだらない質問ですが助けてください。
【OS名】Windows7+XAMPP1.8.1
【PHPのバージョン】5.4.7
【連携ソフトウェア】PEAR 1.9.4
【質問内容】
DBからテーブルのデータを連想配列に取り込もうとしています。
Web上にあった「while($row=$hoge->fetchRow(DB_FETCHMODE_ASSOC))」を利用して実行すると、
「Notice: Use of undefined constant DB_FETCHMODE_ASSOC - assumed 'DB_FETCHMODE_ASSOC' in hogehoge.php on line 34」とエラーが出てしまいます。
エラーの通り「while($row=$hoge->fetchRow('DB_FETCHMODE_ASSOC'))」とするとエラーは消えますが、取得した配列のキーはnullになります。
どうしたら回避できるでしょうか。
なにとぞお助けください。
0871nobodyさん
2013/05/16(木) 01:43:12.19ID:???0872nobodyさん
2013/05/16(木) 02:27:01.44ID:???サーバーたててlampは辞めて欲しいけどローカル用環境ならxamppで十分でしょ
0873870
2013/05/16(木) 08:03:03.05ID:yTIwfF81ありがとうございます。
XAMPPで構成されたAPACHEやPHPは単独で入れた場合と動作が違うということでしょうか。
XAMPP消してそれぞれ単独インストールしてみたほうがいいですか?
0875nobodyさん
2013/05/16(木) 12:38:58.01ID:IW38rAuXfileで読み出し
whileで全行検索
一致部分を変更
file_put_contentで元に戻すという形で書き換えています。
linuxのsedみたいに指定箇所をざっくり書き換える方法はありますか?
0876nobodyさん
2013/05/16(木) 12:52:43.89ID:???あと、sedがいいならsed起動しろ。
0877nobodyさん
2013/05/16(木) 13:26:22.85ID:IW38rAuXすべてをいったん読み込むことなく
該当する場所のみを書き換えるのにざっくりという言葉を使ってしまいました。
申し訳ありません。
現在開発をしているところはコマンドを叩ける権限がないので
一旦すべてを読み込む以外でsedのように書き換える方法があればと思っておりました。
0880nobodyさん
2013/05/16(木) 16:59:41.66ID:???ファイルの先頭に一文字追加したときに起こっていることについても勘違いしてそう。
0881nobodyさん
2013/05/16(木) 17:21:26.79ID:???0882nobodyさん
2013/05/16(木) 17:31:23.47ID:???0883nobodyさん
2013/05/16(木) 19:08:30.78ID:???0885870
2013/05/16(木) 20:28:48.82ID:pZ2YUXztご指摘ありがとうございます。
requireはMDB2.phpだけ指定しています。
MDB2_driverも呼んでみましたが変わらなかったです。
0887nobodyさん
2013/05/16(木) 22:58:34.11ID:???MDB2なら MDB2_FETCHMODE_ASSOC
0888870
2013/05/17(金) 18:10:51.64ID:GrS1oXzW解決しました!!
マニュアルはちゃんと全部読めってことですね、猛省します・・・。
みなさまありがとうございました!!
0889nobodyさん
2013/05/17(金) 19:57:20.25ID:???0890nobodyさん
2013/05/17(金) 20:42:22.69ID:hjTCl7an↓このプログラムの値を受け取るにはどのようにしたらいいのでしょうか?
<form action="sample10-2.php" method="get">
<?php
$items=array('a-1'=>'ガム', 'b-2'=>'チョコレート', 'c-3'=>'クッキー');
foreach($items as $itemKey => $itemValue){
print('<input type="checkbox" id="'.$itemKey.'" value="'.$itemKey.'" />
<label for="'.$itemKey.'">'.$itemValue.'</label>');
}
?>
<input type="submit" value="送信する" />
</form>
0892nobodyさん
2013/05/17(金) 21:54:07.09ID:hjTCl7anarray(0) { } ってでてきました。
0893nobodyさん
2013/05/17(金) 22:03:08.07ID:???0894890
2013/05/17(金) 22:06:06.39ID:hjTCl7an0895nobodyさん
2013/05/17(金) 22:27:59.48ID:jIpNXAl4/public_htmlファルダに置いたa003.phpに対して
同じく/public_htmlファルダに置いたtest.shに
#!/usr/bin/php
cd ~/public_html
/usr/bin/php a003.php
と書いて、cronマネージャに
sh ~/public_html/test.sh
と書いて実行しましたが、a003.phpは動きません
sh ~/public_html/test.shは間違いない記述で
a003.phpは動作正常に動作しています。
test.shのphpの実行の間違えだと思うのですが、
教えてください。
0896nobodyさん
2013/05/17(金) 22:37:03.62ID:???0898nobodyさん
2013/05/17(金) 22:47:24.26ID:jIpNXAl4test.shが777にしています。
レンタルサーバーの会社に問い合わせると、
phpは動く。
cronのコマンドなどのサポートは一切できない
という返信が来ました
もう、さっぱりわかりません
0899890
2013/05/17(金) 22:48:23.15ID:hjTCl7anURLは
http://localhost/sample10-2.phpになりました
0902nobodyさん
2013/05/17(金) 23:03:59.98ID:???test.shが777にしています。
レンタルサーバーの会社に問い合わせると、
phpは動く。
cronのコマンドなどのサポートは一切できない
という返信が来ました
もう、さっぱりわかりません
0903nobodyさん
2013/05/17(金) 23:05:37.84ID:???0904nobodyさん
2013/05/17(金) 23:06:17.51ID:jIpNXAl4cd ~/public_html
/usr/bin/php a003.php
こうですか
0905nobodyさん
2013/05/17(金) 23:06:57.67ID:???0906nobodyさん
2013/05/17(金) 23:26:49.02ID:???あとは php のパスかなぁ。確認した?たまに
/usr/local/bin/php
のところもあるよ
0907nobodyさん
2013/05/17(金) 23:52:42.50ID:jIpNXAl4モジュール版 パス: /usr/bin/php
となってました
fc2 レンタルサーバーLITE
0908nobodyさん
2013/05/18(土) 00:22:14.10ID:???これおかしくないか?
間違えてないって何で言えるの?
シェルを実行しているルートからのパスにしないとダメだろ
0909nobodyさん
2013/05/18(土) 00:28:16.12ID:sKm+lEFLsh ~/public_html/test.shと記述すると
public_htmlの下に置いたtest.sh
にecho "why" > ~/public_html/naze.txtと記述した時に
public_htmlの下にnaze.txtが生成されるので、
sh ~/public_html/test.shで正しいと判断しました。
0910890
2013/05/18(土) 04:48:14.04ID:8v+sotfd受け取り側のプログラムのソースは
array(0) {
}
でした。
0911nobodyさん
2013/05/18(土) 06:37:50.58ID:6ky0kPCmどうやって表示するのかすら考えようとしないからなんだよね(笑)
0913nobodyさん
2013/05/18(土) 09:32:33.84ID:???当然ですがPOSTはされません。
>>890のPHPは、 そのような文字列を書き出すだけのものです。
その文字列が sample10-2.php へPOSTするような処理をするhtmlだと
認識して実行できるのはブラウザだけです。
普通はPOSTするだけのプログラムをPHPで書きます。
自動でPOSTするようなjavascriptを入れてブラウザになんとか渡して実行できていたとしても
checkboxは、チェックされていないとPOST時にキーすら渡しません。
0914nobodyさん
2013/05/18(土) 09:46:20.08ID:???0915nobodyさん
2013/05/18(土) 11:26:02.37ID:???#! /usr/bin/sh
/usr/bin/php 引数
引数はスクリプトのパスだ
0916890
2013/05/18(土) 19:00:46.89ID:8v+sotfd元のphpプログラムのソースは
<form action="sample10-2.php" method="get">
<dl>
<dt>商品</dt>
<dd>
<?php
$items=array('a-1'=>'ガム', 'b-2'=>'チョコレート', 'c-3'=>'クッキー');
foreach($items as $itemKey => $itemValue){
print('<input type="checkbox" id="'.$itemKey.'" value="'.$itemKey.'" />
<label for="'.$itemKey.'">'.$itemValue.'</label>');
}
?>
</dd>
</dl>
<input type="submit" value="送信する" />
</form>
です。受け取り側はわからないです
0918890
2013/05/18(土) 19:30:34.88ID:8v+sotfdレンタルサーバにうpしました。
http://yumaru51.sitemix.jp/sample10.php
0920nobodyさん
2013/05/18(土) 19:41:33.17ID:???この対戦がおわったら
0921nobodyさん
2013/05/18(土) 19:44:51.53ID:???0922890
2013/05/18(土) 20:14:52.87ID:8v+sotfd再現?PHPの勉強でブラウザ上に表示させたいだけなんです!
できたら受け取りのプログラムをどのように書けばいいか教えてください!!
0924890
2013/05/18(土) 20:34:42.77ID:8v+sotfdGETの後はvalue属性の値でいいんですか?その時は変数宣言はいりますか?
0925nobodyさん
2013/05/18(土) 20:35:29.58ID:???こうだった
このまま打て
0926890
2013/05/18(土) 20:38:06.79ID:8v+sotfdsample10-2.phpのほうで
Array ( ) て表示されてしまいました。
0927nobodyさん
2013/05/18(土) 20:43:18.18ID:???送信側idじゃなくてnameに変えろ
0928890
2013/05/18(土) 20:54:09.48ID:8v+sotfdできました!!ありがとうございます!!
ちなみにvalueの値を表示するのにはどうしたらいいですか?
0929nobodyさん
2013/05/18(土) 20:57:32.46ID:???0930890
2013/05/18(土) 21:12:47.65ID:8v+sotfd全部をチェックしたらArray ( [a-1] => a-1 [b-2] => b-2 [c-3] => c-3 ) と表示されるんですけど
キーだけ表示するにはどうしたらいいですか?
0931nobodyさん
2013/05/18(土) 21:15:38.41ID:???この場合だと
echo $_GET['nameの値'];で値が出せる
a-1だったら
echo $_GET['a-1']な
チェックされてるものだけ全部表示したいなら
foreach($_GET as $value){
echo $value;
}
で全部出る
0932890
2013/05/18(土) 21:40:16.26ID:8v+sotfdできました!ありがとうございました!!
0933nobodyさん
2013/05/19(日) 20:07:23.39ID:5aKhdCp3$desktop_path = getenv("HOMEDRIVE").getenv("HOMEPATH");
$path = $desktop_path.'\test.txt';
file_put_contents($path,"hoge");
とやっても、デスクトップフォルダではなく、ユーザフォルダにファイルが出力されてしまいます
どうするのが正しいのでしょうか
0934nobodyさん
2013/05/19(日) 20:08:40.67ID:???0935nobodyさん
2013/05/19(日) 20:11:36.88ID:???0936nobodyさん
2013/05/19(日) 20:49:22.95ID:???ありがとうございました
0937nobodyさん
2013/05/19(日) 21:00:06.37ID:???0940nobodyさん
2013/05/20(月) 16:54:47.19ID:???0941nobodyさん
2013/05/20(月) 17:02:05.31ID:???質問者と同じ人ではあるだろうけど
0944nobodyさん
2013/05/21(火) 13:52:14.79ID:zVTd5q9vいろいろなサイトを見ると、すべてのディレクトリに置く必要があると書いてあります
一般的なフレームワークのように、
ルートに置かれているindex.phpが、サブディレクトリの各ファイルを読み込んでいる場合、
サブディレクトリにも置く必要があるのでしょうか?
0945nobodyさん
2013/05/21(火) 14:07:29.21ID:???いろいろなサイトをググるより、とりあえず公式
http://www.php.net/manual/ja/configuration.file.per-user.php
0946nobodyさん
2013/05/22(水) 03:02:39.01ID:bg0nnEgAmb_regex_encoding("UTF-8");
$str = "てすと";
$regex = '(\xEE\x80\x80)|(\xEE\x80\x81)';
$array = mb_split($regex,$str);
→エラーなし
$regex = '\xEE\x80[\x80-\x81]';
$array = mb_split($regex,$str);
→Warning: mb_split(): mbregex compile err: too short multibyte code string
正規表現が表わすものは同じなのに、後の例では警告が出ます。
理由は何でしょう?
0947nobodyさん
2013/05/22(水) 07:03:42.22ID:+OY2v0pP# 戻り値と後方参照は別として
$regex = '(\xEE\x80\x80)|(\xEE\x80\x81)';
→$regex = '\xEE\x80\x80|\xEE\x80\x81'; と同一
$regex = '\xEE\x80[\x80-\x81]';
→$regex = '(\xEE\x80\x80|\xEE\x80\x81)'; と同一
0948nobodyさん
2013/05/22(水) 07:08:05.64ID:s3ucw8IQ人気メーターのような画像を生成したいと思っており
メーターのmaxValueを100と設定した場合
http://www.example.com/meterimg.php?value=100
上記URLでメーターがMAXの画像が表示され
http://www.example.com/meterimg.php?value=50
上記URLでメーターが半分の画像が表示され
こんな感じで画像生成する方法って可能でしょうか?
可能であれば参考になりそうな記事等教えて貰えれば幸いです。
またこのような手法をなんというかも知りたいです。
よろしくお願いします。
0949nobodyさん
2013/05/22(水) 07:25:19.91ID:???どんな画像を生成したいかによるが生成自体はできる。
ただ、それなら10個ほど画像用意したほうが毎回生成するよりいいと思う。
php 画像生成 gd でぐぐればでてくる。
0950nobodyさん
2013/05/22(水) 09:05:15.52ID:???0951nobodyさん
2013/05/22(水) 09:29:22.30ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。