【PHP】下らねぇ質問はID出して書き込みやがれ 124
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/11/20(火) 18:02:45.99ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 123
http://kohada.2ch.net/test/read.cgi/php/1348583995/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0655652
2012/12/25(火) 01:44:19.26ID:???0656nobodyさん
2012/12/25(火) 01:47:25.03ID:+G43GQs5【PHPのバージョン】5.2.17
【質問内容】
PHPの配列で重複項目をカウントし、その重複数ごとに別々の配列に格納したいです。
$aに
りんごというワードが12個
みかんというワードが6個
なしというワードが5個
いちごというワードが2個
入ってて
10個以上なら
$ar1に
5個以上、10個未満なら
$ar2に
というようにしたいです。
$ar1 = ("りんご");
$ar2 = ("みかん","なし");
のような感じで。
$a = array_count_values($a);
if(○○○ >= 10 ){
}else if(○○○ < 10 && ○○○ >= 5 ){
}
のような感じに書くのは分かりますが、途中が分からなくて。
色々なページを見たのですが、分からないのでよろしくお願いします。
0659nobodyさん
2012/12/25(火) 02:12:24.47ID:+G43GQs5○○○の部分は
$inputでいいのでしょうか?
0661nobodyさん
2012/12/25(火) 02:30:25.71ID:+G43GQs5array_count_valuesの部分です。
0662nobodyさん
2012/12/25(火) 02:32:26.75ID:???0666nobodyさん
2012/12/25(火) 09:05:16.72ID:???マニュアルの「パラメータ」と「返り値」の項目、および「例」を
見るだけじゃなくて、理解してください。
天才でもない限り、絵画を見るように文字を見て理解する人はいません。
0667nobodyさん
2012/12/25(火) 09:23:41.90ID:???0668nobodyさん
2012/12/25(火) 12:29:47.53ID:???昔は返り値っていう人が多かったけど今は戻り値が多い気がする
0669nobodyさん
2012/12/25(火) 12:41:00.66ID:TWYXsO9B0670nobodyさん
2012/12/25(火) 12:54:30.77ID:???値を戻すとは言わず値を返すと言うのである
0671nobodyさん
2012/12/25(火) 13:20:06.31ID:???返り血と間違うから使うなって主張はあるみたいだけど馬鹿なこと言ってんなと思う
0672nobodyさん
2012/12/25(火) 13:29:17.29ID:7T5WksfN0673nobodyさん
2012/12/25(火) 13:53:28.66ID:???別にどっちでもいいんだけど、統一された考えがないから紛らわしいのを避けるんだよ、普通の人はね?
そのアクセントの違いが統一された考えなの?
松本龍じゃなくても「コンセンサス得ろよ!」って言われるよ?
0674nobodyさん
2012/12/25(火) 13:57:20.99ID:KLz+uV4m<?php
//データ部
$num=array(
array(1, 2),
array(4, 5, 6),
array(7, 8),
//array(4, 5, 6),
array(7, 8),
);
//処理部
$digit=count($num);//桁数
$max_num=str_repeat(9,$digit);
$min_num=str_repeat(1,$digit);
for($i=$min_num;$i<$max_num;$i++){
$mach=0;
for($j=0;$j<$digit;$j++){
if(in_array(substr($i,$j,1),$num[$j])){
$mach++;
}
}
if($mach==$digit){
echo $i."<br />\n";
}
}
?>
0676nobodyさん
2012/12/25(火) 14:29:28.79ID:???$num=array(
array(1,2),
array(4,5,3),
array(7,8),
);
$start=pow(10,count($num)-1);
$end=pow(10,count($num));
for($i=$start;$i<$end;$i++){
foreach($num as $k=>$v) if(!in_array(substr($i,$k,1),$v)) continue 2;
print $i."\n";
}
0677nobodyさん
2012/12/25(火) 17:11:15.22ID:???0678nobodyさん
2012/12/25(火) 17:23:52.55ID:???0679nobodyさん
2012/12/25(火) 17:26:26.47ID:???$num = array(
array(1, 2),
array(4, 5, 6),
array(7, 8),
);
function get_combinations($digits)
{
$first = array_shift($digits);
if ($digits) {
$combinations = get_combinations($digits);
} else {
return $first;
}
$ret = array();
foreach ($first as $digit) {
foreach ($combinations as $combination) {
$ret[] = $digit . $combination;
}
}
return $ret;
}
print_r(get_combinations($num));
0680nobodyさん
2012/12/25(火) 17:27:00.99ID:???0681nobodyさん
2012/12/25(火) 17:39:46.96ID:???0682nobodyさん
2012/12/25(火) 17:42:36.12ID:???楽天の求人がルー語でヤバイ!
0683nobodyさん
2012/12/25(火) 17:45:57.69ID:???0684nobodyさん
2012/12/25(火) 17:49:53.06ID:???素のPHPのことについての質問はマニュアル読めば解決することばかりだからな
そんなスレがこの板で一番勢いがある・・・
0685nobodyさん
2012/12/25(火) 18:11:05.61ID:KLz+uV4mオポチュニティびろーん
0686nobodyさん
2012/12/25(火) 18:16:11.12ID:???0687nobodyさん
2012/12/25(火) 18:53:34.54ID:???0688nobodyさん
2012/12/25(火) 19:02:40.72ID:???私立 わたくしりつ
0689nobodyさん
2012/12/25(火) 19:06:54.82ID:???買春 かいしゅん
0690nobodyさん
2012/12/25(火) 23:49:58.52ID:HlTbcV5bこのページを参考にして鍵付きアカウントのTL取得は出来たのですが、
ツイートやID表示以外に
ツイートの添付写真を表示したり、つぶやき時刻を表示させたりするには
どうしたらいいのでしょうか
0691nobodyさん
2012/12/25(火) 23:51:15.81ID:???0692nobodyさん
2012/12/25(火) 23:54:34.25ID:HlTbcV5b別所で聞いてみます
0693nobodyさん
2012/12/26(水) 05:04:32.68ID:yPzrDhQJ$_SESSION["login"]=array(
"name" => $row["name"],
"sex" => $row["sex"],
"birth" => $row["birth"],
"ID" => $row["ID"],
"pass" => $row["pass"],
"h_pass" => $row["h_pass"],
"mail" => $row["mail"],
"aikotoba" => $row["aikotoba"],
"login_time" => time()
)
0695nobodyさん
2012/12/26(水) 05:22:53.79ID:???>>694 さんの仰る通りだ。
どこの誰かわからん人の解説には
一番基本的な方法は書かれていない事が多い。
本当に素人ならググるな。公式見ろ。
0696nobodyさん
2012/12/26(水) 05:25:51.87ID:yPzrDhQJ0697nobodyさん
2012/12/26(水) 05:36:19.47ID:???0698nobodyさん
2012/12/26(水) 06:11:12.62ID:???>>1
>・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
>(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
ルールを守っていないのはどなた?
0699nobodyさん
2012/12/26(水) 07:13:49.17ID:???ヒント:多次元配列
0700nobodyさん
2012/12/26(水) 07:26:54.59ID:???0701nobodyさん
2012/12/26(水) 07:28:10.64ID:???0702nobodyさん
2012/12/26(水) 07:31:20.91ID:???0703nobodyさん
2012/12/26(水) 07:55:36.27ID:???0704nobodyさん
2012/12/26(水) 08:07:37.14ID:???0705nobodyさん
2012/12/26(水) 09:56:29.68ID:???0707nobodyさん
2012/12/26(水) 15:02:11.89ID:???の方がいいよ!
0708nobodyさん
2012/12/26(水) 17:01:19.04ID:vB6Sb+xfSSHのコマンドラインからtest.phpを実行すると、正常に処理されます。
これって何が原因なのでしょうか?
ファイルの所有権はrootでsafe_modeもOFFです。
0709nobodyさん
2012/12/26(水) 17:25:49.81ID:???0710nobodyさん
2012/12/26(水) 17:33:09.06ID:vB6Sb+xfファイルのパーミッションじゃなくてですか?それは問題ないと思います。
ちなみに、
exec('ls -l', $buf);
print_r($buf);
とすると、ブラウザからアクセスしてもコマンドが実行されて
ブラウザ上にディレクトリ内一覧が出力されます。
0711nobodyさん
2012/12/26(水) 17:39:06.12ID:???0712nobodyさん
2012/12/26(水) 18:10:31.24ID:???そしてそのユーザーの実行権限は入ってるの?
lsがうまくいくって言ってるけど、該当のプログラムは標準出力に出してるの?
httpdのエラーログに何か入ってない?
0714nobodyさん
2012/12/26(水) 21:41:44.78ID:vB6Sb+xfwkhtmltoimageというスクリーンショットを取れるソフトを試しているのですが、
exec('/usr/local/bin/wkhtmltoimage http://google.co.jp/ google.jpg');
というコードを書いても無反応(画像が生成されない)です。
SSHのコマンドから「php -f test.php」と実行すると生成されるので、
ソフトやインストールに問題は無いと思います。
0715nobodyさん
2012/12/27(木) 02:02:36.13ID:???それをちゃんと書いてないのがある
まあ、PHPのマヌアルは親切すぎるぐらいだから、それぐらいは目をつぶられるけどね
でも返り値を===でチェックしたいときとかは、いや〜んな感じ
0717nobodyさん
2012/12/27(木) 08:15:14.72ID:???0718nobodyさん
2012/12/27(木) 12:46:17.37ID:2W1mTkak【PHPのバージョン】5.0?
【連携ソフトウェア】分かりません…
【サーバ】ttp://www.1freehosting.com/
【質問内容】 htmlをxmlに変換したい
【結果】htmlソースがそのままxmlファイルにコピーされた
phpはじめて3日です、すみません・・・
一応、組み込んだクラスや文法についてはドキュメント読みました
続きます
0719718
2012/12/27(木) 12:50:21.91ID:2W1mTkak$url = "http://xxxxxxxxx/test.html";
// 指定されたurlの内容をhtml文字列として返す
function url2html( $url ) {
return file_get_contents( $url );
}
// html文字列をDOMDocumentオブジェクトとして返す
function html2xmldoc( $html ) {
$xmlDoc = new DOMDocument('1.0', 'UTF-8');
$xmlDoc->preserveWhiteSpace = true; //スペースを削除
@$xmlDoc->loadHTML($html);
return $xmlDoc;
}
// DOMDocumentオブジェクトをxml文字列として返す
function xmldoc2xml( $xmlDoc ) {
return $xmlDoc->saveXML();
}
// 指定されたurlの内容をxml文字列として返す
function url2xml( $url ) {
$html = url2html( $url );
$xmlDoc = html2xmldoc( $html );
$xml = xmldoc2xml( $xmlDoc );
return $xml;
}
$xml = url2xml( $url );
$fno = fopen("./test.xml", 'w');
fwrite($fno, "$xml");
fclose($fno);
?>
以上がソースになるのですが、これを実行してもtest.htmlのhtmlソースが
そっくりそのままtest.xmlにコピーされてしまいます。
0720718
2012/12/27(木) 12:53:11.12ID:2W1mTkakfunction url2html( $url ) {
return file_get_contents( $url );
}
のみ記述してechoでreturn結果を見てみたのですが、この時点ですでにtest.htmlのソースが
そのままreturnされているのですが、何がおかしいのかさっぱり分かりません
どなたかアドバイスお願い致します
0721nobodyさん
2012/12/27(木) 12:59:42.11ID:???0723nobodyさん
2012/12/27(木) 14:14:38.32ID:???具体的に何がしたいのか分からないけど、もし他人のサイトから何か読み取ろうとしてるんだとしたら、
PHP Simple HTML DOM Parserとかの方がいいと思うぞ?
0724718
2012/12/27(木) 14:17:28.32ID:2W1mTkakすみません、私の認識がおかしいんだと思います
ttp://php.net/manual/ja/function.file-get-contents.php
ドキュメントには文字列に読み込む、とありますが、これは引数のfilenameというドキュメント(私が読み込ませたいのはhtml)
の内容そ整形せずそのままreturnして$htmlへ格納するという事になるんでしょうか
だとすると確かにそれをechoするとtest.htmlがそのまま出力されるので正常動作になります
>>719の処理では、%htmlへ格納したxmlしたいhtmlファイルの内容を文字列として格納し、
それをDOM生成クラスDOMDocumentのloadHTMLメソッドへ渡し、その情報を元に
loadHTMLにてxmlツリーを$xmlへ格納し、fwriteでtest.xmlへ書き込む、という動作を意図しているものと
認識しているのですが・・・
もしかして全然違う事やってますか?
0725718
2012/12/27(木) 14:19:17.57ID:2W1mTkak自分のサイトのトップページがindex.htmlなのですが、このhtmlを結構更新するのですが
その更新したhtmlの内容をxml化して、それを他の人のブログなどのRSSリーダーで表示してもらいたいのです
0726nobodyさん
2012/12/27(木) 14:20:52.67ID:???0728718
2012/12/27(木) 14:29:38.74ID:2W1mTkak>>726
マジですか・・・
もしかして一年二年やらないとできないような難易度の処理になるのでしょうか?
できれば早いうちに実装したいので、他の方が書いて公開しているサンプルコード的なのが
ないかと検索してみたらそれっぽいのを見つけ、それをほぼそのまま使用させて頂いたのが>>719なのです
もし私がやろうとしている事が可能になるようなサンプルコード、もしくはクラスや関数をご存知であれば
ご教授頂きたいのですが、ないですよね・・・・
0729nobodyさん
2012/12/27(木) 14:34:38.65ID:???まずは何を出力すればいいかを知れよ
0730nobodyさん
2012/12/27(木) 14:44:59.69ID:???0731718
2012/12/27(木) 14:49:55.86ID:I8WvgqA0magpieRSSの記述はサンプルコードが落ちてたので、それをほぼそのまま使わせて頂いてますので
なんとか自動更新にできました
0732nobodyさん
2012/12/27(木) 14:52:04.03ID:???0733nobodyさん
2012/12/27(木) 14:57:30.59ID:???0734718
2012/12/27(木) 15:07:40.25ID:I8WvgqA0他のサイト(知り合いとか)になるのか、自分のになるのかは分かりませんが、そんな感じです
今まだ適当なサーバでテストしてるだけなので、特に何かを配信しているとかはないです
やろうとしている事の参考になるサイトとかでもいいので教えて頂ければ嬉しいです
0735nobodyさん
2012/12/27(木) 16:45:02.21ID:???0736nobodyさん
2012/12/27(木) 16:50:48.51ID:LMdLghLx(
[0] => 果物,りんご,赤い
[1] => 果物,みかん,黄色い
[2] => 飲み物,リアルゴールド,黄色い
)
お伺いいたします。
phpの配列名$arrayが上記のようになっていて、値が「飲み物」で
マッチしたものの答えを[黄色い]と出力したい場合は、
どのように書けばよいでしょうか。
配列になれなくて、かれこれ2時間立ち止まってます><
0737nobodyさん
2012/12/27(木) 16:53:04.87ID:???0738nobodyさん
2012/12/27(木) 17:14:31.82ID:???foreach ($array as $value) {
list($a, $b, $c) = explode(",", $value);
if ($a == '飲み物') {
echo $c;
}
}
0739718
2012/12/27(木) 17:18:53.83ID:I8WvgqA0>>737
そういうの(fc2であればURL+/?xmlで表示されるもの)は見て、どういう構造になってるかは知っています
ただ、どうすればそれをphpにより生成できるのか、が分からないです
例えば、そういう適当なxmlをDLしてきて、手動でその中身を自分の好きなように変えて
表示させる、という事はできます
しかし、index.htmlは数時間おきに自動更新されるので、それをその度に
手動でxmlへ<item>や<link>や<title>などを書き換える事はできないので・・・
wordpressとかは使えないのでしょうか(関係ないですかね)
今色々見てるのですが
0740nobodyさん
2012/12/27(木) 17:25:45.87ID:???0741nobodyさん
2012/12/27(木) 17:31:04.24ID:???出力するだけだ
0742nobodyさん
2012/12/27(木) 17:31:22.51ID:???0743nobodyさん
2012/12/27(木) 17:34:07.60ID:???まさか何かのライブラリに頼りっきり?
0744718
2012/12/27(木) 17:57:38.53ID:I8WvgqA0xml=データ形式
rss=xmlというデータ形式で書かれた文書みたいなの
と認識してますが・・・
>>743
はい・・・
magpieRSSに任せています
0745nobodyさん
2012/12/27(木) 17:58:57.45ID:???http://toro.2ch.net/test/read.cgi/tech/1331930031/336
0746718
2012/12/27(木) 18:02:26.19ID:I8WvgqA0すみません、何日もレスがなかったので動いていないスレかと思い
こちらにも投稿してしまいました
消えます、すみませんでした
0747sage
2012/12/27(木) 18:12:03.13ID:LMdLghLxご教示いただき誠にありがとうございます!
心お優しい方に助けられ、また一つ学習できました;;
そして私自身大きな間違いに気付いたのですが、配列は以下の形式でした><
Array
(
[0] => 果物
[1] => りんご
[2] => 赤い
)
Array
(
[0] => 果物
[1] => みかん
[2] => 黄色い
)
Array
(
[0] => 飲み物
[1] => リアルゴールド
[2] => 黄色い
)
この場合で同じ答えを出す方法ってありますでしょうか??
たびたびのご質問で恐縮ですが、なにとぞよろしくお願いしますm(__)m
0748nobodyさん
2012/12/27(木) 18:24:03.03ID:???if ($value[0] == '飲み物')
echo $value[2];
0749736
2012/12/27(木) 19:09:21.20ID:jYOWBrau即レス誠にありがとうございます!
おかげさまで求めていた形式にたどり着けそうです。
ノンプログラマには配列の思考が難しいですが、おかげさまで頑張れそうです^^
0750nobodyさん
2012/12/27(木) 19:44:02.52ID:???まぁ、2ちゃんは低学歴が多いから仕方ないけど。
0752nobodyさん
2012/12/28(金) 02:48:10.56ID:mgwe0miJその一時保存ファイルである$_FILES["upfile"]["tmp_name"][$i]をブラウザに表示することって可能ですか?
二通り試してみたんですが文字化けしてできませんでした。
(1)
for($i=0; $i<count($_FILES["upfile"]["tmp_name"]); $i++){
$image = file_get_contents($_FILES["upfile"]["tmp_name"][$i]);
header("Content-type: image/jpeg");
echo $image;
}
(2)
for($i=0; $i<count($_FILES["upfile"]["tmp_name"]); $i++){
$image=ImageCreateFrmJPEG($_FILES["upfile"]["tmp_name"][$i]);
ImageJPEG($image);
}
■ このスレッドは過去ログ倉庫に格納されています