【PHP】質問スレッドpart16【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/04/07 01:06ID:HTcWOpWf上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ及び注意事項等は、 あふぉが居なけりゃ>>2-5
0365nobodyさん
04/04/23 15:58ID:???> >>358
> その前になんでtestが全角なんだ?
あ、すいません半角のつもりが全角になってました。
メインは「?(クエスチョン)」を「_(アンダーバー)」にしてもスクリプトが実行されるようにするにはどうしたらいいのかと言うことでして。
0366nobodyさん
04/04/23 16:13ID:???そんなことはしないでください
どうしてもするなら、世間一般のインターネットとは
激しく隔離されたネットワークでひっそりやってくだちい
0367nobodyさん
04/04/23 16:22ID:???>>361
業者が作ったスクリプトだったんで直してもらえました.
納品後は当方で修正する事になってたんですけど
症状を話したら「すぐに直します」と言ってくれました!
0370nobodyさん
04/04/23 17:29ID:???1.クライアントの尻拭いもしてくれる本当に親切な業者
2.クライアントが351のような質問を投げるレベルなのをいいことに
吹っかけているので、それがばれないように親切を装っている
他には?
0371nobodyさん
04/04/23 18:47ID:???0373nobodyさん
04/04/23 20:15ID:???>>371,>>370,>>368,>>366,>>360,>>352 あたり
余裕がないね。
0374nobodyさん
04/04/23 21:08ID:???0376nobodyさん
04/04/23 23:25ID:DLBJE4jSそんなあほな事するのか。実際。
0378nobodyさん
04/04/24 00:50ID:???0379nobodyさん
04/04/24 00:57ID:???さらに見当違いなレスに返しただけなんだけどな。
0380nobodyさん
04/04/24 09:50ID:???0381nobodyさん
04/04/24 10:39ID:???永続化がいまいちわからないです。
MVCスタイルで開発をするとすれば、
DBラッパークラスを作って
モデルクラスからそいつに関連を張るってことでいいんでしょうか?
その場合DBラッパークラスは
モデルクラスごとに、DBラッパークラスを継承したクラスを別々に
使うべきなんですか?
0382nobodyさん
04/04/24 13:43ID:???月の単位を"05"とか"07"とか、ゼロを付けて二桁に成形してるんですが、
その数字に引き算、加算した時に、
同じく二桁になるようにしたいんですが、どうしたらできますか?
つまり、"05" - 1 = "04"(四月)みたいな。
初心者の自分が考えたのは、単純に計算結果後に
if ( $result < 10 ) "0" . $result;
みたいなのですが、普通はどうやって処理するんでしょうか?
0383nobodyさん
04/04/24 13:47ID:???0384nobodyさん
04/04/24 13:52ID:???普段は整数型(int型)で計算しておいて、
出力時にprintf("%02d",int);必要によってsprintfでいいんじゃね。
0389nobodyさん
04/04/24 17:45ID:???いや、普通に呼び元からhoge.php#hogeとさえやってれば移動できますが、
ジャンプ時点ではアンカー貼れてないんですよね。
呼び元の方では、
http://www.hogehoge.net/hoge.php?a=b&b=c&c=d&d=e&e=f&anchor=hoge
という風に、変数の中の一番最後にアンカー用のパラメータをくっつけてフォーム送信してます。
で、方法としては、このanchor=hogeのパラメータを利用して
header("Location: ?a=b&b=c&c=d&d=e&e=f#hoge");
みたいな形でリダイレクトさせるしかないんでしょうが、
これだとGETでしか投げれないじゃないですか?
GETではなくPOSTで投げたいのでこれでは困ります。
他にjavascriptでPOSTする方法もあるようですが、
ブラウザ環境に依存するため使いたくないんです。
何かページ内アンカーに移動する良い方法ってないでしょうか?
0390nobodyさん
04/04/24 18:47ID:???>いや、普通に呼び元からhoge.php#hogeとさえやってれば移動できますが、
>ジャンプ時点ではアンカー貼れてないんですよね。
意味が判らん。アンカー位置にポジションを「移動」
しているのはブラウザのお仕事。ブラウザで解釈される
動的に生成したhtmlにアンカーが設定されていない?
クライアントサイドで弄ってなければ、生成したhtmlは
静的なものでそ。おかしな話
0391390
04/04/24 18:59ID:???俺ならhtmlのmetaでHTTP-EQUIV="Reflesh"使ったツーアクション。
これもブラウザに依存はするが、寧ろHTTPのLocation使うより
依存度が少ない(問題が起こりにくい)
遷移元でjavascript使って切り替えたりするのは
問題が起こりやすいので止めた方がいい。
0392nobodyさん
04/04/24 20:01ID:7aagULwH変数をキチンと定義して利用したいと思っているのですが。。。
0393nobodyさん
04/04/24 21:24ID:???アクセス制限で書けなかったので遅レスです。
私は DB ラッパークラスと DB アイテムクラスを書いて
DB アイテムクラスがラッパーを使うという形にしてます。
特に問題なく使えてます。
(ていうかこれはデザパタ系の話になるので
あまり MVC とは関係ないとは思いますが)
DB ラッパークラスはクエリ関係インターフェースを持ち、
DB アイテムクラスは、データと
自身のデータベース更新のためのロジックを保持しています。
0394nobodyさん
04/04/24 21:30ID:???ども〜
永続化させたいクラスごとに
DBアイテムクラスを作るってことでしょうか?
DBアイテムとDBラッパーの間は関連をはるんですか?
なんとなく継承かなって気がするんですけど
どうなんでしょう。
0395nobodyさん
04/04/24 22:03ID:???関連ってなによ?
委譲のことをいっとるのかね?
あと、どんなスタイルでも別に構わんが、
オブジェクト指向であるならば、むやみやたらと継承を使うべからず。
DBラッパーがDB自体をラップしたものであり、
DBアイテムとやらがDBに保存されるデータの単位を扱うものならば、
そこにどういう継承関係が存在するのか考えてみれ。
結論をいえば通常、>393が書いたような実装でいい。
その他、必要な処理があれば、DBのラッパーとDBデータをラップするクラスの間に
もう一枚噛ませるなどすればいい。
それと、最初からスマートな実装を無理して目指さず、
自分なりの知識で工夫して書いてみれ。
人の聞いて猿真似しても技術は身につかんぞ。
特にPHPの場合、クラス周りの仕様はルーズだから
実際に実装して動作を確かめて理解することが重要。
0396nobodyさん
04/04/24 23:29ID:???0397nobodyさん
04/04/25 11:27ID:???0398393
04/04/25 11:29ID:???> DBアイテムとDBラッパーの間は関連をはるんですか?
> なんとなく継承かなって気がするんですけど
「DB アイテムクラスがラッパーを使う」って書いたやん…。
>395さんとかどういう実装にしてるかちょっと興味ありますけど
DB ラッパーなんて単純ですから、個々で使いやすいように
好きなようにデザインしていいと思いますよ。
私は環境の関係で使わなかったけれど、
PEAR のラッパークラスとか使ってもいいと思います。
0399nobodyさん
04/04/25 11:30ID:???コンソール窓を複数開くか、
タブブラウザで複数起動すればいいのでは。
複数起動の意味が曖昧でよくわかりません。
0400397
04/04/25 11:56ID:???レスthxです。
.plプログラムを複数同時に実行したいと思ってます
コンソール窓をたくさん開くと重いので
タブブラウザみたくメモリ消費を減らせるようなソフトはないかと思いお聞きしました。
0402nobodyさん
04/04/25 12:33ID:???ありがとうございます
よく理解できました。
もし僕があなたの部下でこんな質問したら
「こいつ馬鹿だな。プッ」
ってかんじですか?
ぼく来年からSEになるんです・・
0404nobodyさん
04/04/25 12:51ID:???お ま い ら 釣 ら れ 杉
0405398
04/04/25 12:55ID:???実は私も就職活動中です。お互いがんばりましょう。
新入社員のプログラマも、文系・理系の人が半々くらい
占める企業もあるそうです。
つまりプログラミング経験のほとんどない人も PG になれます。
研修など一通りあるでしょうし、あなたのように向上心があれば
すぐ追いつき追い越せますよ。
# 決して馬鹿だなんて思いません。
0406nobodyさん
04/04/25 12:58ID:???と釣られてみる
0408nobodyさん
04/04/25 13:03ID:???ここはPHPスレです。
0411nobodyさん
04/04/25 15:06ID:0YVuipoQ>>402は就職活動中とは書いていないよ。
「来年からSEになる」って言ってる。
就職活動中なのは>>398=>>405
0414nobodyさん
04/04/25 17:00ID:???・質問内容は低レベル、ググらない
・春の就職ネタ
・SE/PGネタ
リア中ならともかく社会人になろうって年齢がこんな事で悩むかよ。フル装備で釣りだろ。
もうスルーしる。
0415nobodyさん
04/04/25 20:57ID:???<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></head>
<body>
<?
//php
?>
//ここにhtmlのフッタがあるけど略
</body></html>
と、このようなファイルでphpを動かしているんですが(拡張子は.php)、
php内 (<? ?>内) でreturnを入れると、フッタ以降の部分がすっとばされてしまいます。
<?
//php
?>
の部分のみの残処理をすっ飛ばすのが目的なのですが…。
returnやexit、breakなど色々試してみても結果は同じでした。
どなかか間違ってる部分を指摘していただけないでしょうか。
0416nobodyさん
04/04/25 21:38ID:???関数にする
別ファイルにする
0417nobodyさん
04/04/25 22:09ID:???print $fruits . "<br>";
print_r ( $f_list );
print "<br>" . $pos;
と、こんなコードを書いたら
バナナ //$fruitsの中身
Array ( [0] => りんご [1] => みかん [2] => バナナ [3] => メロン ) //$f_listの中身
と、こういう答えが返ってきたんだけど、なぜかarray_searchの結果 $pos だけが返ってきません。
ちゃんと配列の中にバナナ入ってるのに。
なんで?どこがおかしいんでしょうか?
0418nobodyさん
04/04/25 22:16ID:???returnはそのファイルの処理をそこで中断して呼び出し元に戻る
hoge.php
<?php
echo "ho";
return;
echo "ge";
?>
fuga.php
<?php
include("hoge.php");
?>
0421417
04/04/26 00:21ID:???配列の各項目に改行が入ってただけでした。
あしからず。
0422nobodyさん
04/04/26 13:36ID:???0423nobodyさん
04/04/26 20:30ID:v21IQMwxviでカーソルを動かすとき、HJKLでは動けるが、カーソルキーでは動けない。
そんな束縛感にひたり、ニヤリとしてしまう。
長井秀和です。
viの話。
viに慣れてきた奴は、Windowsのメモ帳でも間違えたときEsc連打しちゃう。間違いない。
viに慣れてきた奴は、秀丸のあのボタンの絵のセンスはどうにかならないものかと思っている。
間違いない。
Excelで入力をミスったときにEscを押すんじゃない、入力した内容が消えてしまうぞ、気をつけろー!!
viに慣れてきた奴は、アレを使うときCtrl-c、Ctrl-sしか知らなかったりする。間違いない。
viに慣れてきた奴は、矩形選択にちょっとあこがれている。間違いない。
0424nobodyさん
04/04/26 21:00ID:???で、vi(vim)の折りたたみ機能がほすい。
スレ違いスマソ
0427nobodyさん
04/04/27 11:47ID:???0428nobodyさん
04/04/27 11:48ID:???PHPで、文字列の中にある < を <に変えるには、どうすればいいですか?
教えてください、お願いします
0430428
04/04/27 11:54ID:840uECrUまぁ、< を<に変えればかまいません
0432nobodyさん
04/04/27 12:08ID:U23hB6pM0434nobodyさん
04/04/27 12:20ID:???PHPマニュアルみながら覚えろ
0435nobodyさん
04/04/27 12:41ID:???for ($i=0,$str2='' ; $i<strlen($str); $i++) {
$a=$str{$i}; $str2+=($a=='<')?'<':$a; }
とか書いてもいいし
0436nobodyさん
04/04/27 13:00ID:???0439nobodyさん
04/04/27 18:18ID:???0440nobodyさん
04/04/27 18:27ID:???function escape_echo($str)
{
echo htmlspecialchars($str);
}
0441nobodyさん
04/04/27 18:30ID:???my_echo($str);
function my_echo($str)
{
echo htmlspecialchars($str);
}
0442nobodyさん
04/04/27 19:06ID:0/nuV2X8偶に"http//hoge/?top"みたいなアドレスのものがありますが、
これの取得または有無を簡単にできる手段はありませんか?
予測される物全部をis_nullで調べていたんですが
もっとスマートにできればなと思いまして・・・
0443nobodyさん
04/04/27 19:07ID:0/nuV2X8>偶に"http//hoge/?top"みたいなアドレスのものがありますが、
>これ"?top"の部分の取得または有無を簡単にできる手段はありませんか?
0444nobodyさん
04/04/27 19:23ID:???0446nobodyさん
04/04/27 19:53ID:???isset($_SERVER['QUERY_STRING'])
だろ・・・
0447nobodyさん
04/04/27 20:31ID:???$str = sprintf("%d%", 100); //"100%"を期待
%のエスケープってできましたっけ?
0448nobodyさん
04/04/27 20:43ID:???あ 有り難うございます。
>444-445
説明が悪くてすいませんでした。
0449nobodyさん
04/04/27 20:44ID:???$str = sprintf("%d%%", 100);
だと思います。
0451nobodyさん
04/04/27 21:36ID:+FvBbqtX例えば test.phpなら
<table><tr><td>
<?php include "test.php";?>
</td></tr></table>
でテーブル内にtest.phpの出力ができるようですが、
Perl-cgiですと、どうすればできるでしょうか?
<?php include "test.cgi";?>
や
<?php header("Locatin:http//・・・/test.cgi");?>
では、駄目でした。
0452nobodyさん
04/04/27 21:39ID:???0453nobodyさん
04/04/27 21:39ID:???0454nobodyさん
04/04/27 21:52ID:hpcGtt+eどうやって拾えばいいの?$_GETをどうせぇと?
0455nobodyさん
04/04/27 21:56ID:???http://ahya.org/aiueo/?a=1mode=all&exec=true
echo $_SERVER['QUERY_STRING']; //a=1mode=all&exec=true
echo $_REQUEST['a']; //1
echo $_REQUEST['mode']; //all
echo $_REQUEST['exec']; //true
$_REQUESTはGET,POSTどちらのメソッドの場合でもおk
$_GETはGETの時のみね
$_POSTはPOST〃
0456nobodyさん
04/04/27 22:04ID:???折角URLまで書いていただいてありがたいのですが404ですた…。
正直説明するのも骨が折れると思われるので、誘導して頂けません?
0458nobodyさん
04/04/27 22:04ID:+FvBbqtX出力が出ないです。空白のままのようです。
ちなみに、includeではtest.cgiのテキストが表示されました。
0460nobodyさん
04/04/27 22:06ID:???いや・・・
”例え”だよ
しかもphp省略しちゃって分かりにくかったかな
http://ahya.org/aiueo/test.php?a=1&mode=all&exec=true
test.php
<?php
echo $_SERVER['QUERY_STRING']; //a=1mode=all&exec=true
echo $_REQUEST['a']; //1
echo $_REQUEST['mode']; //all
echo $_REQUEST['exec']; //true
?>
>>457
&忘れてた、、スマソ
■ このスレッドは過去ログ倉庫に格納されています