【PHP】下らねぇ質問はID出して書き込みやがれ 115
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/01/20(金) 05:43:23.62ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 114
http://kohada.2ch.net/test/read.cgi/php/1325437405/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0199nobodyさん
2012/01/27(金) 17:28:49.70ID:ydVf8Xd1「 PHP -> 」のキーワードでは検索プログラムの何かの記号と混同してしまうのか
まったく意中の結果を得られませんでした
「 -> 」の意味を教えてください
ちなみに、こういった場合どういうキーワードで検索するのが
正解なのか教えて頂けると、とても嬉しいです
0200nobodyさん
2012/01/27(金) 17:53:44.03ID:???マニュアルに一通り目を通すといいよ。
0201nobodyさん
2012/01/27(金) 19:29:41.13ID:???preg_match('/[\u4e00-\u9fa5]/', ...)
といった記述がしたいのですが、マニュアルに\uのオプションが見つかりませんでした。
もしない場合は、utf-8とかに変換してからチェックするしかないのでしょうか。
0202nobodyさん
2012/01/27(金) 21:45:47.62ID:???正確にはオブジェクトの中の配列の中の文字列?
文字列と言えば文字列なわけで。普通にprintできるし。
0204nobodyさん
2012/01/27(金) 22:44:32.42ID:???http://www.php.net/manual/ja/reference.pcre.pattern.modifiers.php
0205nobodyさん
2012/01/28(土) 01:26:13.34ID:GUwt9u3Uローカル環境でXAMPP上で開発しているのですが、
どうしたら「127.0.0.1」のように表示できるのでしょうか?
0207nobodyさん
2012/01/28(土) 07:46:45.02ID:???0208nobodyさん
2012/01/28(土) 12:00:43.80ID:???apacheのhttpd.confをテキストエディタで開いて、
「Listen 80」をコメントアウトし、
Listen 0.0.0.0:80を有効にしてください
0209nobodyさん
2012/01/29(日) 05:55:15.43ID:???0210nobodyさん
2012/01/29(日) 12:50:10.50ID:???foreach($RSS_data as $value){
$URL[]=$value->URL;
}
for ($i = 0, $n = count($URL); $i < $n; $i++) {
echo $URL[$i] . "<br />";
}
これで欲しいURLの一覧は出せるのですが、それぞれのページのHTMLソースが欲しいです。
0211nobodyさん
2012/01/29(日) 13:23:48.44ID:???0214210
2012/01/29(日) 14:24:05.99ID:axP+ileaありがとうございます。
0215nobodyさん
2012/01/29(日) 14:51:42.25ID:???0216nobodyさん
2012/01/29(日) 14:53:32.26ID:???痛い目にあったんじゃないかと想像w
0217nobodyさん
2012/01/29(日) 14:58:48.98ID:???0218nobodyさん
2012/01/29(日) 15:00:04.77ID:???gzip対応とか面倒だよな
0219nobodyさん
2012/01/29(日) 15:54:40.03ID:eROgtd9qどのようなものがありますか?
0221nobodyさん
2012/01/29(日) 17:56:53.21ID:eROgtd9qアプリケーションサーバーです。
0223nobodyさん
2012/01/29(日) 18:26:42.05ID:???0224nobodyさん
2012/01/29(日) 20:27:41.75ID:eROgtd9qphpの仮想マシーンレベルではサポートされていないのでしょうか?
0225nobodyさん
2012/01/29(日) 21:19:04.95ID:???0226nobodyさん
2012/01/29(日) 21:28:23.43ID:???0227nobodyさん
2012/01/29(日) 21:30:31.10ID:???0228nobodyさん
2012/01/29(日) 21:31:33.98ID:???0230nobodyさん
2012/01/29(日) 21:39:39.80ID:???0233nobodyさん
2012/01/29(日) 22:21:56.26ID:???完成は死を意味する
0235nobodyさん
2012/01/29(日) 23:14:26.75ID:???0237nobodyさん
2012/01/29(日) 23:45:27.73ID:???0238nobodyさん
2012/01/30(月) 00:03:38.66ID:XqkYh1fqphpでFacebookを作る方法を教えて下さい。
0241nobodyさん
2012/01/30(月) 01:54:53.10ID:???0245nobodyさん
2012/01/30(月) 07:50:54.83ID:Tb4TsYt/ファイルを添付して送信したいのですが、既存ファイルを指定するのではなく、
動的に生成して添付したいのですが、メモリ上にファイル(に相当するもの?)を作成するには
どうすればいいんでしょうか。
一時ファイルを保存=>添付してメール送信=>ファイル削除、の流れも考えられますが
ディスクに保存しないやり方があれば知りたいです。
0246245
2012/01/30(月) 08:01:45.99ID:Tb4TsYt/http://docs.php.net/manual/ja/wrappers.php.php
php://memoryを利用することで通常のファイルと同様に扱えるようです。
失礼しました。
0247nobodyさん
2012/01/30(月) 08:35:17.19ID:S8XrH54pブラウザに数秒毎にリフレッシュさせるか、Comet方式で作るか迷っています。
cometは同時接続数が多くなってサーバに繋がらない状況になったりしないか心配してるのですが
不特定多数がチャットを使用するとしか見積もれない場合は数秒毎リフレッシュのほうがいいのでしょうか?
0248nobodyさん
2012/01/30(月) 09:01:56.34ID:???PHP関係ないので、自分で決めて。
0249nobodyさん
2012/01/30(月) 09:29:40.18ID:???他のところで相談してきます。
0251nobodyさん
2012/01/30(月) 23:26:05.77ID:???0252nobodyさん
2012/01/31(火) 00:16:37.72ID:???0253nobodyさん
2012/01/31(火) 08:06:53.36ID:dTfxPGSXグローバル以外で><
0255nobodyさん
2012/01/31(火) 08:13:12.55ID:dTfxPGSXhttp://php.net/manual/ja/language.oop5.static.php
0256nobodyさん
2012/01/31(火) 08:18:06.09ID:???http://php.net/manual/ja/language.variables.scope.php
0258nobodyさん
2012/01/31(火) 13:02:51.47ID:6KRZikfhごちゃまぜRSSリーダーforPHP -ver1.3
を、さくらのレンタルサーバーで動かしています。
このごちゃまぜリーダーでは件数指定と日付表示が無かったので
★〜★の欄を追加して日付表示と件数指定をしています
<?php
require_once 'phplib/main.inc';
$rss = sox_fetch_rss();
while ( ★$i <=19 and ★ list($k,$v) = each($rss)) {
$p_title = $v->getMainTitle();
$url = $v->getURL();
$title = $v->getTitle();
★$item = $v->getDate();;
$item = strtotime($item);
$itemday = date('Y-m-d H:i:s',$item); //2009-04-24 22:25:34★
echo "<li><a href=\"$url\"><h1>$title</h1><p>$p_title</p><p>★$itemday★</p></a></li>\n";
★$i++;★
}
?>
この場合、件数指定表示もうまくいき RSSの日付表示も行われるのですが
日付はRSS1.0のものしか表示されず RSS2.0(主にアメブロ)のものは 1970-01-01 等を統一表示されてしまいます。
getDate()が関連してると思い、main.inc内を見てみたところ
function getDate(){
return $this->item['dc']['date'];
}
の部分が関連してるのがわかりました。 dc dateはRSS1.0の場合でRSS2.0はpubdateでないといけないようです。
この場合、RSSの種類によって適切に日付情報をgetするにはどうしたらよいでしょうか?
0259nobodyさん
2012/01/31(火) 15:12:12.35ID:???PHPと関係ないけどそんなこたぁない
pubDateでもいいがdc:dateでもいい
$this->item['dc']['date'];が1970-01-01のものに対しては
pubdateを取得できるか調べてあれば取得なければ1970-01-01を返す
という処理を書けばいいんじゃねえの
0260nobodyさん
2012/01/31(火) 15:54:23.45ID:6KRZikfhそのif文の構築方法がわからないんです。
main.incの
function getDate(){
return $this->item['dc']['date'];
}
おそらくここで if 条件文を入れると思うのですが
何を基準に pubdateがあるか・無いかの入れ子を入れるのかがサッパリで
dcdate pubdate 日付 等の単語を入れて構文を一通り見たのですが
ごちゃまぜRSSリーダーに添ったのがなかったのでこちらへ質問投下しました。
一応別の解決策としてRSS2.0のものはRSS1.0で読み込むようにする という手法をとって
2.0を全部排除する事で日付の不正表示は解決しています。
0261nobodyさん
2012/01/31(火) 16:07:29.23ID:???改造スレはスレチ
0263nobodyさん
2012/01/31(火) 17:08:59.31ID:jn5j2DcLプログラムを起動して、その中でリアルタイムに他のユーザーやサーバーと
メッセージのやりとりや対戦をしたいのですが、どのような言語や仕組みが
最適でしょうか?
一部にFLASHを使うのはありですが、なるべくJAVA系を使う方向が助かります
ただし、今回はJAVAアプレットはいまいち古いという理由で使えないです
0264nobodyさん
2012/01/31(火) 18:11:35.07ID:???0265nobodyさん
2012/01/31(火) 18:23:22.58ID:???0266nobodyさん
2012/01/31(火) 19:40:56.46ID:???0267nobodyさん
2012/01/31(火) 19:47:27.41ID:???Flashをviewにして内部はJavaでよいのでは?
BlazeDSでFlexとJavaで連携させたら簡単だよ。
0268nobodyさん
2012/01/31(火) 19:54:53.86ID:???0269nobodyさん
2012/01/31(火) 19:55:15.20ID:???0270nobodyさん
2012/01/31(火) 20:29:05.34ID:???すみません、PHPの部分に気づいていませんでした
該当スレのほうに移動します
>>267
ありがとうございます
少し調べてみると、かなりいい感じだったのでよく調べて検討してみようと思います
0271nobodyさん
2012/02/01(水) 00:34:48.86ID:???ちょっとこれ↓を作ってみようと思うんだけど、
http://www.pixiv.net/member_illust.php?mode=medium&illust_id=24745244
どういう構造にしようかな。
ローカルタイムを取得して、
上と下に2行に分けて表示するだけでいいかな。
0273nobodyさん
2012/02/01(水) 04:18:59.21ID:???質問も回答もOpenIDで編集できるんで適してると思うんですが
0275nobodyさん
2012/02/01(水) 06:41:01.44ID:???0277nobodyさん
2012/02/01(水) 07:26:17.86ID:???0278nobodyさん
2012/02/01(水) 07:32:28.84ID:???0279nobodyさん
2012/02/01(水) 07:43:18.42ID:???完成すると http://qa.lifesciencedb.jp/
0280nobodyさん
2012/02/01(水) 11:16:30.88ID:IMdwWgiD$person= array("のび太","ジャイアン","スネ夫");
$music = array("ハーモニカ","太鼓","バイオリン");
$fruits = ("みかん","りんご","メロン");
こういう配列に、「のび太、、バナナ(変更)」とか「しずか、ピアノ、いちご(追加)」
「スネ夫、引越(削除)」というデータを受け取って更新しようと思います。
それで自分の考えた処理の流れは間違っている感じがするのですが、
どうしたらいいのでしょうか。
つづく
0281nobodyさん
2012/02/01(水) 11:17:38.56ID:IMdwWgiDfor ( $i = 0; $i < count($person); $i++ ){
if ( $person[$i] === $_POST["person"] ){ // すでに登録があるとき
if ( $_POST["hikkoshi"] == 1 ){ // 削除 (配列に入れない)
$shori = $person[$i] . "を削除しました";
} else { // 変更
array_push($person2, $person[$i]);
array_push($music2, $_POST["music"]);
array_push($fruits2, $_POST["fruits"]);
$shori = $person[$i] . "を変更しました";
}
} else { // 新規
array_push($person2, $_POST["person"]);
array_push($music2, $_POST["music"]);
array_push($fruits2, $_POST["fruits"]);
$shori = $person[$i] . "を追加しました";
}
}
$person = $person2; $music = $music2; $fruits = $fruits2;
echo $shori;
つづく
0282nobodyさん
2012/02/01(水) 11:19:36.40ID:IMdwWgiDエラーをだせない。
※ そもそもforループを、配列の人数の数で回したら、新規の人(現在の
人数プラス1)のときに、ループを脱出してしまう?
考えているうちにどんどんわからなくなってしまって・・・。よろしくお願いします。
0283nobodyさん
2012/02/01(水) 11:32:29.85ID:???//あるとき
} else {
//ないとき
}
0284nobodyさん
2012/02/01(水) 11:38:34.36ID:IMdwWgiDありがとうございます。
でも、if ( isset( $person[ $_POST["person"] ] ) で調べたら、全部
あるとき になりそう。
0285nobodyさん
2012/02/01(水) 11:40:42.09ID:IMdwWgiD配列 person の中に、$_POST["person"] があるかどうかを
調べてるんですね。
0286nobodyさん
2012/02/01(水) 11:49:25.84ID:IMdwWgiDif( 引越し ){
配列に入れない
} else {
配列にいれる
}
} else {
if( 引越し ){
エラー
} else {
追加
}
}
こんな感じでいいんでしょうか。
0287nobodyさん
2012/02/01(水) 11:56:49.09ID:???まずやってみればいいんじゃないでしょうか。
0288nobodyさん
2012/02/01(水) 12:07:53.27ID:IMdwWgiDそうですね。似た処理を繰り返してしまうようですが、やってみます。
ありがとうございました。
0289nobodyさん
2012/02/01(水) 13:36:51.57ID:???http://manual.xwd.jp/function.array-search.html
>>283
$personのキーはインデックスしかないようだよ
0290nobodyさん
2012/02/01(水) 14:22:33.02ID:0PT+5Q34以下のtest1のようなクラスの書き方を今までしてきたのですが、
偉い人の書いたクラスやここ最近のフレームワークなんかのクラスを
眺めているとtest2のような書き方をよく目にするんですがどう言った
ご利益があるんでしょうか?
class test1{
function __construct($str="") {
self::test1($str);
}
function test1($str){
echo $str."\n";
}
}
new test1("hoge");
class test2{
function __construct($str="") {
echo $str."\n";
}
function gc($str){
return new test2($str);
}
}
test2::gc("hage");
0291nobodyさん
2012/02/01(水) 14:46:30.12ID:???デザインパターン入門本でもあさるといい
0292280
2012/02/01(水) 15:27:21.00ID:IMdwWgiDarray_searchという関数もあるんですね。
もしこれを使うとしたら、こんな感じになるのでしょうか。すごくすっきり!
ありがとうございます。(動くかどうか、これからやってみます。)
0293280
2012/02/01(水) 15:29:02.25ID:IMdwWgiDif( 引越し ){
$key = array_search( $_POST["person"] , $person );
if( $key ){
unset ( person[$key] );
unset ( music[$key] );
unset ( fruits[$key] );
$shori = $_POST["person"] . "は、引越ししました";
} else {
die( "そんな人はいません" );
}
}
if ( isset( $person[ $_POST["person"] ] ) {
//あるとき
$key = array_search( $_POST["person"] , $person );
$music[$key] = $_POST["music"];
$fruits[$key] = $_POST["fruits"];
$shori = $_POST["person"] . "を変更しました";
} else {
//ないとき
array_push( $person, $_POST["person"] );
array_push( $music, $_POST["music"] );
array_push( $fruits, $_POST["fruits"] );
$shori = $_POST["person"] . "を追加しました";
}
echo $shori;
0294nobodyさん
2012/02/01(水) 15:31:55.30ID:???0295nobodyさん
2012/02/01(水) 15:52:50.73ID:0PT+5Q34デザインパターンのシングルトンって言うんですね
調べてみます。ありがとうございました。
0296動きました!
2012/02/01(水) 16:08:24.79ID:IMdwWgiD$key = array_search( $_POST["person"] , $person );
if( $key ){
unset ( $person[$key] );
unset ( $music[$key] );
unset ( $fruits[$key] );
$shori = $_POST["person"] . "は、引越ししました";
} else {
die( "そんな人はいません" );
}
} else {
if (array_search( $_POST["person"] , $person)) {
//あるとき
$key = array_search( $_POST["person"] , $person );
if($_POST["music"]) { $music[$key] = $_POST["music"];}
if($_POST["fruits"]) { $fruits[$key] = $_POST["fruits"];}
$shori = $_POST["person"] . "を変更しました";
} else {
//ないとき
array_push( $person, $_POST["person"] );
array_push( $music, $_POST["music"] );
array_push( $fruits, $_POST["fruits"] );
$shori = $_POST["person"] . "を追加しました";
}
}
echo $shori."<hr>";
for ($i=0; $i<count($person);$i++){
echo $person[$i]." は ".$music[$i]." を嗜み ".$fruits[$i]." がスキです<br>";
}
0297280
2012/02/01(水) 16:09:34.76ID:IMdwWgiD>>293ではポロポロミスがあったので、動いたものを貼っておきます。
ありがとうございました。
0298ああ、タブが orz 書き直しました
2012/02/01(水) 16:12:44.52ID:IMdwWgiD$key = array_search( $_POST["person"] , $person );
if( $key ){
unset ( $person[$key] );
unset ( $music[$key] );
unset ( $fruits[$key] );
$shori = $_POST["person"] . "は、引越ししました";
} else {
die( "そんな人はいません" );
}
} else {
if (array_search( $_POST["person"] , $person)) {
//あるとき
$key = array_search( $_POST["person"] , $person );
if($_POST["music"]) { $music[$key] = $_POST["music"];}
if($_POST["fruits"]) { $fruits[$key] = $_POST["fruits"];}
$shori = $_POST["person"] . "を変更しました";
} else {
//ないとき
array_push( $person, $_POST["person"] );
array_push( $music, $_POST["music"] );
array_push( $fruits, $_POST["fruits"] );
$shori = $_POST["person"] . "を追加しました";
}
}
echo $shori."<hr>";
for ($i=0; $i<count($person);$i++){
echo $person[$i]." は ".$music[$i]." を嗜み ".$fruits[$i]." がスキです<br>";
}
■ このスレッドは過去ログ倉庫に格納されています