【PHP】下らねぇ質問はID出して書き込みやがれ 91
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/12/08(火) 13:53:09ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0742nobodyさん
2009/12/30(水) 21:20:42ID:???なんか色々すごいな。
エラーを出なくするには
$l = (isset($_GET['l']) && $_GET['l'] == "") ? 10 : $_GET['l'];
$l = (empty($_GET['l'])) ? 10 : $_GET['l'];
$l = (!empty($_GET['l'])) ? $_GET['l'] : 10;
とか。
~E_NOTICEしてれば出ないはずなんだけどね。
0743nobodyさん
2009/12/30(水) 22:21:02ID:???プログラムの一番最初に
error_reporting(E_ALL ^ E_NOTICE);
を追加するって技もあるんだけど、こういうのだと難しそうだしなぁ。
0744nobodyさん
2009/12/30(水) 22:32:33ID:???0745nobodyさん
2009/12/30(水) 22:41:21ID:+olHzS1B後xamppもphp.iniは一個だけでしょう?
0746nobodyさん
2009/12/30(水) 22:44:54ID:???さらにphp4の下にphp.iniとphp4.iniがあるっていう構造だったり。
でも変更が必要なのはapache/bin/php.iniだという、
初心者は確実に勘違いするような感じだったりする。
0747nobodyさん
2009/12/30(水) 23:27:25ID:AOSiAt9qこれは一体どういうことです?
$a = 3147483647;
echo (int)$a; // -1147483649
0748nobodyさん
2009/12/30(水) 23:40:28ID:???0750nobodyさん
2009/12/31(木) 00:21:31ID:???0751680
2009/12/31(木) 05:48:39ID:a+pevmsQお礼遅くなりましたが有難うございます
うまくできました
感謝です
0752nobodyさん
2009/12/31(木) 10:41:15ID:???正規表現君
OCN君
ちんぴら君
0753nobodyさん
2009/12/31(木) 11:53:17ID:F0ShAh3cお薦めの商品(アマゾンみたいなぁ)を表示させたいのですが
参考になるサイトとかライブラリがあれば教えてください
0755nobodyさん
2009/12/31(木) 12:12:07ID:F0ShAh3c0756nobodyさん
2009/12/31(木) 12:17:38ID:F0ShAh3cレコメンドエンジンっていうんだね
ttp://dameda.org/2009/09/02/post_292.html
0757nobodyさん
2009/12/31(木) 12:28:04ID:???0758nobodyさん
2009/12/31(木) 12:35:37ID:???「PHP CSV」と検索してもファイルから前提のfgetcsvでの利用方法ばかりで
文字列からの読み込みの情報が見あたらないです。
CSVデータはファイルから読み込むのではなくて変数内の文字列から処理させる良い方法は無いでしょうか?
自分で考えた無理やる方法としては
文字列の内容を作業ファイルを作ってファイル書き込みしてそれをfopenでオープンしてfgetcsvで読み込む方法。
ただ関数でも作って何とかなるなら参考になるサイトとか無いですか?もしくは関数を書いてもらえれば助かります。
0759nobodyさん
2009/12/31(木) 12:49:47ID:???0760nobodyさん
2009/12/31(木) 12:52:43ID:???0761nobodyさん
2009/12/31(木) 12:56:37ID:oi0jVub9できません。
0763758
2009/12/31(木) 13:15:50ID:AqAvYeuSごめん。ID出し忘れた。
でファイルに書き込むのではなくてメモリ上に書き込んでの方法を今試しているのですが
$data_array = array("111,222,333,444","あいうえお,かきくけこ,さしすせそ");
$data = join("\n",$data_array);
$fp = fopen('php://memory', 'r+');
fwrite($fp, $data);
rewind($fp);
while ($value = fgetcsv ($fp, 1000, ",")) {
print_r($value);
}
fclose($fp);
こんな感じのサンプルができた。
これよりスマートな実現方法ってあるかな?
0764nobodyさん
2009/12/31(木) 13:22:53ID:???ど偉そうに質問していいスレ池バカ
0765nobodyさん
2009/12/31(木) 13:35:23ID:???◆質問する時の注意
・ 質問者として、態度をわきまえること。
以下誘導
http://pc11.2ch.net/test/read.cgi/php/1158647441/l50
0766nobodyさん
2009/12/31(木) 16:19:53ID:???>>758
http://www.google.com/codesearch/p?hl=ja#c6JkLta30kQ/trunk/qtxtdb.class.php&q=str_getcsv
507-556行
0767758
2009/12/31(木) 17:21:43ID:AqAvYeuS何処に問題ありますか?
>>766
ありがとうございます。
こんなそのままのソースがあるとは思いませんでした。
ただ、一つ気になるのが「License: Unknown」くらいでしょう。
今書いているソース商用にも使うかも知れないので下手(GPL)なライセンスのソースを
組み込むわけにも行かないのでこのソースを読んで自分でアルゴリズム構築し直して
ソースを書き起こしなおした方がいいかも知れませんね。
とりあえず現状ではPHP5.3.0以上ではstr_getcsvで
5.1.0から5.2.xでは自分で書いた>>763の方式で(php://memoryが5.1.0からのサポートなので)
でそれ以前では>>766さんが出してくれたソースをベースにって事になりそうです。
0768nobodyさん
2009/12/31(木) 17:36:24ID:???回答者だからといって調子に乗るな的なことをテンプレいれてもいいのでは。
0770758
2009/12/31(木) 18:35:18ID:AqAvYeuS>>766で書いてくれたURL先のソース使うのと
>>763での方式で「'php://memory」ではなくて実際にファイルに一時的に書き出す方式はどっちがはやいのかな?
検証してみた方がいいかな。
ステップ数だけはファイルに一時的に書き出してfgetcsvで拾ってくる方式なのは確かだけど
0771nobodyさん
2009/12/31(木) 18:47:39ID:Y4/O1MTAだいたいなんでphpとかやっているんだよ。
大晦日に
0772nobodyさん
2009/12/31(木) 21:40:41ID:???態度が悪いのは回答者ではなくて
回答せずにヤジだけ飛ばすバカ。
どうせこういうヤジだけの奴はPHPすらろくにできないのでしょうね。
どうしてそんなPHPできない奴が、このスレにいるのかは疑問だけどね。
0774nobodyさん
2009/12/31(木) 22:31:33ID:???0777nobodyさん
2010/01/01(金) 00:22:34ID:adVuwjbe去年よりもphpができるようになりたいな。
phpの仕事がへりませんように
0778nobodyさん
2010/01/01(金) 00:38:34ID:???サービス残業を
0779nobodyさん
2010/01/01(金) 01:41:30ID:???0780679
2010/01/01(金) 05:42:56ID:Yt86zcJv動画なら抽出出来るのですが、ゲームだと出来ません
あと、抽出した画像のサイズを例えば、300×300以内にサムネイルって出来ますでしょうか?
どうぞよろしくお願いします<m(__)m>
0781nobodyさん
2010/01/01(金) 08:48:49ID:???0782nobodyさん
2010/01/01(金) 10:41:31ID:???動画変換だから無理なんじゃないかなぁ
こっちで聞くといいよ(・ω・)
http://pc11.2ch.net/test/read.cgi/linux/1232095273
0783679
2010/01/01(金) 11:26:51ID:Yt86zcJvありがとう
そっちで聞いてみます
0784nobodyさん
2010/01/01(金) 16:53:29ID:A1Hlzrb8オープンソースある?
0785nobodyさん
2010/01/01(金) 17:18:16ID:???0786nobodyさん
2010/01/01(金) 18:27:57ID:A1Hlzrb8Smarty,MySQL,ZF,CakePHP,wordpressレベルのオープンソース作った日本人いる?
0787nobodyさん
2010/01/01(金) 18:28:42ID:???0788nobodyさん
2010/01/01(金) 18:29:03ID:???0790nobodyさん
2010/01/01(金) 18:51:34ID:???0791nobodyさん
2010/01/01(金) 18:56:53ID:???0792nobodyさん
2010/01/01(金) 19:00:47ID:???0793nobodyさん
2010/01/01(金) 19:11:05ID:???0794nobodyさん
2010/01/01(金) 19:37:23ID:z0QJlOXoPEARとかにありそうなんだけど、みつかりません。探し方が悪い?
function とか class とか $xxx とかコメント(/*〜*/)に自動的に<span style="red">とか付けてくれるライブラリです。
0795nobodyさん
2010/01/01(金) 19:40:00ID:???0796nobodyさん
2010/01/01(金) 19:43:55ID:A1Hlzrb8そいつら書くことは立派だが、なんかなぁ〜
あ、おれはもっとカスだけど
0797nobodyさん
2010/01/01(金) 19:44:10ID:???highlight_string()
もしくは、拡張子をphpsにして表示。
0798nobodyさん
2010/01/01(金) 19:45:36ID:A1Hlzrb80799nobodyさん
2010/01/01(金) 19:47:28ID:???- ファイル名.phps にしてアクセスすると
ソースが色づけされて表示される.
- 方法
httpd.conf に以下を記述
AddType application/x-httpd-php-source .phps
0801nobodyさん
2010/01/01(金) 20:08:16ID:z0QJlOXoあ、JavaScriptだとサーバーに負荷がかかんなくていいですね!
>>797 >>799
なるほど!!そんな方法があったんですね!!
>>798
ありがとうございます!
0802nobodyさん
2010/01/01(金) 21:00:26ID:hR+m4MNrtest.php?hoge=1&test=2にアクセスするとYESと表示されるんですけど
test.php?hoge=1 にアクセスした時に、OKと表示させたいので下記のようなコードを作り
希望通りにはなったのですが・・・・
testは2だけではなく 2,3,4,5,・・・・20まで続いてます。
これをif文でやるとどれだけ手間がかかることやら、、どなたか良い方法教えてください
if($_GET["hoge"] ==1 && $_GET["test"] == 2){
echo "yes";
}elseif($_GET["hoge"] == 1 && $_GET["test"] == ""){
echo "ok";
}
0803nobodyさん
2010/01/01(金) 21:24:41ID:???・XOOPS
海外だとDrupalが人気(Mozillaやホワイトハウスなど有名どころでも採用)
日本ではXOOPSが人気。やっぱり日本人が開発して日本のコミュニティーがしっかりしているから?
日本でDrupalがダメなのは日本Drupal公式さ糸川の管理者がアレだからという説もあるが
・EC-CUBE
ZenCartには機能面はかなわない感じがあるが日本人が開発しただけあって日本人向けの作りになっている。
・Ruby
スクリプト言語としてもう有名ですね。
フレームワークのRuby on Railsの登場で注目も集めましたね。
・PostgreSQL
開発者の一人に石井達夫さんって日本人がいましたよね?
・Namazu
・Hyper Estraier
有名どころの全文検索エンジン
ここら辺がすぐに思いつく物。
後
http://ja.wikipedia.org/wiki/Wiki
これ見ると日本人が開発したwikiって結構あるね。
0805nobodyさん
2010/01/01(金) 21:34:04ID:???俺だったら
switch($_GET["hoge"]){
case 1:
switch($_GET["test"]){
case 2:
echo "yes";
break;
default:
echo "on";
}
break;
}
って書くかな。
そっちの方がこの手の物だソースが読みやすくもなる。
0806nobodyさん
2010/01/01(金) 21:35:43ID:???0807nobodyさん
2010/01/01(金) 21:41:33ID:???ttp://www.geocities.jp/kosako3/oniguruma/index_ja.html
ttp://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/oniguruma/
0808nobodyさん
2010/01/01(金) 21:54:37ID:???>>802
GETが連続して可読性が悪いのが嫌なら判定部分を関数で外部化するとか、
コードが長くなるのが嫌なら配列なりファイルなりに条件と結果を書いておくとか。
例えばこんな感じ:
@
if (func(1, 2)) {
echo "yes";
} else if (func(1, "")) {
echo "ok";
}
function func($hoge, $test) {
return $_GET["hoge"] == $hoge && $_GET["test"] == $test;
}
A
$array = array( 1 => array( 2 => 'yes'), array( "" => 'ok'));
echo array[$_GET['hoge']][$_GET['test']];
B
data.csv
---------------------------------------------
1,2,yes
1,,ok
---------------------------------------------
foreach (file('data.csv') as $line) {
$line = explode(',', $line);
if ($_GET["hoge"] == $line[0] && $_GET["test"] == $line[1] ) {
echo $line[2];
}
0809nobodyさん
2010/01/01(金) 21:56:22ID:???最後抜けてた。試してないからこんな感じということで。
0810nobodyさん
2010/01/01(金) 22:11:37ID:???インデントしっかりやっておけばそうでもないよ。
switch使い慣れてないとbreak;付け忘れる人がいるけど
どっちにしても
>testは2だけではなく 2,3,4,5,・・・・20まで続いてます。
って場合どんどんと比較パターンが多くなってくるとifだけで表現させていくとswitchより読みにくくなる。
0811nobodyさん
2010/01/01(金) 22:26:03ID:A1Hlzrb8>>test.php?hoge=1 OK
>>testは2だけではなく 2,3,4,5,・・・・20まで続く
配列に3で表示したい内容を代入
$array[3] = 'こんにちは';
if($_GET["hoge"] == 1) {
$num = $_GET["test"];
echo $array[$num];
}
0813nobodyさん
2010/01/01(金) 22:28:44ID:nSuyooiG関数名で検索すると、同じ内容のページがぎょうさん
0814nobodyさん
2010/01/01(金) 22:37:21ID:hR+m4MNrありがとうございます
うまくできました!
他の方ももいろいろありがとうございました。
0815812
2010/01/01(金) 22:39:34ID:???俺もその配列を使う方法はすぐに考えついて
しかもifすら使わずに二次元配列を使う方法を考えついた。
でも
>test.php?hoge=1 OK
の場合の事を考えるとめんどくさくてカキコするのやめた。
あえて考えて書くと
$string[1] = array(-1=>"on",2=>"yes");
if(strcmp($_GET["test"],"")==0){
$test = -1;
}else{
$test = $_GET["test"];
}
echo $string[$_GET["hoge"]][$test];
こんな感じか?
0816nobodyさん
2010/01/01(金) 22:40:39ID:???それわかる。
関数のいろいろなサンプル探しているのにマニュアルのミラーだからサンプルもみんな同じって事あるよ。
0817nobodyさん
2010/01/01(金) 22:41:18ID:A1Hlzrb8$_GET['test'] == ''なら echo 'ok';
あるなら811ってこと?
0818nobodyさん
2010/01/01(金) 22:44:57ID:A1Hlzrb8$_GET['test'] が空(数値でない)なら echo 'ok';
あるなら811ってこと?
カンマ抜けちゃった
0819nobodyさん
2010/01/01(金) 23:02:03ID:???文字列比較で==使うなよ。
http://blog.zuzara.com/2007/05/10/221/
0820nobodyさん
2010/01/01(金) 23:03:51ID:7KQbSJC0検索エンジンのスニペットのような感じをイメージしています。
meta descriptionから要約を作成しようとしたのですが、記述していないサイトもあるので不十分でした。
0821nobodyさん
2010/01/02(土) 00:38:06ID:???0822nobodyさん
2010/01/02(土) 00:44:45ID:EfcqZQnmありがとうございます。でもインデックスされていないサイトには使えないので、別の方法がありがたいです。
404などの場合は仕方ないですが・・
0823nobodyさん
2010/01/02(土) 01:12:21ID:???http://ci.nii.ac.jp/naid/110003203295
0824nobodyさん
2010/01/02(土) 07:05:00ID:b9SN1cw1echo '処理2';
という順番で処理が書かれているときに
処理1が重いので、処理2から先に実行してみたいのですが
どのようにすればよいでしょうかアドバイスよろしくおねがいします
0825nobodyさん
2010/01/02(土) 07:30:11ID:???echo '処理1';
0826nobodyさん
2010/01/02(土) 07:31:18ID:b9SN1cw1すいません注釈で書くべきだったですね。
>という順番で処理が書かれているとき
限定です。
0828nobodyさん
2010/01/02(土) 11:50:19ID:???PHPはマルチスレッド機能はないらしいのだが裏技を使えば似たようなことは可能
PHP マルチスレッドでぐぐれば結構ヒント出てくると思う
マルチスレッドでやれば処理1と2が順次ではなく並列で処理することが可能
0830820
2010/01/02(土) 12:16:56ID:EfcqZQnm論文を読んで技術を自力でPHPに実装する実力ありません(泣)
当該論文からサマライズプログラム作れませんか?
0831nobodyさん
2010/01/02(土) 13:03:31ID:???0832nobodyさん
2010/01/02(土) 15:02:40ID:OvKDiFnJ一見C++では怒られそうなデータ配列ですが、
PHPでは下のような指定も可能なのでしょうか?
$DATA['OWN'] = "ME";
$DATA[$IDX]['YY'] = 10;
$DATA[$IDX]['MM'] = 1;
$DATA[$IDX]['DD'] = 2;
0833nobodyさん
2010/01/02(土) 15:30:54ID:5+ri1/AEフリースクロプトを用いて、実行すると、
Parse error: syntax error, unexpected '[', expecting ']' in C:\www\jisaba\cf\chat01.php on line 61
エラーが出てしまいます。
おそらく、61行目に'['と']'を付けろと言われてると思いますが、どこに追加すればいいのでしょうか。。
61行目は
$ad1 = $ad_list1[$ad_key1[0]];
となっております。
よろしくお願い致します。
0834nobodyさん
2010/01/02(土) 15:44:54ID:???unexpected '[', - なんか変なのきた
expecting ']' - こういうのが来る筈なのに
と分けて読む。
$ad_key1[0]
^ これが変なものと思われてる。
0835nobodyさん
2010/01/02(土) 15:57:03ID:???>一見C++では怒られそうなデータ配列ですが、
>PHPでは下のような指定も可能なのでしょうか?
C言語系だと構造体があるからそっちで実現した方がいいからね。
PHPでは構造体が使えないからそうやるしかないよね。
0836nobodyさん
2010/01/02(土) 16:40:07ID:???>>834さんありがとうございました!
<?php
(略)
echo <<<_INN
<HR size=1>
★
<center>てすと</center>
<HR size=1>
(略)
?>
これの★の部分に
-----------------------------------------------
srand((double)microtime()*1000000);
$ad_list1 = file("/home/php/public_html/ad.txt");
$ad_key1 = array_rand($ad_list1, 2);
$ad1 = $ad_list1[$ad_key1[0]];
// 表示
echo $ad1;
-----------------------------------------------
を入れると
Parse error: syntax error, unexpected '[', expecting ']' in...
エラーが出てしまいます。834さんの言う通り、
[を消したり、色々してみましたがダメでした。
やはりできないのでしょうか・・
($ad_list1 = fileで指定してる.txtファイルの存在や書き方は問題ないと思われます。)
よろしくお願い致します。
0838nobodyさん
2010/01/02(土) 18:33:54ID:5+ri1/AEありがとうございました!
■ このスレッドは過去ログ倉庫に格納されています