【PHP】下らねぇ質問はここに書き込みやがれ 65
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2008/02/24(日) 21:03:17ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2008/02/24(日) 21:03:50ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
0003nobodyさん
2008/02/24(日) 21:04:03ID:???11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
0004nobodyさん
2008/02/24(日) 21:04:16ID:???21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0005nobodyさん
2008/02/24(日) 21:04:30ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
(以下英語)
■Smarty http://smarty.php.net/
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0006nobodyさん
2008/02/24(日) 21:05:01ID:???【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
【PHP】下らねぇ質問はここに書き込みやがれ 59
http://pc11.2ch.net/test/read.cgi/php/1195204145/
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/
0007nobodyさん
2008/02/24(日) 21:23:37ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0008nobodyさん
2008/02/24(日) 23:43:55ID:u17cTLydredhat 8
apache 2.0.40
PHP Version 4.2.2
下記のようにメインルーチンでfopenをして、そのファイルハンドラを
関数に引き継いだ場合、関数側でそのファイルハンドラに対して、書き込みができないのですが、
これは仕様でしょうか?
//メインルーチン
<?
if (!($fno = fopen("dbg.txt", 'w'))) {
die;}
//関数コール
Au($fno);
//関数
function Au($fno){
fputs($fno, hoge);
}
fclose($fno);
?>
00108
2008/02/25(月) 00:18:18ID:67ayJX2Z逆にパラメータの引き継ぎをしなければ、ファイルアクセスできないのですか?
0011nobodyさん
2008/02/25(月) 00:23:45ID:???直近のファイルポインタに対して書き込みたいとかってーなら
クラス化とかして俺俺クラス作れば良い
00128
2008/02/25(月) 00:30:18ID:67ayJX2Z了解しました
サンクス子
0013nobodyさん
2008/02/25(月) 00:44:33ID:???http://pc11.2ch.net/test/read.cgi/php/1202536271/
0014nobodyさん
2008/02/25(月) 00:45:30ID:???シュッ
シュッ ハ,,ハ シュッ
ハ,,ハ彡( ゚ω゚ ),ハ
( ゚ω゚ )彡ミ( ゚ω゚ ) お断りします
_(__つ/ ̄ ̄ ̄/_
\/ /
0015nobodyさん
2008/02/25(月) 12:05:43ID:???, 二¨-―-- 、`丶、
/_ ..-――-.. 、十ヽ\
//::.::,:.:.:./::/::.::.l::.::`ヽ、\ヽ
〃::/:::/:.:.:/::/::.:/::|::.:、:.::.::ヽ ハ `、
l::.:::l:: ,':l:::/::/::.:/::;小:::l::ト、::.:V l ヽ
{::.:::|:::l::|::l::/::.:/::/:/:_j⊥l::ヽ:!} \
. ハ::.::l:::|┼く:/::/ /'´ノ ヽ:∨::.:l | /
〈 l::.:|:::l::|∠、ノ , =≡V::.::/|/
ヽヘ::ヽ::V⌒゙ , "゙ / :::,' l〔 下らねぇ質問は
/rヘ::\ ゛゛ rーヘ 彡: / /:::Y⌒i ここに書き込みやがれ
l冫/ }`ヽミヽ、ヽ、ノ, イ:`7十/::.::.:l | ですぅ
// /:::_rヘ_`二√ __〉/ レヘ::} |
// ,'/夕r==、∨---/、/ f==ミフ 厂ト、
. // 〃r7,イ| >トマ ̄〉 7ヽ厶ィ {ヽ 」__/ / 〉
, -‐'7/ /:.rク/ {ニ=彳/ ハ ∨, / ̄:{八_‐-┴勹
/ / /: :/7/ /,イ/ / /、/_ /: : : :|:厶 `^´ 人
ヽ冫< / {: : :Y〈__ //〃 ,' / 7ヽ ,仆、: : :|| : :`¨¨´: :冫、
0017nobodyさん
2008/02/25(月) 19:54:35ID:VX5+CaAR他にグラフを出力する良い方法はありませんか?
CSSとかHTMLのimg要素を使って、HTMLのソースを動的に出力する方法しか思い浮かびません。
他にもっと何か方法があれば教えてください。
0019nobodyさん
2008/02/25(月) 20:01:45ID:igqyKmSzheader()関数の前でechoとかで文字列を出力しています。
仕様上header()関数の前でechoで出力しているもの(テンプレートのヘッダー)は出力しないようにするのは無理なんですが、
header()関数が呼び出されたらheader情報をクリアしてからheader()関数を実行するようにはできないでしょうか?
0021nobodyさん
2008/02/25(月) 20:09:46ID:igqyKmSzテンプレート側で、ヘッダーとフッターを標準で出力するようにしています。
ボディーが動的に変わるようにしており、問題が起こっているところがボディーで呼び出しているheader関数のところなんです。
仕様を見直したほうが、ということは、作り直しということですか?
0022nobodyさん
2008/02/25(月) 20:13:05ID:???ところでそういう「ヘッダー+コンテンツ+フッター」じゃなくて
「総枠組み+コンテンツ」とかいう方式なんて言ったっけ?そっちのほうがいいんじゃね。
0023nobodyさん
2008/02/25(月) 20:16:13ID:???http://jp.php.net/manual/ja/ref.outcontrol.php
仕様上出力しないようにするのが無理なら無理だけどな
0025nobodyさん
2008/02/25(月) 20:44:03ID:igqyKmSzありがとうございます。
ちょっとサーバの設定を見直してみます。
>>24
header()関数で出力しているものはサーバ上のファイルです。
header ("Content-Disposition: attachment; filename=".$file);
header ("Content-type: application/octet-stream")
readfile ("file/".$file);
exit;
上記を実行する前にテンプレート側のヘッダーを呼び出してしまっているので、
ダウンロードするデータの中にはテンプレート(ヘッダー)+ダウンロードファイルとなってしまっている状態です。
002625
2008/02/25(月) 21:29:37ID:???回答して下さった方々、ありがとうございました。
0027nobodyさん
2008/02/25(月) 21:33:03ID:???mbstring.strict_encodingというのは何なんですか?
0029nobodyさん
2008/02/26(火) 22:39:54ID:AjWFGOA4そのレスポンスコードを判別する方法はありますか?
0031nobodyさん
2008/02/27(水) 06:04:23ID:1t015U4G・ドメインは異なる
この場合、Aにログインした状態でBにアクセスすると自動的にログインが
行われるようにしたいのですが、どのようにしたらいいのでしょうか?
よろしくお願いします。
003331
2008/02/27(水) 07:34:17ID:???ありがとうございます。
重ねてすみませんが、DBにセッションを格納する場合、
ドメインが違うとsession_idが異なってしまうみたいなのですが
どうしたらいいのでしょう、、、
0034nobodyさん
2008/02/27(水) 08:01:59ID:???0035nobodyさん
2008/02/27(水) 08:16:25ID:sItN3geEあるディレクトリに特定の文字列で名前が始まるJPGがあるか確認したいんですが
どうしたらいいでしょう?
20080227_100で始まるファイル名を例にして教えてください
よろしくお願いします
0040nobodyさん
2008/02/27(水) 09:38:03ID:???0042nobodyさん
2008/02/27(水) 12:06:56ID:YQJ5tlSlスクリプトが実行されている間はいつでも取得できるのですか?
0043nobodyさん
2008/02/27(水) 12:15:22ID:???0044nobodyさん
2008/02/27(水) 13:16:40ID:???という関数に対して、
foo($obj); と foo(&$obj); で
呼び出すのでは結果が違うんですね。
意味がわかりません。
0045nobodyさん
2008/02/27(水) 13:22:18ID:???同じに見えるけど、どう結果が違うの?
PHP5.2 WinXP
class Boo {}
$obj1 = new Boo();
foo($obj1);
print_r($obj1);
$obj2 = new Boo();
foo(&$obj2);
print_r($obj2);
function foo(&$obj) {
$obj->data = 123;
}
0047nobodyさん
2008/02/27(水) 13:41:47ID:???でも呼び出す側でfoo(&$obj);ってする事は
無いと思うんだけど
0048nobodyさん
2008/02/27(水) 14:34:18ID:???PHP4ね。フレームワークでいろいろ実行される一部分の処理だから
具体的にどこが問題なのかわからないや。
0049nobodyさん
2008/02/27(水) 15:20:59ID:???PHP4でoverloadを使ったとき(多くのクラスで使われている)の問題。
バグなのか仕様なのかわからんけど。
class A extends overloadable {
function foo(&$obj) {
$obj->value=2;
}
}
class B {}
$a = new A();
$b = new B();
$b->value=1;
$a->foo($b);
print_r($b);
これを実行すると1が表示される。
$a->foo($b); を $a->foo(&$b) ; に変更すると
2が表示される
0050nobodyさん
2008/02/27(水) 15:33:09ID:???これと似たような問題?バグであり回避は不可能なのかな?
php4で overload() して __call() を定義するとリファレンスで返せなくなる?
http://blog.livedoor.jp/a_day_in_the_radio/archives/50660248.html
class A {
function foo(&$obj) {
$obj->value=2;
}
function __call($method, $params, &$return) {
return true;
}
}
overload('A');
class B {}
$a = new A();
$b = new B();
$b->value=1;
$a->foo($b);
print_r($b);
0051nobodyさん
2008/02/27(水) 15:37:55ID:lCPSweHG(長文なので3つに分けます。コード部分は2つです。すいません)
コードをさらします。UTF-8で保存してください。
session_start();
if(!isset($_SESSION['test'])){
$_SESSION['test'] = array(
array("name"=>"ほげ","age"=>32,"date"=>"2008-02-27 13:03:24.999999"),
array("name"=>"ふが","age"=>23,"date"=>"2008-02-27 13:03:24.333333"),
array("name"=>"おおおええええ","age"=>23,"date"=>"2008-02-27 13:03:24.999999"),
array("name"=>"文字化け","age"=>25,"date"=>"2008-02-27 13:03:24.333333"),
array("name"=>"最新","age"=>26,"date"=>"2008-02-27 13:03:24.111111"),
array("name"=>"ぼえぼえ","age"=>32,"date"=>"2008-02-27 13:03:24.666666"),
array("name"=>"おろろろ","age"=>25,"date"=>"2008-02-27 13:03:24.111111"),
array("name"=>"おえ","age"=>26,"date"=>"2008-02-27 13:03:24.666666"),
);
}
$order = array("age"=>SORT_DESC,"date"=>SORT_ASC);
_2KeySort($_SESSION['test'], $order);
$temp = $_SESSION['test'];
foreach($temp as $key=>$value){
$value['name'] = mb_convert_encoding($value['name'], 'SJIS', 'UTF-8');
$temp[$key] = $value;
}
echo "<pre>";
print_r($temp);
echo "</pre>";
echo "<pre style='background-color:#EEEEEE;'>";
print_r($_SESSION);
echo "</pre>";
//続く>>
005251
2008/02/27(水) 15:38:37ID:lCPSweHGfunction _2KeySort(array &$array, array &$columns_order){
$array_sort = array();
$array_order = array();
$i=0;
foreach($columns_order as $column => &$order){
if(!array_key_exists($column,reset($array))){
require_once 'Sd/Exception.php';
throw new Sd_Exception("ソートに指定されたキー[{$column}]がありません。");
}
foreach ($array as $key => &$row)
$array_sort[$i][] = $row[$column];
$array_order[$i] = $order;
++$i;
}
array_multisort($array_sort[0], $array_order[0], $array_sort[1], $array_order[1], $array);
}
005351
2008/02/27(水) 15:39:26ID:???@まず、セッションに配列を保存。
Aセッションの配列をソート
Bセッションを別の変数に代入し文字コードを変換。
C代入した変数とセッションを表示
という流れです。
なぜか、セッションのデータも文字コードが変わってしまいます。しかも、全部ではありません。うちの環境では「おえ
」だけがUTF-8のままです。なので、表示の度に、めちゃめちゃに文字化けしていきます。
ちなみに、ソートする関数をコメントアウトすると、セッションの文字コードは変わらなくなります。
$temp = $_SESSION['test']というのは参照ではなく値のコピーですよね?
ソートする関数で、参照渡しにしなくていいところもありそうですが、それ以前に、セッションの文字コードに影響が出るのはおかしくないでしょうか?
実際には、Zend_Frameworkと、出力部分にSmartyを使用した、そこそこ大きなアプリで起こったことなのですが、
いろいろ試して、やっとここまで問題を切り分けました。
ソートする関数の参照渡しをやめるか、セッションに保存する前にSJISに変換して、出力の度に変換するのをやめれば
この問題は解決できるのですが、根本的な解決というか、理解になっていないので、気になります。たすけてください。
PHP Version 5.1.6です。
長文すいません。
0054nobodyさん
2008/02/27(水) 15:47:14ID:???わざわざ回答者が全部見ると思う?
005551
2008/02/27(水) 16:05:29ID:???ソートする関数内で、
array_multisortの為に、ソート対象カラムの配列を作るところのforeachで
foreach ($array as $key => &$row)
を
foreach ($array as $key => $row)
と参照をやめると、文字化けしないようです。
ここはソート対象カラムの配列のために、代入してる場所なので参照にする必要はなかったです。
なんかarray_multisortまわりか、参照渡しのバグっぽくないですか?
>>54
すいません。
これでもかなり問題を切り分けて、まとめて、要点のみ書いたんです。
ソースをそのまま実行できるように書いたほうが、いいのかなあ、なんて・・
せめて、53を最初に書いたほうがよかったかな。
読むのうざいと思いますが、そこを何とかお願いします
0056nobodyさん
2008/02/27(水) 16:06:20ID:???たぶんmb_convert_encoding出来て無いんだと思う。
mb_language('Japanese');
$value['name'] = mb_convert_encoding($value['name'], 'SJIS', 'auto');
こうするとどうなる?
0057nobodyさん
2008/02/27(水) 16:09:21ID:???ってか、なんでまたID隠し始めたんだ?51は
>>55
> なんかarray_multisortまわりか、参照渡しのバグっぽくないですか?
自分のソースをまず疑え
とPHPのえらい人が言ってました
どこで文字化けが起きてるかprint_rなどで各場所で文字化けがおきていないかチェックしたら?
0059nobodyさん
2008/02/27(水) 16:48:18ID:???生きてて恥ずかしくないか?
0060nobodyさん
2008/02/27(水) 17:05:32ID:???k 高生
?
0061nobodyさん
2008/02/27(水) 17:06:25ID:???0063nobodyさん
2008/02/27(水) 17:31:36ID:???0066nobodyさん
2008/02/27(水) 18:03:18ID:n+zWmSsJapache 2.2
PHP Version 5.25
ttp://www.standpower.com/php_environment2.html
↑ここを見て導入しました。
ファイル名 info.php
<?php
$hello="Hello World";
print ($hello);
?>
を作って
http://localhost/info.php
を見てみると、「このファイルをダウンロードしますか?」となってinfo.phpをダウンロード
するかどうかのウィンドウが出てきます。どこか間違っているのでしょうか。
0067nobodyさん
2008/02/27(水) 18:06:22ID:???0068nobodyさん
2008/02/27(水) 18:14:24ID:???007051
2008/02/27(水) 18:29:48ID:lCPSweHG$value['name'] = 'hogehoge';
でも元のセッションが変わってしまします。(同じく一部を除いて)
>>57
文字コードを変換してるforeachのなかで、元のセッションかわちゃってます。
IDは隠したわけじゃなく、連続で上げたら怒られるかなとおもって、sageにしちゃいました。
ためしに5.2.5が入ってるサーバーで試したら元のセッションは一切変わらず、問題なく動きました。
サーバーの設定かもしれませんが、基本php.iniはデフォルトのままで、.htaccessで設定してるので
見比べた感じ原因と思われるような違いはありません・・・
0071nobodyさん
2008/02/27(水) 18:38:00ID:???sessionファイルをtmpから引きずり出して覗いて見るのは、さすがにキツい?
0072nobodyさん
2008/02/27(水) 20:26:06ID:???ログファイルを使ったページ分割のロジックはどういうものなんでしょうか?
記事数を1ページ辺りの記事表示数で割って表示しますよね。
その後の前のページに戻るとかのロジックがまったくよくわかりません。
スーパーグローバル関数のGETとか使うんですよね?
0075nobodyさん
2008/02/27(水) 21:25:22ID:???ここなんですがユーザー関数とかに構造が分離されてて
自分の作りたいモノに流用すると複雑怪奇になりすぎて・・・
0076nobodyさん
2008/02/27(水) 22:10:24ID:???そういう話じゃない?
全74件あって10件ずつ表示するなら、ページ5でリクエストが来たら41〜50件目の内容を、ページ4では31〜40件目の内容を取得すればいい。
ページごとに独立して考えればそんなに難しくないと思うけども。
0077nobodyさん
2008/02/27(水) 22:17:53ID:???書き方がよく・・・・・・・
すべての投稿数数えて一ページあたりの表示数で割って
それから具体的にどうするんでしたっけ?
単に基礎知識足りなさ過ぎるだけなのか
頭が猛烈に足りないのか・・・・・・
htmlなら直感的にイメージ出切るぐらいまでそこそこわかるんですが
こういう二重、三重のロジックだとどうしても思考停止状態に陥ってしまうんですよね・・
0078nobodyさん
2008/02/27(水) 22:27:56ID:???全体の投稿数を1ページ辺りの投稿数で割り余り分のためにページをプラス1して
表示するんですよね?
今度は表示したリンクをクリックした後に該当の投稿行をピックアップするように
またプログラムを用意すると・・・・あああ、ややこしい。
0079nobodyさん
2008/02/27(水) 22:35:21ID:???0080nobodyさん
2008/02/27(水) 22:36:30ID:???直感的なデザイン畑の人間ですし・・・・・
0081nobodyさん
2008/02/27(水) 22:38:42ID:???0083nobodyさん
2008/02/27(水) 22:41:49ID:???$page = $_GET['page'] ? $_GET['page'] : 1;
$all = countArticles();
$one = 10;
$start = ($page - 1) * $one + 1;
$end = $page * $one;
$articles = getArticles($start, $end);
こんな感じ?検証してないけど
0084nobodyさん
2008/02/27(水) 22:51:20ID:???echo "<p>総記事数は $all 件です</p>";
echo "<p>全部で $allPages ページあります</p>";
echo "<p>現在 $start 件目〜 $end 件目を表示しています</p>";
for($i=1; $i<$all; $i+=10){
if ($i == $page) {
echo '<a href="?page='.$i.'">['.$i.'] </a>';
} else {
echo '['.$i.'] ';
}
}
ついでにこんな感じ
0085nobodyさん
2008/02/27(水) 22:56:10ID:rbJ5iPpDphp4.3のGD入ってます
一旦ファイルに保存してimagecreatefromjpegとかするしかないのでしょうか。
そんな馬鹿な。
0086nobodyさん
2008/02/27(水) 22:56:22ID:???for($i=1; $i <= $allPages; $i++){
でokだ。
全ページ数を使わないで出力するなら$iのインクリメント用と記事数比較用の2変数使えばできる。まぁ蛇足だが。
0088nobodyさん
2008/02/27(水) 22:59:30ID:rbJ5iPpDimagecreatefromstring
これでいい気がしてきた。
0089nobodyさん
2008/02/27(水) 23:17:29ID:???0090nobodyさん
2008/02/28(木) 00:03:25ID:???PHP5
で、次のアップロードスクリプトを設置しています。
http://hellogirls.myphotos.cc/hellogirls/manual/index.html
Suite2 PHP4の時は問題なく動作していたのですが、SuiteXにしたらアップロードファイルにつけるコメントに日本語が含まれていると文字化けするようになりました。
色々、調べてみましたがちんぷんかんぷんで解決策がわかりません。
この辺りのソースをいじれば良さそうな気がするのですが…
どなたかアドバイスやヒントでもいいのでいただけないでしょうか。
PHPやCGIの設置はできるけど、プログラムの具体的なことは何も理解できてません。
こんな私ですがどうかよろしくお願いします。
コメント
<input type="text" size="45" name="com" value="'.($c_comu ? $input_comment : '').'">
//ファイルリスト表示
if($c_com) echo '<td class="column_comment">'.$com.'</td>';
//項目読み取り
list($id,$ext,$com,$host,$now,$size,$mtype,,$orig,,$img_width,$img_height) = explode("\t",$logline);
0091nobodyさん
2008/02/28(木) 00:13:47ID:???めんどくさいから見てないけど少なくとも出されてるソースは関係ない。
スクリプト改造依頼スレがあるからそっちいくよろし。
http://pc11.2ch.net/test/read.cgi/php/1157787046/
http://pc11.2ch.net/test/read.cgi/php/1143834740/
この辺かな
0092nobodyさん
2008/02/28(木) 00:22:13ID:???改造スレに行ったら、それは改造ではなくPHPの仕様の問題だからPHPスレで聞けと言われそうです。
0093nobodyさん
2008/02/28(木) 00:46:33ID:???PHP4.4.x(PHP5では動作確認していません)
と書いてあるので諦めろ……
ソースみたけど、PHP4に依存してる場所はなさそうだったけどね。
form_upload_file.phpをいじってるのなら、文字コードがSJISになっていないか確認。
きちんとEUC-JPになっているか?
ログファイルをエディタで開いて見て、EUC-JPで文字化けしないかどうか。
そのあたり確認して報告しろ。 寝るのでまた明日。
0094nobodyさん
2008/02/28(木) 06:33:06ID:???form_upload_file.phpはEUC-JPになっていました。
ログファイルを確認したところ、日本語で文字化けしているコメント部分もログファイルではまだ文字化けしていませんでした。
ログファイルを読み出して表示するまでの過程で文字化けがおこっているようです。
0095nobodyさん
2008/02/28(木) 09:55:35ID:OSai0GdGdebug_backtrace();の部分で、エラーが出ます。
数万〜数十万ほどINSERTを繰り返すループなのですが・・・
0096nobodyさん
2008/02/28(木) 11:14:01ID:hOKfamSRCentOS5のディストリビューションを使って環境構築したのですが、画像やファイル情報をphpを使用して、PostgreSQLにbyteaでコミットをする時にmemory_limitが不足する現象が起きています。
<確認している現象>
・2MBの画像のコミット時にはmemory_limitに53MB以上が必要
・4MBの場合は、128MB以上
・8MBの場合は、400MB以上
といった具合です。
<環境>
OS :CentOS5
WEB:Apache/2.2.3 (CentOS)
PHP:PHP Version 5.1.6
DB :PostgreSQL8.1.9
windowsやRedhatで同じphpなどで構成し、モジュールを実行した際には8MBのファイルでもデフォルトのmemory_limitの設定である16MBで問題なくコミットできました。
他の環境でも検証していきますが、この原因って何が考えられますでしょうか。
0097nobodyさん
2008/02/28(木) 11:50:28ID:???$word = $_GET[WORD];
$word = mb_convert_encoding($word,"SJIS","UTF-8");
PHP5(WebARENA SuiteX)なのですが、大部分はこれでデータの受け渡しは問題あり
ません。
しかし、"90's"を受け渡す際に"90\'s"になってしまいます。stripslashesを使え
ば解決できることはできるのですが、今度はこれを使うと"ソニー"を受け渡す際
に文字化けしてしまいます。
"90's"も"ソニー"も問題なく受け渡す方法を教えていただけないでしょうか。
009997
2008/02/28(木) 11:59:15ID:AxRhgNfU申し訳ない。「自分のIDを表示させること。」というのを見逃してました。
0100nobodyさん
2008/02/28(木) 12:00:27ID:???php.iniの設定でクオートが自動でされる設定になってるんじゃまいか?
auto_magic_quoteだっけ?
0101nobodyさん
2008/02/28(木) 12:02:50ID:z722MoHc現在の評価は
Good![2] Bad![0]
的なPHPってどんな仕組みなんだろ・・・
0102nobodyさん
2008/02/28(木) 12:12:19ID:AxRhgNfU何かプログラム的に逃げる手があればいいのですが…。
0103nobodyさん
2008/02/28(木) 12:13:59ID:???0104nobodyさん
2008/02/28(木) 12:49:43ID:???magic quotes gpc じゃないか?
>>103
>magic_quotes_gpcは 実行時にセットしても反映されないことに 留意してください。
って書いてあるけど、できるの?
http://www.php.net/manual/ja/function.get-magic-quotes-gpc.php
stripslashes してから UTF-8に変換しても化けるのかな?よくわからん。
0105nobodyさん
2008/02/28(木) 12:53:22ID:???不安だったらhtaccessで設定すればいいし・・・
0106nobodyさん
2008/02/28(木) 12:57:37ID:???受け取る前っていつ?
PHPのモジュールが呼び出された時点では $_GET / $_POST に値が設定されてるんじゃないの?
0107nobodyさん
2008/02/28(木) 13:15:22ID:???ini_set('magic_quotes_gpc', 'Off');
print_r($_GET);
マニュアル見ると
magic_quotes_gpc
PHP_INI_PERDIR
PHP <= 4.2.3 では PHP_INI_ALL。PHP 6.0.0 で削除。
http://jp2.php.net/manual/ja/ini.php#ini.list
ってなってるけど、PHP4はPHP_INI_ALLだから出来たという事なのかな。
値の参照時にでも処理してたんだろうか。これもよくわからん。
0108nobodyさん
2008/02/28(木) 13:16:55ID:AxRhgNfU>>103
その発想なかったです。試してみますね。
>>104
順番を変えるのもちょっとやってみますね。
>>105 >>106
受け渡し前はごく普通のHTMLです。
<form action="XXXX.php" method="get" name="form1">
<input type="text" name="WORD">
モジュールが呼び足された時点で値が設定されてしまいますね。
0109nobodyさん
2008/02/28(木) 13:22:10ID:AxRhgNfUPHP4(WebARENA Suite2)の時にはこれだけで動いてました。
$word = $_GET[WORD];
$word = stripslashes($word);
文字化けもなく不要な"\"も出てきませんでした。PHP4では逆にmb_convert_encoding
でエンコード変換すると文字化けしてしまってました。
0110nobodyさん
2008/02/28(木) 15:48:07ID:SiLzRmwxサーバはEUCなので、
mb_language("Japanese");
mb_internal_encoding("EUC-JP");
という指定を入れています。どうしてこうなるのでしょうか?
0111nobodyさん
2008/02/28(木) 15:49:46ID:???0112110
2008/02/28(木) 16:01:23ID:SiLzRmwx改行コードを取り除くのに、↓を入れたのですが、特に変わりません。。
$body = str_replace("\r", "\n", str_replace("\r\n", "\n", $body));
0113nobodyさん
2008/02/28(木) 16:07:18ID:???取り除いてねーじゃん
置き換えてるだけじゃねーか
str_replace(array("\r\n", "\r", "\n"), "[改行]", $body);
みたいにして、BODYの中での改行なのか他で改行入ってるのか調べてみれ
0115nobodyさん
2008/02/28(木) 18:41:37ID:???0116nobodyさん
2008/02/28(木) 19:31:54ID:???HTMLとPHPとがまじったファイルがあるんですけど、シンタックスエラーがでます。
どうやら '}' をひとつ抜かしてしまったみたいなんですが、どこで抜かしてしまったかがエラーメッセージからは分かりません。
ファイルはHTMLとPHPとが混ざった500行を超えるファイルです。
正直、どうやって探せばいいのかわかりません。
こんなとき、みなさんどうしてますか。
0117nobodyさん
2008/02/28(木) 19:34:58ID:???0118nobodyさん
2008/02/28(木) 19:36:01ID:???0119108
2008/02/28(木) 19:53:20ID:s0/KCSkK108ですが家に帰ってきました。
そして、順番を変えてmb_convert_encodingの前にstripslashes置いたら
ちゃんと動作するようになりました!
$word = $_GET[WORD];
$word = stripslashes($word);
$word = mb_convert_encoding($word,"SJIS","UTF-8");
104さん本当にありがとうございました。
あと他にコメントいただいた皆さんもありがとうございました。
0120nobodyさん
2008/02/28(木) 20:22:44ID:???ファイルから PHP だけを抜き出して調べるというのはどう?
ttp://d.hatena.ne.jp/kwatch/20080225/
HTMLとPHPが入り交じっているから見つけるのが難しいのであって、HTMLを消してPHPだけにできれば、けっこう簡単に見つかるかもよ。
0121nobodyさん
2008/02/28(木) 21:00:56ID:UIzvtCsyPHP5.1.6で以下のコードを書いたときの疑問です。
class Stack {
public function getInstance() {
return new Stack();
}
}
$stack = Stack::getInstance();
の様に、static宣言されずに::を使ってメソッドにアクセスできるのはなぜですか?
0123nobodyさん
2008/02/28(木) 21:03:18ID:???PHP4との互換性のため。
ただしstaticつけると Stack::getInstance() はOKでも $stack->getInstance() はエラー。
0124nobodyさん
2008/02/28(木) 21:06:14ID:UIzvtCsyそれは日ごろ確かに感じます。こだわりがないって。
>>123
staticをつけなくてもstaticに呼び出されているんですか?
0125nobodyさん
2008/02/28(木) 21:23:56ID:???0126nobodyさん
2008/02/28(木) 21:42:59ID:???150個のログ以上は消すと言うロジックはみなさんどうしてます?
file()で全ログ格納してからarray_unshiftで新しい内容を挿入、
その後forを使って何かするんでしょうけどそこが具体的によくわかりません。
>>84
ありがとうございます、
おかげさまでできました。
本当に感謝です。
0127nobodyさん
2008/02/28(木) 21:52:28ID:???>staticをつけなくてもstaticに呼び出されているんですか?
yes
PHPでは static に呼び出すのも、static じゃない呼び出しも、どっちも同じ。
たんに、static な呼び出しだと $this にアクセスできないというだけ。
0128nobodyさん
2008/02/28(木) 22:11:56ID:???0129nobodyさん
2008/02/28(木) 23:06:49ID:CZGTxiZsPHP 5.2.3
class foo
{
var $buf = null;
function foo() { $this->buf = 100; }
function static_func() { return 100; }
function member_func() { return $this->buf; }
}
-- call foo::static_func 10000 * 1000
min: 0.0476429462433
max: 0.0605020523071
ave: 48.9423131943
-- call foo->member_func 10000 * 1000
min: 0.0209789276123
max: 0.0423769950867
ave: 21.8284888268
なんで?
0130nobodyさん
2008/02/28(木) 23:42:39ID:psOQg9xE仕様なんですか?
0131nobodyさん
2008/02/29(金) 00:07:06ID:???magic_quote_gpcとかregister_globalsとか
過去の遺産も簡易FAQに入れたがいいのかなぁとか思った。
個人的には今更そういう設定のサーバがあること自体が不思議なんだけど
99を見る限りまだ生きてるっぽいし
逆に、そういう動作があるっていうのを知らない人が増えてきた今だからこそ
問題だとか思うんだ。
というわけで解説よろしく
↓
0132nobodyさん
2008/02/29(金) 00:15:13ID:???>個人的には今更そういう設定のサーバがあること自体が不思議なんだけど
PHP5 では magic_quote_gpc はデフォルトで On だからなぁ。
0133nobodyさん
2008/02/29(金) 00:20:59ID:???magic_quote_gpcというものがあって、
これがONであるとPOSTとかGETの中身は渡された先で勝手にクオートされます。
面倒なのは、同じスクリプトでもサーバーのPHPの設定によって
挙動が異なってしまうことです。
これを防ぐためには、
自サバならばPHP.iniのmagic_quote_gpcをoffにしてください。
そうでないならば、
$_POST,$_GET配列をまず最初に処理する関数を作り、その中に
if(get_magic_quote_gpc()){
として、各要素をstrip処理すれば良いと思います。
ini_set()はなにやらオススメできないようです。
0134nobodyさん
2008/02/29(金) 00:26:04ID:???0136nobodyさん
2008/02/29(金) 00:39:04ID:???0137nobodyさん
2008/02/29(金) 00:44:55ID:???Uncaught exception 'PDOException' with message
'SQLSTATE[HY000]:
General error: 2014
Cannot execute queries while other unbuffered queries are active.
Consider using PDOStatement::fetchAll().
Alternatively, if your code is only ever going to run against mysql,
you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.'
と言われます。
0138nobodyさん
2008/02/29(金) 00:46:34ID:???0139nobodyさん
2008/02/29(金) 00:47:38ID:???0140nobodyさん
2008/02/29(金) 00:50:06ID:lB4w3WIe誰もPDO使ったことないってことか?
そこをfetchAll()にすると直るんだけど、
fetchAllって名前から想像つくと思うけど全行読むから
メモリもったいないかと思って。
0141132
2008/02/29(金) 01:06:54ID:???偉いっ!!すばらしいっ!!結婚して!!!当方マンションもち。
もっと単純に
自分でPHP.ini触れるんならmagic_quote_gpcはoff
触れないんだったら全てのスクリプトで(なんだっけ)せれ
質問はその後だ
みたいに強制的でもいいのかでもとか思った。
0142nobodyさん
2008/02/29(金) 01:42:07ID:???素晴らしい推論能力をお持ちのようで。
まぁそんなことはさておき、コード出してみたら?恐らく普通とは違う書き方してるんだろうし。
0143nobodyさん
2008/02/29(金) 02:06:51ID:lB4w3WIe$unko=$rs->fetch();
echo $unko["UNKONAME"];
$rs2=$db->query("SELECT UNKONAME FROM UNKOTABLE WHERE UNKO_ID=2");
$unko2=$rs2->fetch();
echo $unko2["UNKONAME"];
みたいな感じにSQLを2回やるとなんか怒られます。
fetchAllにして、1個しかない結果セットを$unko[0]["UNKONAME"]
とかやって取り出せるんだけどね。
0144nobodyさん
2008/02/29(金) 02:07:51ID:lB4w3WIe0145nobodyさん
2008/02/29(金) 02:23:09ID:???http://jp2.php.net/manual/ja/function.PDOStatement-closeCursor.php
0146nobodyさん
2008/02/29(金) 02:38:03ID:???PDO->query() を次にコールする前に 結果セット内の全てのデータを取得しない場合、そのコールは失敗します。
PDOStatement->closeCursor() をコールし、 次に PDO->query() をコールする前に PDOStatement オブジェクトに
関連付けられたリソースを解放してください。
0148nobodyさん
2008/02/29(金) 09:47:17ID:???○ Object::obj();
× $obj->obj();
○ $this->obj();
public
○ Object::obj();
○ $obj->obj();
○ $this->obj();
protected
× Object::obj();
○ $obj->obj();
○ $this->obj();
private
× Object::obj();
× $obj->obj();
○ $this->obj();
これでおk?
0149nobodyさん
2008/02/29(金) 10:50:21ID:???大体にしてメソッド名をobjにするなややこしい。
コンストラクタかと思うじゃねーか。
そもそもそういう理解の仕方じゃまずいぞ。
privateなメソッドというのは「class hoge{}の外からのアクセスは完全にNG」て意味。
中からなら$this->やObject::obj()でアクセス可能って意味だ。外から$thisなんてことはできないので$obj->objかObject::objを使うことになるけど、
それらのアクセスはprivateじゃ無理よってこと。
protectedは継承したクラスもアクセス可能という意味。だから、class fuga extends hoge{}はhogeのprotectedなメソッドを
$thisとかObject::objで扱うことができるってこった。だが当然インスタンス生成してのアクセスである$obj->objは不可能だし、
外部からのObject::objも不可能。
publicは外からのアクセスもできる。$thisだろうとObject::objだろうとOKだ。
staticは上記3つとは別な概念。上記3つは同時に存在できないが、こちらはpublic staticのように併存OKだ。
staticなメソッドは、「外部からそのクラスのインスタンス生成なしで呼び出すことのできるメソッド」
と言う意味。でも重要なのは「staticと指定したメソッドは、そのクラスのstaticでないプロパティや
メソッドを呼び出せない」ってこと。staticでないメソッドやプロパティを呼び出してるメソッドにstaticを設定すると
エラーが出るはず。staticなメソッドはぶっちゃけて言うと一般の関数と変わらない使い方ができる。
PHPみたいなゆるい言語においては微妙な存在ってこった。ただ、「こういう処理をする関数はここにまとめておこう」みたいなときに
使ったりするね。
0152nobodyさん
2008/02/29(金) 11:53:10ID:???書き込む処理をこの上でしてるんですが
それだと書き込みが重複した時にナンバーが同じ値になったりするのでしょうか?
削除に使うナンバーなのでなるべく厳密になるようにしたいのですが。
$data = "$no\t$name\t$comment\t$delkey\t$time\n";
$filename = ('card.txt');
$log = file($filename);
$handle = fopen($filename, "w");
flock($handle,LOCK_EX);
fwrite($handle,$data);
for($i=0; $i<150; $i++) {
fwrite($handle,$log[$i]);
}
flock($handle,LOCK_UN);
fclose($handle);
0154nobodyさん
2008/02/29(金) 12:26:21ID:???厳密にやるならデータベースを使う。
データベースが使えないなら、uniq_id()やmd5(microtime(true))で重複しない乱数で代用する。
0155nobodyさん
2008/02/29(金) 12:42:52ID:???0156nobodyさん
2008/02/29(金) 12:44:33ID:???多分私の扱える知識がないデータベース以外で精度が高いのは
これだと思うので。
これで作り出したIDが重複してないかファイル捜索するのは時間の無駄ですかね?
0158nobodyさん
2008/02/29(金) 12:49:40ID:???fopenする前にファイルロックできるんですか?
ちょっと最近勉強始めたのでよくわかってないのですが。
0159nobodyさん
2008/02/29(金) 12:54:20ID:???$filename = ('card.txt');
flock($filename,LOCK_EX);
$log = file($filename);
$no = explode("\t", $log[$i])
$data = "$no[0]\t$name\t$comment\t$delkey\t$time\n";
$handle = fopen($filename, "w");
fwrite($handle,$data);
for($i=0; $i<150; $i++) {
fwrite($handle,$log[$i]);
}
flock($handle,LOCK_UN);
fclose($handle);
0161nobodyさん
2008/02/29(金) 13:05:26ID:???1.ファイルオープン(a+)
2.ファイルロック
3.ファイル中の最新の番号を取得
4.番号を1増やす
5.新しい記事を追記
6.ファイルロック解除
7.ファイルクローズ
的な感じ。いつもDB使ってるからファイル関係はよく知らんけど。
0162nobodyさん
2008/02/29(金) 13:06:34ID:???fopen時にw以外で読み書き可能なものを選ぶと言うことか・・・・
でもそうするとログ追記型で過去ログ削除できなかったりとややこしい・・・・
>>160
それを元に乱数生成とかですよね、多分。
0165nobodyさん
2008/02/29(金) 15:56:02ID:SImzeFcn日本語文字列だと表示されません。
文字コードの設定だとは思いますがお教えください。
0166nobodyさん
2008/02/29(金) 15:58:43ID:???それ以上何を言えばいいんだ?
0167165
2008/02/29(金) 16:05:45ID:SImzeFcn文字コードの設定の仕方が分かりません。
現状では<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />
にしていますが文字化けしてしまいます。
shift_jisだと全てが文字化けしてしまいます・・。
0168nobodyさん
2008/02/29(金) 16:07:43ID:???0169nobodyさん
2008/02/29(金) 16:08:15ID:???0170nobodyさん
2008/02/29(金) 16:10:45ID:???その読み込む側のファイル晒して
>>168-169
お前らこのスレに向かないんじゃない?答える気もないなら来んなよ
0171167
2008/02/29(金) 16:14:27ID:SImzeFcn$url = "http://example.ex/";
// サイトネーム
$site_name = "日本語文字列";
// サイトサブタイトル
$sub_title = "日本語文字列";
// 現在時刻を取得
$time = getdate();
>>170
こんな感じで書いています。
0172nobodyさん
2008/02/29(金) 16:15:29ID:???0177nobodyさん
2008/02/29(金) 19:02:38ID:TvsAPhPQ.
○ .バックアップ
├ fo └○
│ ├ test2 ├ fo
│ │ ├ a.txt .. │ ├ test2
│ │ ├ b.txt .. │ │ ├ a.txt
│ │ └ c.txt .. │ │ ├ b.txt
│ └ testfile.txt │ │ └ c.txt
└ test.txt .. │ └ testfile.txt
└ test.txt
図1を図2のようにバックアップフォルダにコピーしたいのですが
よい方法はありませんでしょうか?
なにとぞご教授お願いします
0178nobodyさん
2008/02/29(金) 19:24:53ID:???0179nobodyさん
2008/02/29(金) 19:28:32ID:???0180nobodyさん
2008/02/29(金) 19:34:00ID:???http://jp2.php.net/manual/ja/ref.exec.php
0181nobodyさん
2008/02/29(金) 19:59:47ID:???0182nobodyさん
2008/02/29(金) 20:01:45ID:???define( "srcDir", "○" );
define( "dstDir", "バックアップ" );
dircopy( srcDir, dstDir );
function dircopy($srcdir, $dstdir, $verbose = false) {
$num = 0;
if(!is_dir($dstdir)) mkdir($dstdir);
if($curdir = opendir($srcdir)) {
while($file = readdir($curdir)) {
if($file != '.' && $file != '..') {
$srcfile = $srcdir . '\\' . $file;
$dstfile = $dstdir . '\\' . $file;
if(is_file($srcfile)) {
if(is_file($dstfile)) $ow = filemtime($srcfile) - filemtime($dstfile); else $ow = 1;
if($ow > 0) {
if($verbose) echo "Copying '$srcfile' to '$dstfile'...";
if(copy($srcfile, $dstfile)) {
touch($dstfile, filemtime($srcfile)); $num++;
if($verbose) echo "OK\n";}
else echo "Error: File '$srcfile' could not be copied!\n";}}
else if(is_dir($srcfile)) {
$num += dircopy($srcfile, $dstfile, $verbose);}}}closedir($curdir);}
return $num;}
?>
これでおkだろ
0184nobodyさん
2008/02/29(金) 21:51:10ID:???誤って、「root:localhost」を特権から削除してしまいphpMyAdminにアクセスできなくなってしまいました。
再インストールしても状況が戻らずどうしていいのか・・・
0187nobodyさん
2008/03/01(土) 00:11:45ID:???アンインストールは単なる削除か?
要は「システム」としてインストールしたMySQL(とかXAMPP)が
アンインストールされてないとお話にならないってわけだよ。
アンインストールしてなくてもroot権限でMySQLに入れるなら
GRANTとかで治るとおもうけど、
一応再インストールとか厄介なことしたわけだから、
完全にアンインストールすることを強く勧める。
で、
Windowsの コントロールパネル>管理ツール>サービス
を開き、その中にmysqlとかXAMPP Serviceってのはあるか?
0189nobodyさん
2008/03/01(土) 01:58:22ID:???0191nobodyさん
2008/03/01(土) 02:58:59ID:Nw5SqNkjユーザーが投稿する写真のサムネイルを表示したいと思っています。
私が読んでる参考書に表示スピードを考慮した画像縮小方法として、GDライブラリが紹介されていました。
しかしGDライブラリは指定したサイズに縮小するだけのように思えます。間違ってたらすいません。
投稿される写真のサイズはバラバラで、縦長の写真、横長の写真、正方形の写真など様々です。
縦長は縦長のまま、横長は横長のまま、正方形は正方形のままに縮小したい(mixiのマイミク一覧のよう
な感じ)のですが、一般的にはどうのように行っているのでしょうか?ヒントだけでもお願いします。
0192nobodyさん
2008/03/01(土) 03:47:22ID:???算数の素人さんですか
100x100を半分にすると50x50
100x200を半分にすると50x100
指定したサイズに縮小できたら十分。
0193nobodyさん
2008/03/01(土) 05:15:24ID:???どっちかの小さい方にあわせんだっけかな
0194nobodyさん
2008/03/01(土) 13:12:12ID:???横書き用フォントでは
カ
ー
ネ
ー
シ
ョ
ン
ってカンジに表示されてしまう
どうやったら縦書き用フォントが使えるんですか?
0197nobodyさん
2008/03/01(土) 13:42:39ID:???>>7よりググレカスの方が正しいかも
「GD フォント指定」でそれっぽいのが出てくるのに
悔しくて捨て台詞をいう程度のカスなんでしゃーないなぁ
0198191
2008/03/01(土) 14:01:50ID:Nw5SqNkjすいません、質問が悪かったと思います。
元の大きさがバラバラなので、ただ半分にしただけじゃ並べたときにデコボコになります。
縦横の比率を保ったまま、縮小後の大きさを大体同じ大きさにしたいのです。
200×100は1/2で100×50
400×400は1/4で100×100
250×500は1/5で50×100
というふうに大体100×100の枠に納めたいのですが、元の写真がどのサイズで来るか分かりません。
GDライブラリは試してないのですが、100×100へ縮小としてしまうと、正方形の写真以外は歪ん
でしまうんじゃないでしょうか?
歪ませずに大体100×100の大きさに納めるにはどうすれば良いでしょうか?
0199nobodyさん
2008/03/01(土) 14:03:57ID:???0201194
2008/03/01(土) 14:22:00ID:z6e/g20gちょwwwなにやってんだ
>>197
おれは196じゃないです
ID表示させとけばよかった
「GD 縦書き」とかで検索しても出なかったんで聞いてみたんです。
縦書きに切り替える関数とかあるのかな?
0202194
2008/03/01(土) 14:24:36ID:z6e/g20g0204nobodyさん
2008/03/01(土) 15:21:32ID:MLWBh96Tアップローダーを作っているのですが、
アップロードファイルのローカルパスの一部をファイル名と認識してしまい難儀しております。
入力フォームで
”C:\Documents and Settings\User\デスクトップ\sample.doc”
と入力して
$_FILES[ パラメータ名 ][ name ]で
ファイル名を抽出すると
”デスクトップ\\sample.doc”
とでてきてしまいます。
環境
PHP 5.2.5
Apache/1.3.41
対処法をご存じの方、ご教授をお願いします。
0205nobodyさん
2008/03/01(土) 16:27:41ID:SX7Jze++4択式のリアルタイムアンケートを作成したいのですがご教授ください
ページで投票してもらって
最終的に各回答の合計数がカンマ区切りの○○○.txtというデータで吐き出されればよいです。
ビジュアルとかはこだわりません。
0207nobodyさん
2008/03/01(土) 17:03:11ID:bS1QPxn9$url = "http://www.unko.com/unko.cgi?url=http://www.test.com/test.html?unko_id=12345";
ここから、http://www.test.com/test.htmlのみを取得したいのですがどのような関数を使えば良いでしょうか?
http://www.unko.com/unko.cgi?url= は固定されていますが、
?unko_id=12345 は ?oomoriunko_id=123 になったり ?geriunko_id=111111111 になったり
固定されていないものとする。
以上ぎょきょうじゅくださいお願いします
0208nobodyさん
2008/03/01(土) 17:07:45ID:???0209nobodyさん
2008/03/01(土) 17:12:33ID:bS1QPxn9ありがとうございます
なんとなく理解できました
あと書き忘れたのですがtest.htmlも固定されてません。
もう少し調べてみます
0210nobodyさん
2008/03/01(土) 18:50:49ID:???mysql_real_escape_string の違いについて、
後者は文字コードを考慮する、とマニュアルには記載されていますが、
結果として、
後者ではなく、前者を使用していると
脆弱性が発生したりするケースはあるのでしょうか。
0211nobodyさん
2008/03/01(土) 19:16:54ID:???亀ですみません。
root権限で入ろうと思いますが、その方法がわかりません。
差し支えなければ教えていただけませんか?
0214nobodyさん
2008/03/01(土) 20:03:33ID:???0217nobodyさん
2008/03/01(土) 20:46:29ID:???DB板行けよ
MySQL 総合 Part13
http://pc11.2ch.net/test/read.cgi/db/1201632550/
>>214
初心者スレは初心者スレがある
くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
0218nobodyさん
2008/03/01(土) 20:55:00ID:???このスレには初心者は来ていませんよ?
少なくともマニュアルを一通り目を通したりぐぐったりしてきてるはずなんで。
0219nobodyさん
2008/03/01(土) 21:06:57ID:Y1gVmTFWPDO::exec()でクエリを実行する場合影響した行数が帰ってくるはずですが、まったく影響のないクエリを実行してるのに1が返ってきます
バグでしょうか?
apache2.2
php 5.2.5
Postgresql 8.2
0220nobodyさん
2008/03/01(土) 21:13:47ID:???次の方どうそー。
0221nobodyさん
2008/03/01(土) 22:02:10ID:???DBMSによっては、delete で全行削除した場合、削除した行数を返さないらしい。
必要な場合は、where 1=1 ってやるのが定石だそうだ。
postgresをPDOで使ったときに同じ問題があるかどうかは知らない。
0222nobodyさん
2008/03/01(土) 22:04:42ID:???PHPを一度ソースからインストールした後に、libxsltが必要になったので
再インストールを試みたのですが、makeで以下のようなエラーが出ました。
ext/xmlreader/.libs/php_xmlreader.o(.text+0x14a9): In function `zim_xmlreader_XML':
/usr/local/src/php-5.2.5/ext/xmlreader/php_xmlreader.c:1109: undefined reference to `xmlTextReaderSetup'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] エラー 1
あと、環境は以下のとおりです。
OS:Vine4.2
PHP:PHP5.2.5
実行したconfigure:./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --enable-zend-multibyte --with-pgsql --enable-sockets --with-zlib --with-xsl=/usr/include/libxslt
解決方法をご存知の方いらっしゃいましたら、ご教示ください。
0223nobodyさん
2008/03/01(土) 22:13:34ID:Y1gVmTFWxslライブラリをなんのオプションも無くコンパイルしたなら --with-xsl=/usr/local/lib じゃないかな
>>221
いろいろ試して見たら、selectとかupdateとか、どんなクエリ実行しても1しか返って来ません
失敗の場合のみfalse
これは開発もlinuxにするしかないのか…?
0224nobodyさん
2008/03/02(日) 01:08:51ID:kiurO7doプログレスバーについてなのですが
自身のループ処理による待ち時間ではなくて
重い外部のファイルを読み込むなど、一関数が完了するまでの間
flush()でメーターを描画する場合どのような方法があるのでしょぅか?
よろしく願いします。
0225nobodyさん
2008/03/02(日) 01:41:21ID:???ajaxで読み込む(画面遷移せず)
↓
現在の画面にぷろぐれすばー表示(その間にサーバで処理)
↓
処理完了
↓
画面遷移
って流れでやったら?
0226nobodyさん
2008/03/02(日) 02:27:09ID:???ありがとうございました。
0227nobodyさん
2008/03/02(日) 04:11:35ID:jR385ymfあらかじめ取得しておいたIDとパスをそれぞれ変数に入れて、
それらの変数をもってaction先に飛ばす
そしてファイル取得
こんな感じでいいのでしょうか
0228nobodyさん
2008/03/02(日) 04:12:23ID:8nU9J7zG現在XAMPPというのをインストール(セットアップ?)した直後です。
見積依頼のフォームのファイルはindex.phpにして設定もしました。
<?PHPprint("PHPを使って文章を出力します");
こうなっているのですが次の手順が分かりません。デザインビューで
見積依頼のフォームをこのindex.phpの<?PHPprint("PHPを使って文章を出力します");
の下に作ればいいのですか。
PHP初心者です宜しくお願いします
0229nobodyさん
2008/03/02(日) 04:17:24ID:???見積もり依頼のフォームというのが説明されていないのでわからない
そもそも次の手順ってそもそも何がしたいのか
ソース丸ごと見せてもらった方が早い
ちなみに、PHPで文章を出力したいんだけなら
<?PHPprint("PHPを使って文章を出力します");
↑の PHPを使って文章を出力します
の部分に記述
0230nobodyさん
2008/03/02(日) 04:47:47ID:8nU9J7zGあっなるほど。そこにデザインビューでメールフォームを作ればいいのですね。
コードは
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>PHPプログラム</title>
</head>
<body>
<?PHP
print("PHPを使って文章を出力します");
</body>
</html>
です
0231nobodyさん
2008/03/02(日) 04:48:24ID:8nU9J7zGそしてメールフォームの内容は
お名前
住所 〒
TEL
見積希望日
見積希望時間 9時〜12時
12時〜15時
15時〜18時
何時でも可能
メッセージ
としたいのです。
0232nobodyさん
2008/03/02(日) 05:09:59ID:8nU9J7zGデザインビューで「文章を出力します」のとこを修正しようとすると
「HTMLタグに対して正確なフォーマットではありません。無効とマークされ
ました。コードビューを使用してソースコードを修正して下さい」
と出てしまい「文章を出力します」のとこの変更ができません。
0233nobodyさん
2008/03/02(日) 06:19:08ID:cPv2Uin/private $unko;
public function getUnko(){
return $this->unko;
}
において、
public function checkUnko(){
の中は
$unko=$this->unko;
がいいのか
$unko=$this->getUnko();
がいいのか。
}
当然速いのは$this->unkoだと思うけど、この書き方って
オブジェクト指向を貫く上で問題ありかな?
0234nobodyさん
2008/03/02(日) 08:12:52ID:???0235nobodyさん
2008/03/02(日) 08:46:32ID:qS2qya1qをデコードしたいのですが、何にエンコードされたかを知るにはどうしたらいいでしょうか?
また、PHP関数で何か良いものはありますでしょうか?
0236nobodyさん
2008/03/02(日) 08:54:16ID:???0237235
2008/03/02(日) 08:55:02ID:???デコードし、表示するにはどうすればいいのでしょうか?に訂正させてください。
0238nobodyさん
2008/03/02(日) 08:55:18ID:???まぁ、両方の関数のマニュアルを見ておけ
0239235
2008/03/02(日) 09:05:40ID:???$test = mb_convert_encoding($test, "EUC-JP", "UTF-8");
$test = urlencode($test);
echo "$test<br><br>";
$test = "%A5%A2%A5%A4%A5%AA%A5%E9%A5%A4%A5%C8";
$test = mb_convert_encoding($test, "UTF-8", "EUC-JP");
$test = urldecode($test);
echo "$test<br><br>";
上はうまく行きましたが、下が変なひょうじになります。全体としての設定はutf8です。
0240235
2008/03/02(日) 09:07:37ID:???$test = mb_convert_encoding($test, "UTF-8", "EUC-JP");
$test = urldecode($test);
の上下を入れ替えたら出来ました。
0241222
2008/03/02(日) 12:52:29ID:???レスありがとうございます。
apt-getでlibxsltをインストールしたところ、
libxslt.a
libxslt.la
libxslt.so
libxslt.so.1
libxslt.so.1.1.17
が/usr/libにつくられていたので、
--with-xsl=/usr/lib にしてやってみましたが、同じエラーでとまってしまいました・・・
0242nobodyさん
2008/03/02(日) 13:13:25ID:1wdULA7Xmysqlはtritonn(mysql with senna)を使いたいです。
こういう場合どうしたらいいですか?
0243222
2008/03/02(日) 13:19:35ID:???しかし、--disable-xmlreaderをつけてもlibxsltは使用できるのでしょうか?
どなたか教えてください。。。
0244nobodyさん
2008/03/02(日) 15:20:02ID:???普通にphp.iniとかでphp-mysqlでインストールしたほうじゃなく
そっちのmysqlを使うように設定したらええやん?
0246nobodyさん
2008/03/02(日) 16:13:25ID:???スーパークラスでも一貫して $this->getUnko() を利用すべき。
サブクラスで getUnko がオーバーライドされる可能性があるので
戻り値 === $unko が保証されないから。
0247nobodyさん
2008/03/02(日) 16:58:37ID:LTTkeK/Bメモ帳つかって拡張し使ってもxxx.php.txtとかなるのですがその後どうすればいいかわからんとです。
0248nobodyさん
2008/03/02(日) 17:29:25ID:???「拡張子を表示しない」にチェックしてあるまんまだな?
はずすことを推奨する
0249219
2008/03/02(日) 17:36:31ID:???0251nobodyさん
2008/03/02(日) 18:12:48ID:???yumで入ったmysqlを削除して
yum版のmysqlのsrc.rpmからspecをとりだして
--with-mecab, --with-sennaを加えてrpmbuildしてできたrpmをつかう
0255nobodyさん
2008/03/02(日) 18:44:44ID:???0256nobodyさん
2008/03/02(日) 20:02:48ID:???どうやったらできますか?
0257nobodyさん
2008/03/02(日) 20:19:42ID:???エスパー回答してやる
<?php
echo '<form action="post">';
foreach ($_GET as $key => $value) {
echo '<input type="hidden" name="'.$key.'" value="'.$value.'">';
}
echo '</form>';
?>
正直何をしたいのかがわからん
もうちょっとちゃんと説明しろよ
0258nobodyさん
2008/03/02(日) 20:22:22ID:???0261nobodyさん
2008/03/02(日) 21:28:38ID:???0262nobodyさん
2008/03/02(日) 23:22:05ID:???ちゃんとしたレスがある筈ない
0263nobodyさん
2008/03/02(日) 23:22:24ID:???厳密にオブジェクト指向ばりばりってどーなの?
遅くなるだけじゃね?
XOOPSとかMediaWikiってどうなってるんだろ??
0264nobodyさん
2008/03/02(日) 23:30:12ID:???プログラマが気をつけるじゃなくて、それを使うことが保証されるっていうところに
オブジェクト指向の肝があるんじゃないか?
遅くなるってことは実際あると思うけど、微々たるもんだし、速度が問題になるようならそもそも、システム設計自体に問題があると思う。
まあ、小さいシステムで、後々それほど手を入れないならスパゲッティーでもいいと思うけど
俺はオブジェクト指向で組まれていないシステムを読み解くのはあんまり好きじゃないな
0266nobodyさん
2008/03/03(月) 00:04:02ID:???ディレクトリさかのぼり、がちょっと怖いです。
$root_path = "/home/hoge/public_html/open/";
if( strstr( $GET['path'], ".." )) die("error!!");
fread($root_path.$GET['path']);
これで /home/hoge/public_html/open より上の層は見られない、
と断言できますか?
(..さえ拒否すればさかのぼりは完全に防げると判断して良いのでしょうか?)
open_basedirがini_setでスクリプト内で
設定できたら、自由にchroot風にできて安全そうで
よさそうだったのですが、ini_set内では無理でした
0267nobodyさん
2008/03/03(月) 00:17:00ID:8BSVZMuKPHPでサイト構築しているのですが、
ある日突然、複数のスクリプトで
大量のエラーログをサーバー側に
記録するようになりました。
使用リミットをオーバーするような
膨大な量です。しかし、
サイト上では問題なく実行され表示されています。
エラーも出ていません。
この場合どんな原因が考えられますか?
0268nobodyさん
2008/03/03(月) 00:17:23ID:???なるほど。オブジェクト指向で書こうとすると
設計に悩んでフリーズしてしまうことが多い。
慣れてないしデザインパターンもどれをあてはめればいいのかわかんない。
かと言って本能のまま書くと役割分担のはっきりしないクラスばっかりになる。
結局「PHPごときにちまちまとオブジェクトなんてやってらんね」ってなるんだよね。
>>265
それぐらいの塩梅でいいかな。
0269nobodyさん
2008/03/03(月) 00:18:10ID:???0270nobodyさん
2008/03/03(月) 00:34:41ID:8BSVZMuK内容はPHP Notice: Use of undefined ・・・・
というものが多いです
エラーが記録されているスクリプトの種類は多岐に
わたっています。たとえばフリーで公開されているものを
そのまま導入して使用していたものからそうでないものまで。
0271nobodyさん
2008/03/03(月) 00:49:10ID:???0272nobodyさん
2008/03/03(月) 00:57:35ID:???突然って何よ?まぁめんどくさいから答えなくてもいいけど
httpd.confとかphp.iniでも制御できるからうまく設定したらいいよ
詳しいことはググレ
0273nobodyさん
2008/03/03(月) 01:12:41ID:8BSVZMuKおっしゃる通りルーズなプログラムかもしれませんorz
>>272
今までは問題なかった(と思う)のでほんとに突然なんです(涙
月替わりに突然エラーログが大量に記録されるようになったというイメージです。
ちなみに現在はエラーログはまったく出ていません。
php.iniの設定を見てみたのですが
log_errors On
log_errors_max_len 1024
error_reporting 6143
となっているのでエラーがあれば記録されると思うのですが・・
なぜこのような事がおきたのか原因を知りたいです
0274nobodyさん
2008/03/03(月) 01:17:45ID:???どこかにないですか?
0275nobodyさん
2008/03/03(月) 02:25:43ID:33Hm4dS7$func = "Hoge";
$func();
↑これは動いて
"Hoge"();
↑なぜこれは動かないのでしょうか?
変数に入れれば良いことではあるのですが、
どうも気になってしようがありません。
PHPの関数呼び出しの仕組みってどこかに載ってますか?
0276nobodyさん
2008/03/03(月) 02:28:20ID:???0277nobodyさん
2008/03/03(月) 02:33:31ID:???そのものズバリではないけど
http://www.php.net/manual/ja/functions.variable-functions.php
http://jp2.php.net/manual/ja/language.oop5.reflection.php#language.oop5.reflection.reflectionfunction
0278nobodyさん
2008/03/03(月) 03:15:49ID:rD8lqAq1友人の紹介で仕事を回してもらうことになったのですが、
仕事としては始めてのphpによる開発なんですが、
見積もりを出してくれと言われていて少し困っています。
【ご質問】見積もりの中で人月に加えてステップ数を求められているのですが、
ステップ数って、空行とかコメント行もステップに数えるのでしょうか?
あと、ステップ数って、プログラムの書き方にも変わりますよね?
1行=======================================
if ($value == 1) { print "test";}
3行=======================================
if ($value == 1) {
print "test";
}
ネットで調べると1人月当たり、1000ステップらしいですが(COBOL)、
PHPの場合も、それが当てはまるのかそれも疑問です。
宜しくお願いします。
0279nobodyさん
2008/03/03(月) 03:26:55ID:???この仕組みのこと、可変関数と言うのですね、今まで知りませんでした。
Reflection機能も初めて知りました、とても勉強になります。
夜中に素早いご回答、どうもありがとうございました。
0280nobodyさん
2008/03/03(月) 05:25:27ID:???Web制作板のSOHOスレで聞けばいいかもしれない。
ただちゃんとした答えが返ってくるかは保証できないけど。
0281nobodyさん
2008/03/03(月) 08:00:57ID:???空行やコメントはステップとは言わない
それだと2ステップじゃないかな?
とりあえず
必要工数*欲しい時給+何かあった時の自分的保険費用で出してみたら
因みに俺の知ってる所だと1人月で
30-70マンぐらいの幅があった
0282nobodyさん
2008/03/03(月) 08:15:12ID:???ステップ数ってのは、処理手順の事?ソースの行数の事?
よく判らないんだけど、開発前からステップ数なんて判るものなの?
0283nobodyさん
2008/03/03(月) 08:23:59ID:???そんなのは7行としておけばいい。
ステップ数なんてのはパンチカード時代の遺物だ。
そんなもの求める会社は注意したほうがいいぞ。
0284nobodyさん
2008/03/03(月) 11:25:37ID:???0286nobodyさん
2008/03/03(月) 11:57:57ID:GThXklLZmemory_limitとは無関係なのでしょうか?
memory_limitを-1にしても、zend_mm_heap corruptedみたいなエラーが吐き出されてしまいます。
0287nobodyさん
2008/03/03(月) 13:05:13ID:KrsbPUyK$POST = array_map("htmlspecialchars",$_POST);
のような形でpostを一気に変換しています。
普段は問題ないのですが、
<select name="hoge[]" size="8" multiple="multiple">
のような要素がある場合、
Warning: htmlspecialchars() expects parameter 1 to be string, array given in...
という警告が出てしまいます。
これって、解決する方法ないんでしょうか?
よろしくお願いします。
0288nobodyさん
2008/03/03(月) 13:33:06ID:???htmlspecialcharsを元に配列に対応した関数を作ればいいんじゃね。
「php htmlspecialchars 配列 対応」あたりをググルと幸せになれるかもね。
0289nobodyさん
2008/03/03(月) 14:03:39ID:DWqAIEY6誰かご教授ください。
0290nobodyさん
2008/03/03(月) 14:08:16ID:???お前の言うキリバンはいったいいくつのカウントになるんだ?
そのカウントだったらキリバンと表示すればいいんじゃね?
0292nobodyさん
2008/03/03(月) 14:58:46ID:ut4WA0El$title = $item[title];
こいうのは
$title = $item['title'];
↑こういう風に書いた方が良いんですか?
0293nobodyさん
2008/03/03(月) 15:01:42ID:???0294nobodyさん
2008/03/03(月) 15:02:04ID:???その辺詳しくないから曖昧な回答になるが了承くだしあ
上記はまず定数であるかどうか判別される
下記は文字列としてそのまま行く
上記の場合の定数であるか判別する余計な処理があるので下記のほうがいい
また、「title」って定数が合った場合そっちの値が優先されてしまう
0295nobodyさん
2008/03/03(月) 15:45:12ID:HPgcFf+Yありがとうございます
0296nobodyさん
2008/03/03(月) 16:42:21ID:a83ZZyILくだすれぐらいしか聞くとこがなくて。
こんな風に書かれた時間から年月日を取り出す場合
皆さんならどう取り出しますか?
とりあえず3パターン考えてみた。
| $str = "2008-11-08 22:12:25";
|
| //パターン1
| $array = split("-",$str);
| $day = substr($array[2],0,2);
| echo $array[0]."年".$array[1]."月".$day."日";
|
| //パターン2
| $year = substr($str,0,4);
| $month = substr($str,6,2);
| $day = substr($str,9,2);
| echo $year."年".$month."月".$day."日";
|
| //パターン3
| $array1 = split(" ",$str);
| $array2 = split("-",$array1);
| echo $array[0]."年".$array[1]."月".$array[2]."日";
0297nobodyさん
2008/03/03(月) 16:44:38ID:???0298nobodyさん
2008/03/03(月) 16:47:10ID:???引数の書き方が自由すぎてバグの元だよ。
どうして、こんなひどい設計したんだよ。
0299nobodyさん
2008/03/03(月) 16:58:50ID:???0300nobodyさん
2008/03/03(月) 17:00:37ID:???こういう似非プログラマーが日本の中枢にいるから、
この業界の単価が下がっているんだろ。
生活できねーよ。
0301nobodyさん
2008/03/03(月) 17:15:53ID:???似非プログラマー論になる話の流れがわからん。
俺は時と場合に応じた道具の使い分けが出来ません、って告白?
0302nobodyさん
2008/03/03(月) 17:17:07ID:???strtotimeを使う分には問題ないと思うんだがどうだろう
0303296
2008/03/03(月) 17:29:37ID:a83ZZyIL確かにこれは便利ですね。
一応自分が今使おうと思ってるのは
データベース内に格納されてるのを判別するので
多分strtotimeで問題はありません。
しかしバグがあるというのは問題ですね。
使いどころを間違えないように使用したいと思います。
ありがとうございました。
0305nobodyさん
2008/03/03(月) 19:37:52ID:BS/MlDiQ[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
な配列を
array(3) {
[1]=>
int(2)
[0]=>
int(1)
[2]=>
int(3)
}
な配列にしたいんだけど、どうすればいいのだろう?
0306305
2008/03/03(月) 19:41:59ID:BS/MlDiQやりたい事を言葉にすると、配列のキーと値の関係を保持しながら、
要素の場所を入れ替えたり、好きな場所に移動させたいということです。
0307nobodyさん
2008/03/03(月) 19:58:05ID:???0308305
2008/03/03(月) 20:35:02ID:o2rZ954m>>307
もちろんマニュアルは見たのだけど、いまいちうまい事やる方法が
思い浮かばなくて質問しました。
0309287
2008/03/03(月) 20:36:48ID:???あざーす!!
ばっちり解決できました。
ありがとうございます!
03102050
2008/03/03(月) 20:50:47ID:1O+7QDSJこの度、JAVASCRIPTを含む記述で壁にぶち当たってしまいました。
<?php
print "<input type='submit' value='送信' onClick='return confirm('送信します');'>";
?>
と、フォームのボタンを押すと、JAVASCRIPTでメッセージが表示されるように
したいのですが、シングルクォートの中に、さらにJAVASCRIPTのシングルクォート
が来るのが原因のようで動作しません。
どうしたらいいものでしょうか?
0311nobodyさん
2008/03/03(月) 20:58:38ID:???print "<input type='submit' value='送信' onClick='return confirm(\"送信します\");'>"
javascript と html の話でPHPあんまり関係ないよ。
0312nobodyさん
2008/03/03(月) 20:59:01ID:???エスケープって知ってるかい?
っていうかそこはPHPから抜けて書きなよ。
<?php
〜
?>
<input type="submit" value="送信" onClick="return confirm('送信します');">
0313nobodyさん
2008/03/03(月) 21:09:41ID:???php関係ないけど\でエスケープ
>>308
array_spliceやarray_sliceなど。
ただ連想配列を使っておきながら順序を気にするというのはあまりいただけない
03142050
2008/03/03(月) 21:15:48ID:???ご丁寧に有難うございます。
実は、これを変数として格納し、別のtxtファイルに出力し、
さらに別のPHPファイルからこのtxtを読み込みます。
一度試してみます。有難うございました。
03152050
2008/03/03(月) 21:21:05ID:???正しくできました。有難うございます!
0316305
2008/03/03(月) 21:35:13ID:o2rZ954mそうですね。僕としても連想配列はたまたま順序を保持する実装になっているだけ、
という認識で、基本的にはハッシュでもいけるような使い方をするようにしています。
で、教えていただいた関数ですが、うまく使えば良い感じに出来るんじゃないかとは思いますが、
いまいち使い方がよくわかりませんorz もっと精進します。ありがとうございました。
追伸 : 拙作を貼付けておきますので、添削等していただけるとありがたいです
function hoge($array, $p1, $p2) {
$ret = array(); $v_p = array_values($array); $k_p = array_keys($array); $c_p = 0;
foreach($array as $k => $v) {
if ($i == $p1) {
$ret[$k_p[$p2]] = $v_p[$p2];
$i++;
continue;
}
if ($i == $p2) {
$ret[$k_p[$p1]] = $v_p[$p1];
$i++; continue;
}
$ret[$k] = $v; $c_p++;
}
return $ret;
}
0317305
2008/03/03(月) 21:36:28ID:o2rZ954m0318nobodyさん
2008/03/03(月) 21:43:03ID:bM6XDXSb時々こんなソースが暗がりから飛び出てきて
3時間ぐらい仕事する気を無くすんだが。
print "<body bgcolor=\"#99ccff\">"
print " <form action=\"./index.php\" method=\"post\" name=\"PRadioList\" id=\"PRadioList\">"
print " <table width=\"250\" border=\"1\">"
print " <tr>"
print " <td width=\"30\"><div align=\"center\"><input name=\"radioBtn\" value=\"0\" type=\"radio\" id=\"qf_ad7dfc\" /></div>"
print " <td>たぬき</td>"
print " </table>"
print " <table width=\"250\" border=\"0\">"
print " <tr>"
print " <td align=\"center\">"
print " <input name=\"submit\" value=\"送信\" type=\"submit\" />"
print " </td>"
print " </tr>"
print " </table>"
print " </form>"
print "</body>"
0319nobodyさん
2008/03/03(月) 21:57:31ID:???0320nobodyさん
2008/03/03(月) 22:02:46ID:???0321nobodyさん
2008/03/03(月) 22:08:23ID:???それはなんちゃってPHPerが書いたPerler?が書いたソース
普通はこう書く
?>
<body ~>
-中略-
</body>
0322nobodyさん
2008/03/03(月) 22:09:20ID:???0323nobodyさん
2008/03/03(月) 22:15:53ID:???0324nobodyさん
2008/03/03(月) 22:28:33ID:???0325nobodyさん
2008/03/03(月) 22:32:55ID:???さすがにそんなのは稀すぎる
連結してるのはたまに見るが
print "hoge"
. "hoge"
. "hoge";
ていうかhtmlに組み込めるんだから、viewは普通にhtmlで書けっていう話
つまり>>323
0327nobodyさん
2008/03/04(火) 00:02:06ID:???0328お願いします。
2008/03/04(火) 00:52:40ID:G7JIaGfrqmail(・・・※)設定済みのLinux(CentOS5)に移行した上で
実行したのですが正常に送信先に届きません。
(また、php側でエラーは発生しません。)
【ソース】
if( mb_send_mail($addressTo, $subject, mb_convert_encoding($message,"shift_jis","shift_jis"),$header) )
{
#この部分に正常に入ります。
print("送信完了しました。");
}
else
{
print("エラー:送信に失敗しました");
}
【Linuxmメールサーバ構築参考サイト】
http://centossrv.com/qmail.shtml
0330お願いします。
2008/03/04(火) 01:21:47ID:G7JIaGfrLinux版は、次のコマンドでWEBサーバを構築して、恐らくApacheだと思われます。
yum -y install httpd
再度、作成したテストページよりメールを送信した結果、apacheのログファイルを見てみると
次の様なエラーが表示されていました。
【error_logの内容】
[Tue Mar 04 01:19:02 2008] [error] [client 127.0.0.1] File does not exist: /var/www/html/index.css, referer: http://localhost/FI.html
[Tue Mar 04 01:19:02 2008] [error] [client 127.0.0.1] File does not exist: /var/www/html/css, referer: http://localhost/FI.html
[Tue Mar 04 01:19:03 2008] [error] [client 127.0.0.1] File does not exist: /var/www/html/index.css, referer: http://localhost/SendMail.html
[Tue Mar 04 01:19:03 2008] [error] [client 127.0.0.1] File does not exist: /var/www/html/css, referer: http://localhost/SendMail.html
0331nobodyさん
2008/03/04(火) 01:32:39ID:???sendmail_pathはおk?
もちろんphpインストール時にqmailにしたよな?
とりあえずmail()でやってみ
0332お願いします。
2008/03/04(火) 01:36:30ID:G7JIaGfr再度メールをWEBページより送信してみたところ、エラーログには何も表示され
なくなりました。
送信先メールアドレスには、自宅(hogehoge@m2.gyao.ne.jp)
を指定しています。
また、CentOS5に付属のメール送信ソフトより自分のメールアドレス
にメールを送信したところ正常にメールは届きます。
※また、143番ポートは正常に開放されています。
0333nobodyさん
2008/03/04(火) 01:37:53ID:KsHjc6mm変換したいのですが、どうすればいいのでしょうか?
やはり分解して、mktimeにするしかないのでしょうか?
0334お願いします。
2008/03/04(火) 01:44:49ID:G7JIaGfrphpのインストールについては「LAMサーバ構築」という雑誌を
参考にしてインストールしてました。。。
php.ini 内でメールサーバ回りの詳細な設定は行っていませんでした
ので、ちょっと設定ファイルを確認してみます。
0337お願いします。
2008/03/04(火) 01:50:57ID:G7JIaGfr[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail -t -i
↑
メールサーバを、qmail に変更したので上の記述を変更する必要がある様
に思うのですが具体的にはどうすれば良いでしょうか?
お教え願います。
0338nobodyさん
2008/03/04(火) 02:04:06ID:???そこまでわかっててまだ何を聞くつもりだ
sendmail_path = qmailのパス
にしてapache再起動してみ
それでもわからなかったらちゃんと初心者スレ行くかあきらめろ
0340お願いします。
2008/03/04(火) 02:27:07ID:G7JIaGfr0342nobodyさん
2008/03/04(火) 08:40:33ID:???特権無しになりました
直し方教えてください
連たる鯖なのでコンソールが開けない状況です
0343nobodyさん
2008/03/04(火) 10:20:42ID:xFHlt45Mで、全て./index.phpで実行しているのですが、
__FILE__で取得すると、URLではなく実際に稼動しているスクリプトが表示されますよね。
これはサーバー依存なのでしょうか?
ブラウザによって変化するのであれば__FILE__の使用を控えようと思うのですが・・・。
0344nobodyさん
2008/03/04(火) 11:07:59ID:???qmailのsendmail-wrapperが /var/qmail/bin/sendmail とか、/optの下あたりにないかい?
which sendmailするとどうなる?
付属のメーラって奴はローカルホストのSMTPで送信するの? それともsendmailコマンドを叩くの?
そもそも送れないってどういうこと? バウンスは返る?
つか、当然最初にメールログは確かめたんだろうね?
謎だらけの質問しやがって...
0345343
2008/03/04(火) 11:41:43ID:xFHlt45M__FILE__も鯖側の処理と勝手に判断してみます・・・。
別の質問なのですが、
func_get_argsで引数を配列として返しますが、
逆の場合は可能なのでしょうか?
配列をリストにするlistという関数がありますが、
引数の数が不特定なので困ってます。
0346nobodyさん
2008/03/04(火) 11:43:37ID:HRhAVQ3q動かしてみたら
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\cake\app\config\routes.php:1) in C:\xampp\htdocs\cake\cake\libs\controller\controller.php on line 447
というのが出て動きませんでした。
何がおきてるんでしょうか。
windowsXPにxamppをいれて、htdocsにそのままcakeを入れてます。
あぱっちの設定とかは一応したつもりなんですが。
誰か教えてください。
0347nobodyさん
2008/03/04(火) 11:43:47ID:???__LINE__はその行番号。
0350nobodyさん
2008/03/04(火) 11:46:05ID:xFHlt45M「実行しているファイル名(__FILE__)」のパスを、
クライアントサイドで判断しているのかサーバーサイドで気になっただけです。
__LINE__はサーバーサイドでしか判別できないので、__FILE__も同じと見ていいんですよね。
ってことが知りたかっただけです。
0351nobodyさん
2008/03/04(火) 11:48:31ID:HRhAVQ3q>>348
すいません。
BOMってなんでしょうか。
googleでしらべたらunicodeがなんとかと書いてありました。
コレでしょうか?
0352nobodyさん
2008/03/04(火) 11:50:46ID:???UTF-8で保存しているつもりでも、
UTF-8Nという形式で保存していることがある。
UTF-8Nの場合、先頭に3バイト変なものがくっついていて (ごめん、3バイトの内容は詳しく知らない)
headerを実行する前にそれが先に出力されてるから、headerでエラーが出てしまう。
0353nobodyさん
2008/03/04(火) 11:51:10ID:HRhAVQ3qいま確認してみました。
大丈夫でした。ありがとうございます。
0354nobodyさん
2008/03/04(火) 11:53:56ID:HRhAVQ3q文字の関係は何回も挫折しているところです。
どう対処すればいいですか。
なんとなく方針を教えて頂けませんでしょうか?
0355nobodyさん
2008/03/04(火) 11:56:54ID:???何のエディタ使ってるよ
とりあえずTeraPadでいいから起動してみて文字コードが何になってるか調べてみれ
0356nobodyさん
2008/03/04(火) 12:06:54ID:HRhAVQ3qTeraPadを使っています。
文字コードはUTF-8です。
保存改行コードが自動になっていました。
これが原因でしょうか?
0357nobodyさん
2008/03/04(火) 12:18:26ID:???ファイル->文字コード指定再読み込み
これでShiftJISにしたら文字化けするよな
そのときに<?phpの前に変な文字化けないか?
0358nobodyさん
2008/03/04(火) 12:20:21ID:HRhAVQ3qhttp://www.kashim.com/kanjitranslator/index.html
↑これになんでもかんでもぶっこんで変換したらいけました。
どうやら追加で書き込んだものがBOMありになっていたようです。
絶対自分では解決できませんでした。ありがとうございます。
0359nobodyさん
2008/03/04(火) 12:25:30ID:HRhAVQ3qBOMありにしてEUCにしたときに「鏤深?php」となっていました。
いまいちBOMがなんなのかはよくわかりませんがこういうことがあるんですね。
勉強になります。ありがとうございました。
0360nobodyさん
2008/03/04(火) 12:38:35ID:???一つは客の気まぐれ。そして、もう一つはSEの見通し不足。
今話題になっている話に例えれば、
日本の最高裁判所が出して判断が後になって間違ったことに気付いたが、
一事不再理の原則によって、判決の変更はできない。
そこで、主権が違うアメリカに依頼してもう一度裁判をやってもらうことにした。
たしかに、法理論的には裁判権はアメリカにあるし、他国の一事不再理による制約を受けないことは言うまでもない。
しかし、国権の最高機関である最高裁判所が出した判決を日本政府の勝手な仕様変更で、
アメリカの手を借りて裁判をやり直すことができるのか。
私は、鳩山邦夫法務大臣にこの件について聞いてみたくなった。
0364nobodyさん
2008/03/04(火) 14:03:01ID:???Aサーバにあるディレクトリを丸ごと、別のBサーバにアップしたいです。
PHPで出来ますか?
Aサーバのログイン情報とBサーバのログイン情報は持ってます。
0366nobodyさん
2008/03/04(火) 15:07:32ID:???webプログラマーの技術レベルはなんでこんな低いんだろう。
同じ経験年数のwebプログラマーとネットワークエンジニアで比較すると、
明からにレベルが低い。webは、適当にやっていても動くことは動くからか?
このスレだけかと思ったが、Javaスレでの議論もレベル低すぎ。web全体がまだまだ。
0367nobodyさん
2008/03/04(火) 15:11:51ID:???0368nobodyさん
2008/03/04(火) 15:13:33ID:???ウェブなんてほんの10数年前に生まれたようなものだからな。
色んなものが変わりまくっているのだから仕方が無い話。
あとウェブが適当のやっていても動くものと勘違いしている人。
そう考えている人もレベルが低い。
0369nobodyさん
2008/03/04(火) 15:22:14ID:???> そう考えている人もレベルが低い。
いやむしろお前のレベルが。
ネットワーク負荷を全く考えないプログラム。(ネットワークエンジニアの努力が水の泡)
セキュリティーが穴だらけのプログラム。(ネットワークエンジニアの努力が水の泡)
メモリー浪費しまくりのプログラム。(余計なHWの出費。コスト意識の低さか?)
HTMLの仕様のいい加減さ。ブラウザ制作会社の実装が悪いらしいが。
・・・
0370nobodyさん
2008/03/04(火) 15:27:41ID:???一番高いのは人件費なんだから、ハードウェアで細かい事言う時代じゃないお( ^ω^)
0371nobodyさん
2008/03/04(火) 15:27:48ID:???処理速度を全く気にしないプログラム。
この画面が重くてもしょうがない、とか訳ワカメです。
動けばいいで飯を食べていけるwebの技術者って何?
バグばっかりだし。こんな奴らと組んで仕事すんのストレスたまるわ。
0373nobodyさん
2008/03/04(火) 15:31:23ID:???ネットワークは基盤、WEBプログラムは娯楽も含む幅広さがある。
基本的に基盤に遊びもミスも許されない、娯楽は何でもあり。
相対的にミス出来ない基盤には能力が高い人しか生き残れない。
WEBプロウグラムは上から下まで裾野が広い。
役割の違いだろ。
比べるもんでもない。
大体人の仕事をうんぬん言う奴なんて、その程度。
0374nobodyさん
2008/03/04(火) 15:46:26ID:???ネットワークのリンク切れ → 全然繋がんねーよ、どうなってんだよ!!!
0375ミミ
2008/03/04(火) 16:39:27ID:/crDQgGyグローバル変数であれば $GLOBALS ですが。。。
0377nobodyさん
2008/03/04(火) 17:01:34ID:???0378ミミ
2008/03/04(火) 17:03:24ID:/crDQgGyもしかして get_defined_vars() のこと?
それはローカルだけを取り出してくれないからダメなの。
0380nobodyさん
2008/03/04(火) 17:12:48ID:???0381nobodyさん
2008/03/04(火) 17:13:26ID:???他は決まった値のように見えるけど・・。
試してないからなんとなくだけどね。
0382nobodyさん
2008/03/04(火) 17:19:42ID:qMhs4IBHmicrotime()の使い方なんですが、
>0.22720000 1204618533
このような値が返ってきますが、どうやって使えばいいんでしょうか?
作業の経過時間を計測したいんですが。
0384nobodyさん
2008/03/04(火) 17:22:20ID:???余りにもくだらなくて警察に通報しようと思ったよ。
microtime()は、その名前の通りマイクロ秒を表示する関数。
1秒は、1000ミリ秒
1ミリ秒は、1000マイクロ秒
ここまで言えば馬鹿でも分かるよな?
0385nobodyさん
2008/03/04(火) 17:23:29ID:???http://pear.php.net/manual/ja/package.benchmarking.benchmark.timer.php
0386nobodyさん
2008/03/04(火) 17:35:46ID:l1KE8Zjpなるほど。助かりました。
0387ららら
2008/03/04(火) 18:06:18ID:/crDQgGy$n = (int) func1();
$flag1 = ($n == 0);
$flag2 = ($n != 0);
とした後、デバッグのために値を確認したら、
print "flag1 = $flag1 <br>";
print "flag2 = $flag2 <br>";
flag1 は 1 となるのに、flag2 のほうは何も表示されないのら。
なんでなのら?! 0 になるんはずじゃないのかなのら!
0388nobodyさん
2008/03/04(火) 18:16:11ID:???お前は旧作のドラえもんか
http://www.php.net/manual/ja/language.types.string.php#language.types.string.casting
0390nobodyさん
2008/03/04(火) 18:31:48ID:???0391nobodyさん
2008/03/04(火) 18:33:55ID:qMhs4IBHありがとうございます。
>>384
こういう偉そうな奴って大抵底辺だんだよな・・・
>>385
なるほど!そんな便利なのがあるんですね!
ありがとうございます!
0392ららら
2008/03/04(火) 19:20:32ID:/crDQgGyvar_dump ?そういうものがあるのかー。
var_dump($n) としてみたら、次のようになったよ。
bool(false)
ブール値は文字列に変換すると空になるのかー。
ふむふむぅ〜。
0393nobodyさん
2008/03/04(火) 21:42:20ID:???$test = "false";
if(!変換関数($test)){
print 'falseになったよ'
}
でprint文が表示されるようにしたいのです。
0394nobodyさん
2008/03/04(火) 21:48:10ID:???{
return $str==='false' ? false : true;
}
0395393
2008/03/04(火) 22:08:28ID:???ありがとうございます。
phpのデフォルトの関数に変換関数はないんですね・・・
true falseの代わりに0と1を使うことにします。
0396nobodyさん
2008/03/05(水) 01:50:21ID:???何か人の知性を退化させようとする陰謀めいたものを感じるんだけど
馬鹿にはPHPを使わせて、
他の人はもっとまともな言語で仕事をして差をつけてるんじゃないの?
0399nobodyさん
2008/03/05(水) 02:05:48ID:???0403nobodyさん
2008/03/05(水) 04:31:26ID:???別に切れてはいない。
ただ、個人の価値観はお互い尊重されるべきだということ。
phpだろうと、javaだろうと、仕様が実現できればいい話。
優越をつける必要もない。
0404nobodyさん
2008/03/05(水) 04:35:43ID:???まぁ趣味でJavaとC#やってたけど
0406nobodyさん
2008/03/05(水) 06:03:06ID:???0407nobodyさん
2008/03/05(水) 06:12:50ID:???会社によるが普通は逆だな。
業務では使わないし趣味でやってて、
手軽さから社内で使うちょっとしたものならPHPで実装なんてことはある。
PHPは金にならないから、PHPオンリーってとこは零か小規模で細々やってるとこだろう。
うちも小規模だが、PHPの仕事はないなぁ。
まぁ業務視点はどうでもいいとして、
PHPはhtmlに直接書けるから、直感的にWebデザイナーにも受け入れられやすい、
デザイナー向けの言語といったところではないだろうか。
環境構築の手軽さからも、次のステップへ進むための入門用言語としてもいいかもしれない。
(個人的には逆にわかりづらくなりそうな予感もするが)
0408nobodyさん
2008/03/05(水) 07:21:39ID:???phpを殆ど使ったことの無いような人の意見だな
まぁPHPは小規模案件多いけど大規模な構築事例もある
addons.mozilla.orgやyahooもだっけか
確かにhtmlは直接書けるが
そんな風にごちゃ混ぜで書くと解りにくいソースになって
後でメンテし難くなる
phpでシステム作ってる所は普通にフレームワークとか使ってやってるので
デザイナーはviewしか殆ど書く事ない
簡単な書き方もできれば、
普通にJavaとかのような書き方もできるのがPHP
0409nobodyさん
2008/03/05(水) 07:27:41ID:???エスケープミスとか素人ミスが多かったり、phpのソースがhtmlに出ちゃってたり。
某MMOの運営会社なんてひどいぜ。
どういうやつがコーディングしてるんだよw
0411nobodyさん
2008/03/05(水) 08:15:31ID:???言語弾圧なんてしてるようにはちっともさっぱりこれっぽちも見えないが
0412nobodyさん
2008/03/05(水) 08:25:08ID:???ケーキペチパー落ち着けよ
0413nobodyさん
2008/03/05(水) 09:42:25ID:LSCm3THv{
$array = func_get_args();
$this->Params = $array;
}
public function text_dump($text1, $text2, $text3)
{
echo $text1."\n";
echo $text2."\n";
echo $text3."\n";
}
取得したパラメータを、別のメソッド(text_dump)で使用したいのですが、
引数の数が変動する場合に、何か良い振り分け方法はありませんか?
0414nobodyさん
2008/03/05(水) 11:27:24ID:???引数の処理が同じ処理なら
パラメーターを配列かし、text_dump再帰処理をtext_dumpで書けば良いと思う
0415nobodyさん
2008/03/05(水) 13:48:01ID:???それこそfunc_get_args使えよw
function test_dump() {
$ary = func_get_args();
foreach ($ary as $value) {
var_dump($value);
}
}
0417nobodyさん
2008/03/05(水) 17:35:53ID:???おなじことができるならphpでいいじゃん
0418nobodyさん
2008/03/05(水) 18:33:53ID:???共通点として、無理が通せてしまう言語ってこと。
0419nobodyさん
2008/03/05(水) 18:44:16ID:JDEU3z4H<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; ?>
上記をxhtmlファイルの先頭に書いてるんですが、
web上のページを見てみると、先頭に改行が入ってしまってエラーが出ます。
先頭に改行が入らないようにするにはどうすればいいのでしょうか?
0420nobodyさん
2008/03/05(水) 18:51:05ID:???0421nobodyさん
2008/03/05(水) 18:58:02ID:???検索フォームには
・書籍タイトル
・著者名
・出版社名
があります。
それで、文字列が入力されているフォームのみ、
クエリに条件として追加したいのです。
たとえば、書籍タイトルだけが入力されている場合は
SELECT * FROM books WHERE title = %s〜
書籍タイトルと著者名が入力されている場合は
SELECT * FROM books WHERE title = %s AND author = %s〜
としたいのです。
どうかご教授下さい。
0422419
2008/03/05(水) 18:58:51ID:JDEU3z4HXML パースエラー: 外部実体の初めに XML 宣言がありません。
行番号: 2, 列番号: 1:
0423nobodyさん
2008/03/05(水) 19:03:29ID:???0424419
2008/03/05(水) 19:11:14ID:JDEU3z4Hソースを見ると
>
><?xml version="1.0" encoding="UTF-8"?>
><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
となっていたからです。
">"は引用符です。
0426421
2008/03/05(水) 19:21:56ID:???条件を足す方法というのは
if文でチェックして
.= で追加すればよいのでしょうか?
0427nobodyさん
2008/03/05(水) 19:28:38ID:???$ccc = @$_POST['aaa'] && @$_POST['bbb'];
のような文の「@$」ってどういう意味でしょうか?
$の前に@が付いているのは初めて見ました。
どなたかご教示いただけると幸いです。
特殊文字は検索がしにくい・・
0428nobodyさん
2008/03/05(水) 19:31:53ID:???http://jp.php.net/manual/ja/language.operators.errorcontrol.php
0430427
2008/03/05(水) 19:33:31ID:???ありがとうございます!
0431nobodyさん
2008/03/05(水) 21:47:04ID:???php/header.incの中身が
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; ?>
ってこと?
0432419
2008/03/05(水) 22:00:52ID:JDEU3z4Hいえ、違います。
<?php include_once("php/header.inc"); ?>
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; ?>
この2行をxhtmlファイルの先頭に書いてあります。
header.incには他のことが書いてあります。
0434nobodyさん
2008/03/05(水) 22:13:08ID:???中身は<?php ?>の空のheader.incを使って再現してみたが、
俺の環境では問題なし。
おそらくサーバ側の問題。
xrea無料あたりの広告を自動挿入されるようなサーバ使ってるならそれが怪しい。
0435337
2008/03/05(水) 22:20:40ID:uqdrOXeC>>344
>qmailのsendmail-wrapperが /var/qmail/bin/sendmail
>とか、/optの下あたりにないかい?
確かにその階層に、「sendmail」というファイル(?)は存在していました。
また、現在のphp.iniのメール回りの設定は、次の様に記述しています。
現在、
sendmail_path = /var/qmail/bin/qmail-inject
としている記述を
sendmail_path = /var/qmail/bin/sendmail
にすれば良いのでしょか?
※一応こちらも例しましたが送信出来ませんでした。
0436nobodyさん
2008/03/05(水) 22:26:50ID:knvJCigj置換文字列が見つからないときに元の文字を返す置換変数ってありませんか。
str_replaceとか失敗したら返り値がfalseになるじゃないですか。
正規表現使わないときにpreg_replaceは止めろ、ってマニュアルに書いてあるから
その通りにしようと思ったのにうまくいかないじゃん。
結局今はif(strpos()){str_replace();}みたいなことやってます。
0437337
2008/03/05(水) 22:27:20ID:uqdrOXeC>>344
>which sendmailするとどうなる?
[hoge@localhost ~]# which sendmail
/usr/sbin/sendmail
でした。
現在、使用している(標準でCentOS5についていた)メールソフトは、
Evolutionであり、こちらは現在契約しているプロバイダのSMTP(POP)サーバを
指定してメールは送信しています。
0438nobodyさん
2008/03/05(水) 22:38:45ID:???言語に罪はないが利用者が酷い
関数すらろくに作れないヤツが殆どだからなぁ
0439nobodyさん
2008/03/05(水) 22:42:36ID:???過去に、UTF-8のファイルを使っているエディタ以外で開いて保存して
同様の現象が出たことあります。
ファイルの文字コードを調べるツールで確認してみてはどうですか?
面倒だったら
1.そのファイルを移動
2.元の場所に同名のファイルを作成
3.エディタでそのファイルを開き、移動したファイルの内容をコピー
で直りませんかね?
0440419
2008/03/05(水) 22:57:19ID:JDEU3z4H>>434
>>439
皆さんありがとうございます。
余計な改行と空白があったみたいでして、
文字コードをUTF-8Nにして改行と空白を削除しましたら無事に表示されました。
.htaccessと同じように最後の行は改行しなくてはならないと思い込んでいました。
こんな初歩的なことでスレを使ってしまい申し訳ありませんでした。
0441nobodyさん
2008/03/05(水) 23:50:49ID:???htmlと混ぜて書いている時意外書かない方がいい
0442nobodyさん
2008/03/06(木) 00:06:00ID:???0443337
2008/03/06(木) 00:12:48ID:eYOrPk/W次の様なエラーログが吐かれていました。
事象について、ぐぐったのですが何もヒットしません。
qmail+phpで正常にメール送信が出来ている方がいましたら、助けて下さい。
エラーメールログー1
Mar 6 00:02:08 localhost qmail: 1204729328.505456 new msg 19727037
Mar 6 00:02:08 localhost qmail: 1204729328.505530 info msg 19727037: bytes 266 from <anonymous@localhost.localdomain> qp 3412 uid 48
Mar 6 00:02:08 localhost qmail: 1204729328.507171 starting delivery 5: msg 19727037 to remote hogehoge@hogehoge.gyao.ne.jp
Mar 6 00:02:08 localhost qmail: 1204729328.507233 status: local 0/10 remote 1/20
Mar 6 00:02:08 localhost qmail: 1204729328.511988 new msg 19727040
Mar 6 00:02:08 localhost qmail: 1204729328.512133 info msg 19727040: bytes 338 from <anonymous@localhost.localdomain> qp 3414 uid 48
Mar 6 00:02:08 localhost qmail: 1204729328.518935 starting delivery 6: msg 19727040 to remote hogehoge@hogehoge.gyao.ne.jp
Mar 6 00:02:08 localhost qmail: 1204729328.519187 status: local 0/10 remote 2/20
Mar 6 00:02:08 localhost qmail: 1204729328.802970 delivery 6: failure: Connected_to_125.63.38.26_but_sender_was_rejected./Remote_host_said:_550_unrouteable_sender_address/
Mar 6 00:02:08 localhost qmail: 1204729328.803198 status: local 0/10 remote 1/20
Mar 6 00:02:08 localhost qmail: 1204729328.809493 bounce msg 19727040 qp 3417
Mar 6 00:02:08 localhost qmail: 1204729328.809645 end msg 19727040
Mar 6 00:02:08 localhost qmail: 1204729328.810220 delivery 5: failure: Connected_to_125.63.38.26_but_sender_was_rejected./Remote_host_said:_550_unrouteable_sender_address/
0444337
2008/03/06(木) 00:13:31ID:eYOrPk/WMar 6 00:02:08 localhost qmail: 1204729328.810354 status: local 0/10 remote 0/20
Mar 6 00:02:08 localhost qmail: 1204729328.810420 new msg 19727045
Mar 6 00:02:08 localhost qmail: 1204729328.810477 info msg 19727045: bytes 973 from <> qp 3417 uid 507
Mar 6 00:02:08 localhost qmail: 1204729328.818246 starting delivery 7: msg 19727045 to local anonymous@localhost.localdomain
Mar 6 00:02:08 localhost qmail: 1204729328.818474 status: local 1/10 remote 0/20
Mar 6 00:02:08 localhost qmail: 1204729328.822610 bounce msg 19727037 qp 3418
Mar 6 00:02:08 localhost qmail: 1204729328.822753 end msg 19727037
Mar 6 00:02:08 localhost qmail: 1204729328.857829 new msg 19727044
Mar 6 00:02:08 localhost qmail: 1204729328.858247 info msg 19727044: bytes 901 from <> qp 3418 uid 507
Mar 6 00:02:08 localhost qmail: 1204729328.861612 starting delivery 8: msg 19727044 to local anonymous@localhost.localdomain
Mar 6 00:02:08 localhost qmail: 1204729328.861752 status: local 2/10 remote 0/20
Mar 6 00:02:08 localhost qmail: 1204729328.861831 delivery 7: success: did_0+0+1/
Mar 6 00:02:08 localhost qmail: 1204729328.861906 status: local 1/10 remote 0/20
Mar 6 00:02:08 localhost qmail: 1204729328.861968 end msg 19727045
Mar 6 00:02:08 localhost qmail: 1204729328.868252 delivery 8: success: did_0+0+1/
Mar 6 00:02:08 localhost qmail: 1204729328.868471 status: local 0/10 remote 0/20
Mar 6 00:02:08 localhost qmail: 1204729328.868569 end msg 19727044
0445337
2008/03/06(木) 00:17:58ID:eYOrPk/W因みに、qmail用に作成したユーザに対して次のコマンドを実行すると
正常に送信出来ています。(ローカルへの送信はOKと言う意味。)
[root@localhost ~]# /var/qmail/bin/qmail-inject
to:localhogeuser
<Ctrl + D>
なぜ、外部メールアドレスへの送信は出来ないのでしょうか?
0446nobodyさん
2008/03/06(木) 00:26:02ID:???あとはこっちで頑張ってね
qmailいろいろ(8)
http://pc11.2ch.net/test/read.cgi/unix/1163326021/
0447nobodyさん
2008/03/06(木) 01:59:19ID:F9M1Wqcaこれプリントしてみ?
結果がおかしいんだが・・・
因みにこっちの環境では47と出る・・・
バグ?
0448nobodyさん
2008/03/06(木) 02:33:56ID:???0449nobodyさん
2008/03/06(木) 04:17:20ID:F9M1Wqcaヒントdクス
intの値域は2147483647までなのね。
しかし、
print 8000000000 / 100;
をすると80000000とちゃんと出力されたんだが・・・
0450nobodyさん
2008/03/06(木) 09:11:34ID:???<html>
<body>
<?php print "hello php! " ; ?>
</body>
</html>
でこれで hello php! ってブラウザに出力したいんですけど、なぜか
でないんです。テラパッドに書き込んでIEブラウザで読み込んでるんですけど
動かないんです。どなたかご教授いただければ、幸いです。
0451nobodyさん
2008/03/06(木) 09:24:06ID:???まさかphpがインストールされてないとかそういうわけじゃないよね?
0452nobodyさん
2008/03/06(木) 09:29:06ID:???いくらPHPはHTMLに似ているからと言って
IEだけじゃPHPは動かないぞ。
0453nobodyさん
2008/03/06(木) 10:13:06ID:???xamppでapache php mySQLとかはダウンロードして インストールして
起動させてるんで ブラウザからlocalhostのページもみれるんでたぶん
動いてるとおもうんですけど・・・。拡張子もphpにしてみたけど、だめです。
0454nobodyさん
2008/03/06(木) 10:21:27ID:???になってるみたいなんですが、これ原因ですかね?
0455nobodyさん
2008/03/06(木) 10:24:26ID:???ひどいオチだな。拡張子表示するようにしなよ。
メモ帳系のソフトは登録されていない拡張子だと後ろに.txtをつけることがある。
保存するときにファイルの種類をすべてのファイルにしてからphpとうつか、
txtで保存したあと拡張子を変えるかでいける。
0456nobodyさん
2008/03/06(木) 10:42:16ID:???453さん
455さん ありがとうございました。拡張子の付け替えうまくいきました。
前進したようです。
でもこんどは読み込むとブラウザの画面が真っ白なページになってしまいまし
た。orz
0457nobodyさん
2008/03/06(木) 15:23:36ID:???0458nobodyさん
2008/03/06(木) 16:26:01ID:???0459nobodyさん
2008/03/06(木) 17:07:58ID:???0460nobodyさん
2008/03/06(木) 17:14:18ID:???0461nobodyさん
2008/03/06(木) 17:14:34ID:???0462nobodyさん
2008/03/06(木) 17:23:34ID:???0464nobodyさん
2008/03/06(木) 18:44:43ID:???状況としてはこんな感じです。
ドコモのメールアドレス(ユーザアカウント部分)にドットが含まれている(auのアドレスには含まれていない。)
mail関数で返信している。
メールアドレスは正常に取得できている。(送信前にtoをvar_dumpしてみました)
お願いします。
0465nobodyさん
2008/03/06(木) 18:45:48ID:???もう少し、言語に依存しないプログラムの基本的な理論や
プログラムの設計理論について学ぶべきだよ。
基礎ができていないプログラマーは、
いつも行き当たりばったりで、
自己解決がいつまで経っても出来ないからね。
0468nobodyさん
2008/03/06(木) 18:53:56ID:???耳が痛いです。。。
そろそろ基礎から学ぶべきだとは思ってます。
>>466さん
メ鯖で返してます。
メールが来たらforwardして
ログみるとPHP側にはわたっているデータは残ってるんでmail関数が怪しいと思ってます。
0469nobodyさん
2008/03/06(木) 18:55:19ID:???なんどもすみません。
環境
OS:Fedora Core5
Mail:postfix
php5
です。
0470464
2008/03/06(木) 19:11:43ID:???受信拒否解除してなかっただけでした。
すみません_| ̄|○ il||li
0471nobodyさん
2008/03/06(木) 19:14:56ID:???0472nobodyさん
2008/03/06(木) 19:21:02ID:???何も答えない癖に、何言っていんのこの馬鹿?
開発会議で全然発言しなかったくせに、
開発途中で設計に変更の必要がでると、
「やっぱり、その設計はまずかっただろう」
とか誇らしげに言っているF次長と一緒。
まったくウザイ。どうしてこんな奴が次長の椅子に座っているの?
どうなっても知らんよ。
0473nobodyさん
2008/03/06(木) 19:50:21ID:???0474nobodyさん
2008/03/06(木) 20:08:40ID:???「そろそろ基礎から学ぶ」という発言に違和感を覚えないようなら相当やばいと思う。
今すぐ行動すべき。でないと手遅れになる。
0475nobodyさん
2008/03/06(木) 20:15:14ID:???ある意味羨ましい
0476nobodyさん
2008/03/06(木) 22:17:38ID:???0477nobodyさん
2008/03/06(木) 22:30:00ID:???0478nobodyさん
2008/03/06(木) 22:45:26ID:???0479nobodyさん
2008/03/06(木) 22:55:55ID:???0480nobodyさん
2008/03/06(木) 23:14:26ID:???0482nobodyさん
2008/03/07(金) 00:27:41ID:???0483nobodyさん
2008/03/07(金) 01:05:07ID:???どういうとこで出るんだろ。
0484nobodyさん
2008/03/07(金) 01:18:39ID:???一番多そうな例としては
<?php
$hoge = $_GET['hoge'];
こんな風にいきなり書く場合が多いんじゃないかな
0485nobodyさん
2008/03/07(金) 01:53:29ID:???0486nobodyさん
2008/03/07(金) 02:37:32ID:???こういうのはecho "<a href=\"$url\">$title<a>;
こうした方がいいのでしょうか?
echo "<a href=\"$url\">".$title."<a>";
0487nobodyさん
2008/03/07(金) 02:50:08ID:???0488nobodyさん
2008/03/07(金) 02:58:35ID:dvnvybavつまりページを再取得するという意味。
0489nobodyさん
2008/03/07(金) 04:07:02ID:slLJ/4/bforeach($_POST as $k => $v){
// 「magic_quotes_gpc = On」のときはエスケープ解除
if (get_magic_quotes_gpc()) {
$v = stripslashes($v);
}
$v = htmlspecialchars($v);
$$k = $v;
}
}
これの意味がわかりません。
なんでこれでデータをゲットできるの?
0490nobodyさん
2008/03/07(金) 04:48:49ID:???0491nobodyさん
2008/03/07(金) 05:13:05ID:???コマンドって・・・
PHPは入力などを受け取ってサーバ側で処理をしてブラウザに結果を返すというだけのもの。
現実的なのはPHPでmetaタグのrefreshコード(HTMLの)を出力するとか。
F5と同じ働きをするわけではないが、結果をリアルタイムに取得して表示することが可能なAjaxという技法を使うか。
チャットとかでリアルタイムに表示したいようなものを作るならAjaxが定番。
ページ遷移が行われるmeta refreshによる自動更新はかえって迷惑なのでやめたほうがいい。
0492nobodyさん
2008/03/07(金) 06:48:34ID:9kEaF3pZ例)1.2.3.4.5
↓
12345
よろしくお願いいたします。
0495nobodyさん
2008/03/07(金) 07:06:26ID:???0496492
2008/03/07(金) 08:20:19ID:???レスありがとうございました。
実際はいくつかの文字変化が必要でしたので次のようにしてみました。
みなさんありがとうございました。
$moji0 = "1.2,3.4,5 6 7" ;
$moji1 = array ("/\./" , "/,/" , "/./" , "/,/", "/ /", "/ /") ;
$moji2 = array ("", "", "", "", "", "") ;
echo preg_replace ($moji1, $moji2, $moji0) ;
0497nobodyさん
2008/03/07(金) 14:31:43ID:l69x+LwZ作る方法を解説したサイトはありますか?
C++の基礎がやっと分かる程度ですが、
Smartyのpluginのような感じで簡単に追加できるならやってみたいと思います。
0498nobodyさん
2008/03/07(金) 14:47:17ID:???function 関数名(仮引数)
例えばaとbを足したものを返す関数は
function sum($a, $b) {
return $a + $b;
}
型ありの言語だと
int sum(int a, int b) {
return a + b;
}
とかになるのかな
http://www.php.net/manual/ja/language.functions.php
0499nobodyさん
2008/03/07(金) 15:38:41ID:???解読願います。
Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
--------------------------------------------------------------------------------
Apache/1.3.34 Server at www.hashimoto-toru.com Port 80
0500nobodyさん
2008/03/07(金) 15:45:32ID:???アクセス集中時で繋がらないときのメッセージ
通常時間をおけば解消する
っていうかスレ違いだしそんくらいググレ
0501nobodyさん
2008/03/07(金) 15:47:29ID:???つ http://academy6.2ch.net/english/
0502nobodyさん
2008/03/07(金) 15:50:14ID:9kEaF3pZなんて読むのでしょう。シンフォニーだとスペルがちがいますし。
またPHPのフレームワークにもいくつかあるようですが、主流というのは
あるのでしょうか。よろしくお願いいたします。
0505nobodyさん
2008/03/07(金) 16:14:58ID:???橋本さんの所の人なんですか?
公人の場合、こういう場所に書くとき、
色んな事に気をつけたほうがいいと思いますけどね。
余計なお世話ですけど
0506nobodyさん
2008/03/07(金) 16:35:51ID:???政治家のサイトの更新するようなやつがそんな質問するわけないw
0507nobodyさん
2008/03/07(金) 16:40:13ID:???0509nobodyさん
2008/03/07(金) 16:51:40ID:???Symphonyだと音楽のほうがぱっと思い浮かぶから
Symfonyは単語として存在しない=PHPのフレームワークをさす固有名詞になれる
この名前がそういう理由でつけられたかはわからないが
そういう理由で単語にないものをつけるのはよくあること
商標登録(だっけか?)とかそういうのするときにも使えるしな
日本ではCakePHP Symfonyが特に人気
PHPのフレームワークはソースごとサーバにアップロードすれば動くものなので
人気かどうかを考えるより自分にあったものを使えばよろしい
個人的には和訳ドキュメント量が豊富なのを使うようにしてるけど
0510nobodyさん
2008/03/07(金) 17:07:00ID:???0511nobodyさん
2008/03/07(金) 17:12:20ID:???くだらねぇ事だけど、symfonyの先頭は小文字にしような。
0512502
2008/03/07(金) 17:13:51ID:???>日本ではCakePHP Symfonyが特に人気
CakePHPも調べてみます。ありがとうございます。
0513nobodyさん
2008/03/07(金) 18:39:08ID:ysjWWEjVheader("Content-Type: audio/mpeg");
$hoge = file('hoge.mp3');
$data = "";
foreach($hoge as $hogehoge) {
$data .= $hogehoge;
}
echo $hoge;
これで
「http://www.hogehoge.com/hoge.php?hoge=hoge1.mp3」
こんなことできるかなーって思ったんだが
最初の3秒ぐらいしか再生されず。
何故?
0514nobodyさん
2008/03/07(金) 18:42:20ID:ysjWWEjV最後は
echo $data です。
0515nobodyさん
2008/03/07(金) 18:52:44ID:ysjWWEjVあ、MP3読み込んでるのにmpegをheaderで指定しているからか。
ありがとうございました。
0516nobodyさん
2008/03/07(金) 18:57:31ID:???0517nobodyさん
2008/03/07(金) 18:59:10ID:???http://jp2.php.net/manual/ja/function.readfile.php
0518nobodyさん
2008/03/07(金) 19:05:38ID:???ありがとうございました。
0519nobodyさん
2008/03/07(金) 19:15:56ID:???こんな偉大な言語はない。
但し、PGになるハズが無かったPGを存在たらしめた副作用も意識しなければいけない。
0520nobodyさん
2008/03/07(金) 19:28:21ID:???0522nobodyさん
2008/03/07(金) 19:30:03ID:???↓を追加したら最初のコードで問題無く聴けたよ。
header("Content-Length: ".filesize('hoge.mp3'));
しかしまあ>>513のコードはなんか気味悪いな。
改行しないfile関数があってもよさそうだね・・。
0523nobodyさん
2008/03/07(金) 19:30:53ID:???0524nobodyさん
2008/03/07(金) 20:41:02ID:ysjWWEjVナヌ、そんなに気味悪いのか
http://nyx.pu1.net/function/filesystem/file.html
この辺参考にしたんですがね。
>>522
http://www.phppro.jp/news/75
ここにある「Warning: filesize(): stat failed for dummyfile in ... 」
このエラーが出ました。
どうやら容量が大きいらしく使えませんでした。
とりあえずやりたいことはできたので解決です。
ありがとうございます。
0525nobodyさん
2008/03/07(金) 22:11:52ID:d1NS98q0PHPで書いたスクリプトを定時に作動させたいのですが、
それってシェルスクリプトというのを書けばいいのでしょうか
それ以外に簡単な方法はないでしょうか
ちなみに扱える言語はPHPだけです
0526nobodyさん
2008/03/07(金) 22:24:49ID:???0527nobodyさん
2008/03/07(金) 22:26:54ID:l69x+LwZUNIX厨は市ね。
0528nobodyさん
2008/03/07(金) 22:28:38ID:???私が借りてるサーバーはcronも使えるようです
cronも全くわからないのでやり方調べてきます
ありがとうございました
0529nobodyさん
2008/03/07(金) 22:32:04ID:???0531nobodyさん
2008/03/07(金) 22:54:58ID:???0532nobodyさん
2008/03/07(金) 23:33:33ID:???情報弱者乙
http://www.kalab.com/freeware/cron/cron.htm
0533489です
2008/03/08(土) 00:16:04ID:hakb0/u4foreach($_POST as $k => $v){
// 「magic_quotes_gpc = On」のときはエスケープ解除
if (get_magic_quotes_gpc()) {
$v = stripslashes($v);
}
$v = htmlspecialchars($v);
$$k = $v;
}
これでたとえば、html上のフォームのデータ
がすべて受け渡しができる意味がわからないのですが
教えてください。
0535489です
2008/03/08(土) 00:38:44ID:hakb0/u4magic_quotes_gpc = Onのときはエスケープ解除って
どういう意味?
0536nobodyさん
2008/03/08(土) 01:41:07ID:???0537nobodyさん
2008/03/08(土) 02:17:31ID:l7Ped3Na参照ボタンを押してダイアログからファイルを選択し開くボタンを押すと
同時にサーバに送る方法はありませんか?
0539nobodyさん
2008/03/08(土) 02:36:56ID:???0540nobodyさん
2008/03/08(土) 02:41:08ID:l7Ped3Naどっかで見た気がしたんだけどな。
0541nobodyさん
2008/03/08(土) 02:52:35ID:???PHPだけじゃできないが可能でしょ。
問題は自分で使うならいいが、公開する場合そんなハタ迷惑な実装はやめていただきたいものだな。
0542nobodyさん
2008/03/08(土) 03:01:01ID:???前に>>537と似た内容の要求仕様があったんで、そっくりに作ったFLASHで勘弁してもらったことがある。
0543nobodyさん
2008/03/08(土) 03:09:07ID:???0544nobodyさん
2008/03/08(土) 04:44:40ID:???参照は出来た筈なので
値が変わればpostしてやるjavascriptを動かせば良い
gmailとかでファイル添付しようとしたら自動でアップされるので
それを参考にすると良いんじゃない(JS側だけ)
0545nobodyさん
2008/03/08(土) 11:59:45ID:GVJUSgTCxamppをインストールしてphpmyadminにアクセスしようとしているのですが、
エラーが出てしまい、使えなくて困っています。
やったこと:
・http://www.apachefriends.org/jp/xampp-windows.html から xampp-win32-1.6.6a-installer.exe をダウンロード・インストール
・http://localhost/ にアクセスして「日本語」をクリック
・http://localhost/xampp/ の左の一覧から「phpMyAdmin」をクリック
→下記のようなエラーメッセージが表示される。
--- ここから
phpMyAdmin 2.11.4 へようこそ
MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください
エラー
MySQLのメッセージ:
接続できません: 設定が無効です
--- ここまで
・config.inc.phpを色々いじった
・$cfg['Servers'][$i]['user'] = 'root'; の root を root@localhost とか root@127.0.0.1 とか変えてみたり
・コマンドラインからmysqlに入って、rootのパスワードを空ではなく適当な文字列にしてみたり
(それに伴い、$cfg['Servers'][$i]['password'] = '';は変更しています)
→メッセージに変わりなし
xamppは、インストールするだけで、とくに設定変更なしでphpmyadminも使えたと記憶していたのですが。。。
スレ違いであれば誘導お願いします。
0546nobodyさん
2008/03/08(土) 12:02:46ID:???0547nobodyさん
2008/03/08(土) 14:29:42ID:l7Ped3Naご意見どうも。やらねばならない事情がある。
>>544
gmailでやってるのか。参考にしてみます。thx
0548nobodyさん
2008/03/08(土) 14:35:55ID:???<input type="file" onChange="alert('onChange')"/>
0549nobodyさん
2008/03/08(土) 14:41:15ID:???クリックしたら+1されるスクリプトをテストで組んでサーバーに上げて試してみたら
どうしても「+2」ずつとかされて「あれ?おかしいな?」と思っていたら、なぜかグーグルのクローラーに拾われてた。
俺がクリックした瞬間に来るから
おかげでクリックする度に「+1」だったり「+3」だったり明らかに挙動がおかしい・・・
とゆうかサーバーにファイルをあげてから10秒ぐらいでクローラーが巡回しにきたんだが、
一体何なんだ・・・・こえーな・・・
0550nobodyさん
2008/03/08(土) 14:43:01ID:i79H3oERアクセス解析.phpを、サイトのトップに<iframe>で表示させて情報を取得させています。
しかしこれだとそのサイトのトップのリファラーしか得られません。
トップにアクセスした時点のリファラーって取得できないのでしょうか?
0555nobodyさん
2008/03/08(土) 14:54:19ID:???http://hoge.net/index.php?mode=hoge
「↑のURLにアクセスしたら、ログのデータに+1する」っていう感じの10行程度のプログラムだぜ?
>>553
「+1」したPCのログに「66.249.70.232(グーグルのクローラー)」が残ってた。
無論自分だけしか知りえないサーバーで、どこからもリンクは貼られていない。
何回も何回もしつこくきやがる・・・・。何か気味悪い・・・
0556nobodyさん
2008/03/08(土) 14:54:33ID:???0559nobodyさん
2008/03/08(土) 15:05:02ID:???陰謀論というかちゃんとログが残るように作ってるから、そいつがアクセスしているのは事実なんだけどな。
まぁ、metaタグでクローラーの巡回を禁止にすれば済む話ではあるが、ただちょっと、
誰も知りえない隔離された場所に一人でいたつもりが、予想外の訪問者があってビビッタだけ
0560nobodyさん
2008/03/08(土) 15:22:11ID:???http://www.google.co.jp/support/webmasters/bin/answer.py?answer=33569&topic=8843
>Googlebot はどのくらいの頻度でウェブ ページにアクセスしますか。
>
>Googlebot は、平均して数秒に 1 回を超える頻度でサイトにアクセスすることはありません。
>ただし、ネットワークの遅延などにより、短期間の間にアクセス頻度がわずかに増えるように
>見える場合があります。
0561550
2008/03/08(土) 16:11:04ID:i79H3oERhttp://wiki.makotokw.com/index.php?Web%2FCGI%2F%A5%A2%A5%AF%A5%BB%A5%B9%B2%F2%C0%CF#k6cd7bc6
CGIの場合について書かれていて、PHPではどうすればいいかわかりません。
エッチな方、教えて下さい。
0562nobodyさん
2008/03/08(土) 16:19:52ID:???JSでhoge.phpに
JS側
if (document.referrer == parent.frames.location) {
refer = top.document.referrer;
} else { refer = document.referrer; }
refer = escape(refer);
document.write('<img src="hoge.php?referer=' + refer +'">');
php側
<?php
$ret = null;
if (isset($_GET['referer'])) {
$ref = $_GET['referer'];
}
ここらへんで$ref似格納してあるリファラの処理
// 以下画像出力
$img = "R0lGODlhAQABAIAAAP///////yH5BAAHAP8ALAAAAAABAAEAAAICRAEAOw==";
header("Content-Type: image/gif");
echo base64_decode($img);
0563nobodyさん
2008/03/08(土) 16:21:18ID:???0565550
2008/03/08(土) 16:46:44ID:i79H3oERエッチな人ありがとうございます!
親フレームのリファラ取得に成功しました!
0566nobodyさん
2008/03/08(土) 18:30:05ID:???どういった形にすれば実装が可能でしょうか?
例えば
--------------------------------------------
http://aaaaaaaaaa.aaaaaaaaa.aaaaaaa
http://bbbbbbbbbb.bbbbbbbbb.bbbbbbb
ああああああああああああああああああ
http://cccccccccc.ccccccccc.ccccccc
--------------------------------------------
という文字列が入力された場合、
$ary[0]に http://aaa.... を格納。
$ary[1]に http://bbb... を格納。
$ary[2]に http://ccc... を格納。
という具合です。
正規表現でのアプローチ以外は無理と判断してずっと頭を悩ませているのですが、
いくら考えても非常に難解で詰まってしまっています。
宜しくお願い致します。
0569nobodyさん
2008/03/08(土) 19:08:59ID:???0570nobodyさん
2008/03/08(土) 19:17:23ID:???preg_match_all('/^(http?|https)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $strInputDate, $aryURL);
こんな感じで実現できそうです。
多謝!
0572nobodyさん
2008/03/08(土) 22:29:38ID:???0573nobodyさん
2008/03/08(土) 22:39:30ID:???繰り返し処理 while文 はどうゆう時に使うんでしょうか?
0574nobodyさん
2008/03/08(土) 22:42:56ID:???0578nobodyさん
2008/03/09(日) 01:12:26ID:???変数に値の受け渡しが出来てなくて
フォームタグが一切効かないんですが(反応しない)
同じソースコードなのに環境によって変わるものなのでしょうか?
0579nobodyさん
2008/03/09(日) 01:34:54ID:bMNZC/Zo参考にさせて頂きます。
ありがとうございました。
※実は、スパムメール業者から1クリ詐欺のURLの掛かれたメールが届いたので
勉強中のPHPで何万回かアクセスをしてサーバに負荷をかけてやろうと思ってましたw
.NETのWindowsアプリから直接サーバをコールした方がてっとりばやいそうですね。
0580nobodyさん
2008/03/09(日) 01:45:09ID:???phpでhtml作成する関数ってあったでしょうか?
0582578
2008/03/09(日) 01:58:11ID:???<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC_JP">
<title>formtest</title>
</head>
<body>
<FORM ACTION="formtest.php" METHOD="POST" NAME="line">
名前<INPUT TYPE="TEXT" NAME="name" SIZE="15"><br>
コメント<br>
<TEXTAREA NAME="comment" rows="4" cols="60"></textarea><br>
<INPUT TYPE="SUBMIT" VALUE="submit">
<INPUT TYPE="HIDDEN" NAME="action" VALUE="regist">
</FORM>
<?php
if($action == "regist"){
if(($name != "") && ($comment != "")){
print "渡ったよ";
}
}
var_dump($_POST);
?>
</body>
</html>
var_dump($_POST);では値は渡っていますが$nameや$commentには渡っていません。
0583nobodyさん
2008/03/09(日) 02:02:25ID:???これかなぁ。
http://www.php.net/manual/ja/ini.core.php#ini.register-globals
0584nobodyさん
2008/03/09(日) 02:04:27ID:???0585nobodyさん
2008/03/09(日) 02:06:39ID:???0586nobodyさん
2008/03/09(日) 02:08:57ID:???一度onに切り替えてうまくいったらoffに戻して
そっちのやり方を調べてみます。
0587nobodyさん
2008/03/09(日) 02:11:49ID:???1文字 1バイトとかですか?
0588nobodyさん
2008/03/09(日) 02:17:00ID:???オススメはしないが
extract使えば入るよ
<?php
extract($_POST);
if($action == "regist"){
if(($name != "") && ($comment != "")){
print "渡ったよ";
}
}
0590nobodyさん
2008/03/09(日) 02:25:23ID:???>588
extractって初めて聞きました。
POSTの配列の値をnameやcommentに入れてるみたいですね。
これやったら動きました。ありがとうございます!
0591nobodyさん
2008/03/09(日) 02:34:11ID:O0qbW4Oe設定は phpinfo() で確認すべし。
0592nobodyさん
2008/03/09(日) 02:35:35ID:???0593nobodyさん
2008/03/09(日) 02:43:17ID:???原因がわかったのでグローバル変数でアクセスとやらを調べてきます。
ありがとうございます。おやすみなさい。
0594nobodyさん
2008/03/09(日) 03:04:56ID:???どこでこのサンプルを拾ったか分からんが。
register_globalsがonとかextractで動くようなサンプルは参考にしないほうがいい。
0595nobodyさん
2008/03/09(日) 03:16:07ID:???もうちょっとレベルが上がったら
他の配布プログラムなどがどのような構造になっているか見てみます。
0597nobodyさん
2008/03/09(日) 08:26:07ID:???0598nobodyさん
2008/03/09(日) 11:37:23ID:8H4G5Ydoファイルにしてダウンロードさせたいのですが
↓の方法以外に何かよい方法はないでしょうか、たとえば変数の中身をファイルに変えてブラウザに出力など
一時ファイルを作成→その一時ファイルに文章を書き込み→一時ファイルをリンクで開く
0599nobodyさん
2008/03/09(日) 12:59:10ID:???もしまた詰まりそうならそのときによろしくお願いします
0600nobodyさん
2008/03/09(日) 12:59:51ID:???0601nobodyさん
2008/03/09(日) 15:08:02ID:???または存在しないContentTypeでいけそう。
0602nobodyさん
2008/03/09(日) 16:57:34ID:???どのくらいかかってるんでしょうか?
0603nobodyさん
2008/03/09(日) 17:08:32ID:???0605nobodyさん
2008/03/09(日) 17:43:00ID:???0606nobodyさん
2008/03/09(日) 17:45:27ID:/1sOFXZx機能はNGワードを指定すれば以前の投稿でもNGワードが含まれている場合は非表示に出来る程度で十分です
0608nobodyさん
2008/03/09(日) 18:08:38ID:???0609nobodyさん
2008/03/09(日) 18:08:44ID:???0610nobodyさん
2008/03/09(日) 18:14:08ID:???レンタルですけど。
0611nobodyさん
2008/03/09(日) 18:24:15ID:???>3時間で理解できるphpの高機能掲示板スクリプトはありませんか?
そんな都合のいいもんはない
>機能はNGワードを指定すれば以前の投稿でもNGワードが含まれている場合は非表示に出来る程度で十分です
どういう風に実装すれば見当がつかないからこんな質問してるんでしょ?
こんくらいの実装がわからないようじゃ3時間なんて無理無理
もしわかるならどう実装すればいいか言ってみ
まぁそれが言えたらその通り実装すればいいって話になっちゃうんだが
0612nobodyさん
2008/03/09(日) 18:24:35ID:???プログラムできない人なら何時間も掛かるだろうなぁ。
仕事でプログラミングやっている人は、
ほとんどマニュアル見ないで組み上げるから、
そこが日曜プログラマーとの違いとも言える。
0613nobodyさん
2008/03/09(日) 18:28:59ID:???PHPを初めて触って掲示板を何時間で作れるかってことだよな。
非三時間で一ヶ月かかりました。ハイ。
0614nobodyさん
2008/03/09(日) 18:29:41ID:???これマルチだから、放置して。
0615nobodyさん
2008/03/09(日) 18:32:06ID:???0616nobodyさん
2008/03/09(日) 18:34:12ID:???確かに、phpなら20、30分で出来るが、UNIX-Cで組めって言われたら、
半日か1日掛かるかも知れんな。
0617nobodyさん
2008/03/09(日) 18:54:18ID:/1sOFXZx誘導されました
Webサイト制作初心者用質問スレ Part 194
http://pc11.2ch.net/test/read.cgi/hp/1204015309/578
誘導前の書き込みを転載しておきます
http://pc11.2ch.net/test/read.cgi/hp/1204015309/577
> 577 名前:Name_Not_Found[] 投稿日:2008/03/09(日) 14:48:08 ID:mZE1IfQG
> >>574-575
> では「書いた本人が1年後に見直して3時間で理解できる」でお願いします。
0618nobodyさん
2008/03/09(日) 19:14:19ID:???言ってる意味がわからない
理解できなきゃ書けないし定期的にいじってれば忘れることはないので1年後も理解できるだろ
通常バグ修正でたびたびいじる機会もあるし理解は深まる一方のはずだが
とりあえずプログラム基礎がない0からの素人じゃ他人のソース見ても3時間で到底理解できるはずがない
理解できるってのが設置に対する理解であってただのスクリプト探していますというだけならスレ違い
Web制作板に昔あった気がするがなくなってるけど
0620nobodyさん
2008/03/09(日) 19:31:20ID:???0621nobodyさん
2008/03/09(日) 19:56:48ID:???0622nobodyさん
2008/03/09(日) 20:53:50ID:3KfA+lxFこれってどうやってデコードすればいいんですか。
urldecode base64 gzinflate
は効果無しでした。
はてなブックマークエントリー情報取得APIで得られる情報なんですが
http://b.hatena.ne.jp/entry/json/http://usrb.in/nce
どなたかお願いしまうま
0623nobodyさん
2008/03/09(日) 21:06:30ID:???0624nobodyさん
2008/03/09(日) 21:20:15ID:3KfA+lxFありがとう。
Services_Jsonでパースしたら
エンコードされてる部分が「a」とか「c」
になっちゃうんですよね
Jsonパース自体が問題あるのかもしれないですね。
tagsの部分
Array
(
[0] => Firefox
[1] => extension
[2] => a
[3] => a
[4] => 3a
[5] => a
[6] => 3a
[7] => c
[8] => ≫
[9] => YouTube
)
これは他のパーサーでやったほうがいいということですかね。
0625nobodyさん
2008/03/09(日) 21:24:35ID:???3ヶ月勉強すればニワカ技術者としてお金貰える世界なんだから、
全体的に低レベルな議論ばかりでもしょうがない。
単純労働者よりはマシ程度。
0626nobodyさん
2008/03/09(日) 21:44:23ID:???0627nobodyさん
2008/03/09(日) 22:56:33ID:???そのバージョンのPHPはどうやって入手したらよいのですか
0629nobodyさん
2008/03/09(日) 23:56:05ID:???phpに関してはガンガンverUPしないとだめだよね
0630nobodyさん
2008/03/10(月) 01:16:14ID:???http://jp.php.net/manual/ja/function.empty.php
戻り値の所に「var が空でないか、0でない値であれば FALSE を返します。 」
ってあるのに例だと「// $var が空なのでtrueと評価されます」ってなっているんだが、
これっておかしくない?falseじゃないの?
0632nobodyさん
2008/03/10(月) 01:21:25ID:???って事だからあってると思うが?
0633nobodyさん
2008/03/10(月) 01:21:39ID:???お前の読解力が足りない日本語勉強しれ
varが空でない=varには何か入っている→falseを返す
varが空→trueを返す
0634630
2008/03/10(月) 01:23:01ID:???ごめん。勘違いしてたわ・・・・
値があったら→false
値がなかったら→true
か。_ノフ○
0635nobodyさん
2008/03/10(月) 01:29:31ID:???なれないうちは難しい表現ではあるわな。
始めのうちは多少手間でも「?」と思ったら=で繋げていったりしないと間違うべ
0636nobodyさん
2008/03/10(月) 01:36:38ID:???ま、いいけどさ。
>次のような値は空であると考えられます。:
>"" (空文字列)
>0 (0 は整数)
>"0" (0は文字列)
>NULL
>FALSE
>array() (空の配列)
>var $var;(変数が宣言されているが、クラスの中で値が設定されていない)
0637nobodyさん
2008/03/10(月) 04:29:19ID:???ファイルなどをアップロードする場合、
input type=fileなどを使い、PHPでサイズ上限などを設定して処理しますが
画像よりもっと大きいファイル、500MBくらいのものをアップロードするにはどうしたらいいでしょうか?
特に制限を設けず参照ボタンからアップロードした場合はタイムアウトするのか、失敗してしまいます。
0638nobodyさん
2008/03/10(月) 04:31:03ID:???0639nobodyさん
2008/03/10(月) 04:41:34ID:???php側の制限なら何かしら出てるはず
0640nobodyさん
2008/03/10(月) 04:43:36ID:???0641nobodyさん
2008/03/10(月) 13:05:23ID:???そんなでかいファイルをアップロードしないでください
ピーエッチピーがかわいそうです。
いろいろなことはこの際度外視して
どうしてもやりたいならFTPのアノニマスユーザーで
アップロードできるようにした方が良いと思います。
0642nobodyさん
2008/03/10(月) 13:13:17ID:???PHPがやってることが、ストリームの内容を、全体をメモリ中にバッファしたりしないで、一時ファイルに出力してるだけなら、
あまりかわいそうでも無いと思ってるんだけど、実際のところどうなんだろ。
0643nobodyさん
2008/03/10(月) 13:14:32ID:???素直にftpを使うほうがいい気がするけど。
別にphpはかわいそうとは思わないw
0644nobodyさん
2008/03/10(月) 14:03:26ID:???おまえ→PHPタン→/tmp
<上がりきるまで繰り返し>
アップロード正常終了
/tmp/アップロードしたファイル→PHPタンが指定したパス
っていう順序でデータが流れます。
まるっとメモリに溜め込んだりはしないみたいなので、あんまし
可哀想でもありません。
むしろ、いぢめたくなるくらい可愛い(w。
0646nobodyさん
2008/03/10(月) 14:45:27ID:???0647nobodyさん
2008/03/10(月) 15:12:34ID:9++q5i3u今は
$date = date("i");
if(substr($date,0,1) == 0){
$date = substr($date,1,1);
}
こんな感じでやってるのですが不便です。
0649nobodyさん
2008/03/10(月) 15:24:42ID:???$date = (int)date('i');
$date = (int)"01";
var_dump($date);
0650nobodyさん
2008/03/10(月) 15:30:44ID:9++q5i3uやはりないですか、ありがとうございます。
>>649のやり方の方がスマートなので参考にさせていただきます。
0651nobodyさん
2008/03/10(月) 16:16:07ID:ZuF9csThcurlを使ったバッチをphpで作ったのですが、
コマンドラインから実行するとcurlの取得結果が流れています。
これを無くしたいのですがどのようなオプションを指定すれば良いのでしょうか?
よろしくお願いします。
centOS 5
apache2、php5、
0654nobodyさん
2008/03/10(月) 18:37:15ID:???0655nobodyさん
2008/03/10(月) 18:48:35ID:IVVyU3M+1.
ファイル(タブ区切りやcsvなど)と連携させて管理するのと
MySQLなどのRDBMSと連携させてで管理するのは
どのような違いがあり、件数によってどのようなメリットデメリットがあるのでしょうか?
2.
またもし仮に現在、ファイルで管理していたとして、みなさんは(目安として)何件程度で
MySQLなどのRDBMSへ管理方法を切り替えようと意識するでしょうか?
少し長いですかこの1.と2.に関して何卒ご教授お願いいたします
0656nobodyさん
2008/03/10(月) 19:02:17ID:???現在は生成にchmodでチェンジしてます。
0658nobodyさん
2008/03/10(月) 19:18:06ID:+peMqgQuこれを一ヵ月後、六ヵ月後、一年後、5年後にホスト名に変換したとき、
どの期間に変換作業を行ってもホスト名は同一でしょうか?
いまIPアドレスかホスト名で記録するか迷います。
0660nobodyさん
2008/03/10(月) 19:29:10ID:+peMqgQu0663nobodyさん
2008/03/10(月) 20:03:18ID:???なるほど・・・
1のメリットデメリットはどういった感じでしょうか?
>>662
ありがとうございます
データが一定量(1,000件〜10,000件?)くらいを境にファイルとデータベースの有利さが代わってくるんですね
0664nobodyさん
2008/03/10(月) 20:05:23ID:???$member ["name"] = "僕ドラえもん";
$member ["age"] = 21;
$member ["tall"] = 70;
print $member ["name"];
print "<br>";
print $member ["age"];
print "<br>";
print $member ["tall"];
?>
<?php
$member = array("name" =>"僕ドラえもん",
"age" => 20,
"tall" =>70);
print $member ["name"];
print "<br>";
print $member ["age"];
print "<br>";
print $member ["tall"];
?>
上と下は同じですが、配列を使うと上より下のほうが楽だよって意味ですか?
0665nobodyさん
2008/03/10(月) 20:29:24ID:???ファイルで不都合することがあってもDBで不都合することはない
少ない件数での速度面は誤差にすぎない
DBに接続する分のオーバーヘッドも微々たるもので気にすることはない
DBはファイルと違ってデータを扱うことに特化して設計されているので
あらゆる面でファイルでデータを扱うより強い
何よりファイルよりずっとデータの管理が楽
まぁそういうわけでデータの管理という点で特に不都合がないならDBを使えばいい
DBが使えない環境下であるか短期で使う間に合わせのものならファイルでもいいと思う
両者は全く違うものなので優劣をつけることはできませーん
0667nobodyさん
2008/03/10(月) 20:52:26ID:???前提条件も定義しないでDBが優位と主張するのは意味不明。
DBとファイルを経験則だけで論じるのは不正確で、
質問者に対して混乱させるだけ。
0668nobodyさん
2008/03/10(月) 20:59:20ID:???配布とか環境とかでどうしようもないならやる
0669nobodyさん
2008/03/10(月) 21:01:44ID:???0670nobodyさん
2008/03/10(月) 21:02:57ID:???0673nobodyさん
2008/03/10(月) 21:09:59ID:???ファイル→ファイル
要するにデータを扱うもの作るときにごちゃごちゃ書かなくてで楽できる→データベース
と書いてみる
0677nobodyさん
2008/03/10(月) 21:58:08ID:???ホワイトベースを思い浮かべればわかりやすいだろう?
0678nobodyさん
2008/03/10(月) 22:07:41ID:???0679nobodyさん
2008/03/10(月) 22:08:45ID:???0680nobodyさん
2008/03/10(月) 22:29:29ID:???仕組みを理解していないと、いつまで経ってもダメなプログラマーどまりだぞ。
0683nobodyさん
2008/03/10(月) 22:55:38ID:???SQLiteなら PHP5にバンドルされてるから、サーバプログラムのインストールもいらないし。
0684nobodyさん
2008/03/10(月) 22:59:38ID:???きっとOSも自作なんだろうなぁ・・・
0685nobodyさん
2008/03/10(月) 23:00:50ID:???(・ω・`)?
0687nobodyさん
2008/03/10(月) 23:02:55ID:???優秀なプログラマはあるものを有効に利用して手早くよいものを作る
OSから自作なんて暇なこと考えるのは優秀とはいえない
0688nobodyさん
2008/03/10(月) 23:04:14ID:???0689nobodyさん
2008/03/10(月) 23:06:50ID:???本気でそう思って書いたんだろうけど反応が悪くて逃げたくなったんだろ
0690nobodyさん
2008/03/10(月) 23:08:49ID:???0691651
2008/03/10(月) 23:09:32ID:???httpsでサーバ間通信するのに使用してます。
>>653
取得結果を解析して必要な内容だけを出力したいのですが、
curlの取得結果が全て出力されてしまうため必要な内容を見るのが大変なんです。
ttp://jp2.php.net/manual/ja/function.curl-setopt.php
なんらかのオプションを使用すればいいのかなと思ったのですがいくつか試してみても駄目だったもので。
0692nobodyさん
2008/03/10(月) 23:14:20ID:???正規表現かなんかで
0693nobodyさん
2008/03/11(火) 00:29:21ID:???IPアドレスって流動的だし、アクセスの規制がやりにくい。
これって、TCP/IPの欠陥じゃないかと思う。どうよ?
0694nobodyさん
2008/03/11(火) 00:34:42ID:???じゃお前がTCP/IPに変わるプロトコル提唱して広めろよと
技術的に自分でやるのが無理なら今の技術で我慢しろ
っていうかスレ違いなんだよ
0696nobodyさん
2008/03/11(火) 00:37:22ID:???続きやりたきゃネット板で。
0697nobodyさん
2008/03/11(火) 00:50:35ID:yiYYpGYN15年ぐらい前はユニークなIDだったよ。
あの頃は完璧だったな。
0698nobodyさん
2008/03/11(火) 00:55:47ID:???0700nobodyさん
2008/03/11(火) 00:57:57ID:???0702nobodyさん
2008/03/11(火) 01:00:38ID:???考えるだけの口だけニートで社会のゴミはお前だ
考えるだけなら猿でもできるんだよ
実行にうつして成功してから言え
0703nobodyさん
2008/03/11(火) 01:01:37ID:???0705nobodyさん
2008/03/11(火) 01:08:57ID:???0706nobodyさん
2008/03/11(火) 01:12:03ID:???0708nobodyさん
2008/03/11(火) 01:41:29ID:???ごめん、何書こうとしてたか忘れた。
0709nobodyさん
2008/03/11(火) 02:07:57ID:???0710nobodyさん
2008/03/11(火) 02:37:30ID:???ニコニコ動画ってカテゴリのタブ押すと、そのカテゴリに飛ぶけど
URLは変わらないんだな
あれはどうやってやってるんだろう?
HTMLを見ると「?g=radio」とかクエリが付いてるけど
0711nobodyさん
2008/03/11(火) 02:52:39ID:???0712nobodyさん
2008/03/11(火) 02:54:03ID:???0713nobodyさん
2008/03/11(火) 03:06:55ID:???innerHTMLでセットしてるだけ
firefox拡張のfirebug使えば直ぐ解るよ
0714nobodyさん
2008/03/11(火) 03:37:31ID:???ご存知の方がおりましたら教えて下さい。
地下鉄13号線が開通した場合に、西武線と東武線は、どこまで乗り入れるのでしょうか?
現在、西武線と東武線には、地下鉄有楽町線が乗り入れていますが、
ここに13号線まで通すとすると、相当な過密ダイヤになると思いますし、
輸送密度が飽和状態になってしまうと思うのですが。
宜しくお願いします。
0715nobodyさん
2008/03/11(火) 03:38:27ID:Nb1PMFs80716nobodyさん
2008/03/11(火) 03:40:23ID:???0717nobodyさん
2008/03/11(火) 04:04:38ID:aGeGDpSrPHPによるWebアプリケーションスーパーサンプル 第2版
で、アプリケーションの部分からぜんぜんソースが複雑
になってきて、半分くらいしかわからないのですが、
これ全部わかるようになりたいです。
どの本やどのソースを見ればいいでしょうか?
買った方意見ください。
0718nobodyさん
2008/03/11(火) 04:07:19ID:???http://pc11.2ch.net/test/read.cgi/php/1203696253/
0719nobodyさん
2008/03/11(火) 05:31:33ID:3im4ko0Nfile_existsが使えません
そこで404 NOT FOUNDが返ってきたら〜という処理をすることにしたいのですが
どの変の関数で実装できますか?
サーバにアクセスしてみてレスポンスコード(あってるかな?)を取得するみたいな感じだと思うのですが
0720nobodyさん
2008/03/11(火) 05:36:41ID:???0721nobodyさん
2008/03/11(火) 05:40:31ID:3im4ko0NPEAR使ったことなくて・・・使い方もわかりませんorz
一応調べてみますが他の関数で間に合いそうならそれもお願いします
file_get_contentsで出来そうな気はしたんですが
404だとWarningが表示されてしまって・・・
エラー制御して消すのはあまりよくないですよね?
0722nobodyさん
2008/03/11(火) 06:20:28ID:o2D8ORnzいや、それで済むならそれで十分だろ
0724nobodyさん
2008/03/11(火) 09:16:08ID:???ソケット使えるなら
http://www.php.net/manual/ja/function.file-exists.php#78656
0725nobodyさん
2008/03/11(火) 11:22:14ID:mDxl1eoa現在携帯電話向けのHPを作成しています。
そこで「直前のページに戻る」リンクを作成したいのですが、
携帯向けHPのため、JavaScriptが利用できず
<a href="javascript:history.back()">戻る</a>
のようなタグも使用することができません。
phpでプログラムを組む事でこの機能は実現できないものでしょうか?
また、HP内部ではPOSTによるページの再帰呼び出しを複数回行っているため、
「ページ(画面)遷移時に直前ページのアドレスを保持しておく方法」
は使えません。
レンタルサーバを使用しており、環境は
OS:Linux
言語:PHP 4.4.8
となっています。
よろしくお願いします。
0726nobodyさん
2008/03/11(火) 11:54:31ID:???URLを保存するでもダメなの?
あとは、画面遷移の時に直前ページとしたいものは
POSTで一緒に投げるとか。
自動でどうにかなるもんじゃないから
そういう仕組みを作るしかないんじゃないかなぁ。
0727nobodyさん
2008/03/11(火) 11:58:28ID:???$obj = new IO::IO();
$obj->get("./data.text",false);
0728nobodyさん
2008/03/11(火) 12:08:52ID:???無理
$obj = new IO();
$obj->getHoge()->get();
とかってーのはphp5あたりからできるけど
0729nobodyさん
2008/03/11(火) 12:18:23ID:???もう解決したかもしれないけど、
setopt で CURLOPT_RETURNTRANSFER か、output_handler で。
0731レビュー ◆cxp7cjXZ1w
2008/03/11(火) 12:28:37ID:???ttp://gameranking.jp/
ページは全てEUC、DBもMySqlなのでEUCで運営してました。
phpAdmin使ってます。
どこに問題があるんでしょうか?
0733nobodyさん
2008/03/11(火) 12:39:20ID:???>>728
やはり無理ですか、どもども
0734nobodyさん
2008/03/11(火) 12:40:16ID:???はい、レン鯖です。xbit。
Mysqlのバージョン変更はしてません。
管理会社からも連絡はありませんでした。
phpAdminから文字コードの変更とかってできるんでしょうか?
0736nobodyさん
2008/03/11(火) 12:52:37ID:???やっぱりそれですかね、、、サポートに連絡しても返事が来なくて、、、もうちょっと待ってみます。
あ、
わざわざ、ありがとうございました
0737nobodyさん
2008/03/11(火) 15:23:17ID:???Java、C++ の enum みたいなことやりたいんだけど、どうしてる?
クラス定数で何とかせいってはなし?
0739nobodyさん
2008/03/11(火) 15:28:56ID:???このごろは文字列をそのまま使ってる。今のところ困って無い。
0740737
2008/03/11(火) 15:48:04ID:???やっぱそうか。。。
定数ファイルは微妙だな。。。ファイル間の結合度が上がるのが好きじゃない。
>>739
あぁなるほど。
文字列入れておけば、var_dump() とかの値見て混乱することもなさそうだね。
0741nobodyさん
2008/03/11(火) 16:03:33ID:???define('HOGEHOGE', '1');
define('HOGEGEGEGE', '2');
みたいにしてるなぁ。
0742nobodyさん
2008/03/11(火) 17:07:29ID:???現在は生成にchmodでチェンジしてます。
0743nobodyさん
2008/03/11(火) 17:11:00ID:???ml("./io");
function ML(){
echo"view";
}
0744nobodyさん
2008/03/11(火) 17:14:43ID:???変数はしてる
0747nobodyさん
2008/03/11(火) 17:40:07ID:???0748nobodyさん
2008/03/11(火) 17:40:10ID:???0751nobodyさん
2008/03/11(火) 21:15:28ID:???0752nobodyさん
2008/03/11(火) 21:17:13ID:???どうしたら良いのでしょう?
$vi common.php
class common{
}
$vi index.php
namespace page;
require "./common.php";
class page extends common{
function main(){
}
}
0754nobodyさん
2008/03/11(火) 23:56:43ID:???エリート技術者が、phpに居ないわけだよ。
0755nobodyさん
2008/03/12(水) 00:01:49ID:???お前だってエリートじゃねーだろ。
javaだってc++の真似ばっかだろうが。
俺はこれでも東京大学理工学部出身だ。お前の学歴入ってみろ。
0756755
2008/03/12(水) 00:08:33ID:???0757nobodyさん
2008/03/12(水) 00:10:23ID:???0758nobodyさん
2008/03/12(水) 00:15:46ID:???phpというだけ安く扱き使われている優秀なプログラマーって可哀想
0759nobodyさん
2008/03/12(水) 03:10:43ID:MCrGmIFl↑これどういう意味ですか?
0760nobodyさん
2008/03/12(水) 03:13:12ID:???冗長
if (ereg("^[0-9][0-9]*[0-9]$",$to_name)){
を、
if (ereg("^[0-9][0-9]*$",$to_name)){
としても同じ
0761nobodyさん
2008/03/12(水) 03:23:48ID:MCrGmIFlいじってるスクリプトがあるんですが
これで値が数字の場合はデータベースにその数字がないと
topページにリダイレクトされるようになってると思うのですが(多分)
数字以外だと処理されないので
アルファベットも追加するにはどう書けばよいですか?
漢字とか、たとえばヘブライ語とかハングルとかもあるし全部判別しないといけないんですかね?
自分でも言ってる意味があれですが
0762nobodyさん
2008/03/12(水) 03:27:30ID:MCrGmIFl寝てないので・・
0763nobodyさん
2008/03/12(水) 04:00:41ID:???上記のような点数で投票した後、投票結果をレーダーチャートで表示してくれるようなスクリプトを探しているのですが
ご存じの方いらっしゃいませんか?
0764nobodyさん
2008/03/12(水) 06:28:40ID:???array{
[0]=>array{ [0]=>banana [1]=>yellow }
[1]=>array{ [0]=>apple [1]=>red }
}
色だけを別の配列に格納したいんだけど、やっぱforeachとかしなきゃだめ?
0765nobodyさん
2008/03/12(水) 07:01:21ID:???0766nobodyさん
2008/03/12(水) 07:34:38ID:az5ZSXBaこれを回避するのってどうやって書けばいいんでしたっけ?
if (isset($_POST['a'])) {
$a = $_POST['a'];
}
みたいなかんじだったとおもうのですが、なんか微妙に違うようで
0768nobodyさん
2008/03/12(水) 08:44:29ID:CaFkVlTghttp://ja.wikipedia.org/wiki/%E6%8B%B3%E6%B3%95←ここです
0769nobodyさん
2008/03/12(水) 08:48:30ID:???0770nobodyさん
2008/03/12(水) 08:52:08ID:???0771nobodyさん
2008/03/12(水) 09:02:18ID:???0772nobodyさん
2008/03/12(水) 09:33:35ID:???Java、PHP、Perl、など、いろいろあって違いがわかりません。
スクリプト言語とかの違いはわかるのですが、
”こういうページに向いてる”というようなのがあれば教えてください。
0773nobodyさん
2008/03/12(水) 10:08:38ID:???一つ覚えれば、他の言語覚えるのも難しくないし。
まぁ、マイナーな言語持ち出すヤツとは距離置いた方が良いけど。
0774nobodyさん
2008/03/12(水) 10:31:46ID:???perlはおすすめしないな
phpかjavaでいいんじゃねぇの
0775nobodyさん
2008/03/12(水) 10:50:46ID:???マイナーな言語って例えばなに?日本ではpythonか?
0776nobodyさん
2008/03/12(水) 11:00:01ID:???0777nobodyさん
2008/03/12(水) 11:02:41ID:???PHPかPerlでいいよ。
実際に作ってレンタルサーバで稼動させるんだろうし、
Javaが動くサーバは高額なので日曜プログラマ向けではない。
というわけで自分が使う環境で動くもので開発すればいい。
結局どういうページ作るにしても作り手次第でよくも悪くもなる。
0778はな
2008/03/12(水) 11:05:18ID:DpVFawg8ユーザーエージェントで
「■■以外は http://▲▲に飛ばす」
を記述する際、エラーになってしまいます。
notとかカッコとかがダメなんでしょうか?
よろしくお願いします。
$ua = $_SERVER["HTTP_USER_AGENT"];
if(ereg((not"■■"),$ua)){
header("Location: http://▲▲");
exit;
}
0779nobodyさん
2008/03/12(水) 11:06:27ID:???python rubyレベルは微妙って感じ。
なんていうか、聞いたことも無いような言語っていっぱいあるでしょ。
Webアプリ組めるか知らんけど、なでしことかHaskellとか。
http://ja.wikipedia.org/wiki/プログラミング言語一覧
0780nobodyさん
2008/03/12(水) 11:06:55ID:???0781nobodyさん
2008/03/12(水) 11:14:03ID:???0782nobodyさん
2008/03/12(水) 11:51:48ID:???最近はそうでもないです
0783nobodyさん
2008/03/12(水) 13:18:34ID:???元の配列作る段階で
array { "banana" => "yellow", "apple" => "red" };
みたいにしておけばいいのに
0784nobodyさん
2008/03/12(水) 13:47:02ID:bPECnjgMこんな感じでマルチバイトで区切れたよね
なぜか
mbregex compile err: empty range in char class
とかエラーが出るんです。
何か使えない文字入っていますか?
0785784
2008/03/12(水) 13:50:01ID:bPECnjgMエスケープしてなかた、ごめんにょ
0787778 はな
2008/03/12(水) 16:06:22ID:DpVFawg8「ereg」 の逆みたいな書き方はありますか?
0789nobodyさん
2008/03/12(水) 16:18:50ID:???!は否定を意味する演算子
eregでマッチするのなら!eregにすればマッチしないという意味になる
基本すよ
0790nobodyさん
2008/03/12(水) 16:47:27ID:???0792nobodyさん
2008/03/12(水) 17:01:20ID:???${sample}
みたいな変数の書き方があるのを初めて知ったのですが、
これは
$sample
とはどう違うのでしょうか??
0793nobodyさん
2008/03/12(水) 17:07:28ID:???詳しくはマニュアルのここ読むとよいですよ
http://jp2.php.net/manual/ja/language.types.string.php#language.types.string.parsing.simple
0794792
2008/03/12(水) 17:17:51ID:???0795nobodyさん
2008/03/12(水) 18:30:32ID:???ON/OFF したいときって、CGI モードを使って
dl() を使う以外に、なにか方法ない?
.htaccess か、ini_set() で何とかなるとよさげなんだけどなぁ。。。
0796nobodyさん
2008/03/12(水) 19:14:37ID:W7u96JdGhogehoge.com - 割り当て - public_html(ディレクトリ)
例えば public_html に入っている test.php の内部に記述すると、
hogehoge.com を自動的に判断して、そこに代入される感じです。
現在共通パーツがあるのですが、置換速度が遅くなるほど
画像、文章、タグが入り込んでいて簡略化したいのですが。
0798nobodyさん
2008/03/12(水) 19:33:14ID:30ilS6/S正規表現でURLからホストのみ抜き出したいんですが
URLを抽出するサンプルしか検索にかからなくて困っております。
「ホスト抽出 正規表現 URL php」などで検索かけてみました。
なので自作関数を作ろうと思ってるのですがホスト名というのは
「//(スラッシュ)」が二回出たところから
「/(スラッシュ)」が三回目に出たところまで
を抽出する考えで間違っていないのでしょうか?
よろしくお願いします。
0800nobodyさん
2008/03/12(水) 19:43:06ID:30ilS6/Sなるほど、このような関数があるのですね。
ありがとうございました。
0802nobodyさん
2008/03/12(水) 22:41:25ID:frkhoFZAクラスをnewしたままプログラムを終了しているのですが、
Javaみたいにオブジェクトを破棄する処理をしないといけないのでしょうか?
メモリーに使わなくなったオブジェクトがどんどん溜まって
メモリーの使用量がどんどん上がってことはありますか?
実は、時間が経過するについてメモリーの使用量が増えていき、
ある一定の使用量になると何もしていないのに勝手にapacheの再起動されます。
原因として考えられるのがこれくらしか思いつきません。
宜しくお願いします。
0803nobodyさん
2008/03/12(水) 22:56:45ID:???0804nobodyさん
2008/03/13(木) 00:08:01ID:r9ewSs4Nphp_openssl.dll を有効にして fsock を使用するのと、
php_curl.dll を有効にして、cURL を使う方法、
どちらの方が良いのでしょうか?
0805nobodyさん
2008/03/13(木) 00:13:12ID:???0806nobodyさん
2008/03/13(木) 00:42:40ID:???内部では使用していないクラスやオブジェクトを、自動的に破棄してくれる機能はありますが
即時性はなく一定時間キャッシュされてしまいます
ですので、メモリーの節約や行儀的には明示的に開放しないといけません
0807nobodyさん
2008/03/13(木) 00:46:28ID:???作り方次第では永遠に開放されない場合はある
(保持されたままガンガン新しく作り続ける)
0808nobodyさん
2008/03/13(木) 01:22:59ID:???> ある一定の使用量になると何もしていないのに勝手にapacheの再起動されます。
apacheが再起動するのか、
PHPがapacheに再起動させられるのか
日本語でおk?
apacheの設定といろんなモジュールとアプリによっては、
プログラムを終了しても、メモリーがどんどん増えるなんて現象
ありえるかもしれんが、普通はないんじゃない?
いろいろ使っていれば、まずそっちを疑うだろうし。
サーバーとかOSとかアプリの仕様とか、情報が足りなすぎ。
あとPHPでもJavaでもクラスをnewしたまま終了しても一般的には問題はない。
パフォーマンスに関係することもあるが、不具合的な現象が起こることはない。
0809nobodyさん
2008/03/13(木) 01:29:47ID:???何度も呼び出して実行していると使用メモリが増大するのかも良くわからん。
前者なら、メモリリークが発生する事があるのは自明。
後者なら環境変えても発生するのか知りたいところ。
0810778 はな
2008/03/13(木) 01:51:47ID:???ありがとうございました!
できました(^^)
>788、>789
すいません、言われて気が付きました!
ありがとうございました!
0811nobodyさん
2008/03/13(木) 01:52:09ID:Kk2Hpxcbこうゆう奴が平気でメモリリークするプログラム組むんだよな・・・
0813nobodyさん
2008/03/13(木) 02:11:58ID:???アドバイス色々とありがとうございます。
オブジェクトについては、プログラマムを終了した時点で、
破棄される又はいつでも破棄されるうる状態に遷移するんですね。
メモリー使用率を監視していると、時間の経過とともに増えていきます。
そして、一定の使用率(20%)を超えた位でapacheが再起動します。
その瞬間メモリー使用率が10%前後になります。そして又増えるのサイクルです。
となると、やはりphpが原因としか考えられない気がします。
セマフォ関係のphpのメモリ関数は使っていません。
OSもFreeBSD6.2Rの安定バージョンを使っています。
また、特定のスクリプトが長時間動いているということはありません。
開発環境はWindowsを使ってやっていますが、
ここでも不具合は出来ます。ある一定の時間がたつとDBへの接続エラー※が発生して、
そのときもapacheを手動で再起動しないとDB関係の処理は全て失敗します。
※接続エラーは、接続は出来るもののTBLからデータが取得できません。apache再起動でTBLへ接続可能です。
あれ、もしかしてもPDOかな?PDOを使い初めて少し立った位からそういう症状になったような。
構成をちょくちょく変えているので、どれが原因が検討が付かないです・・・
0814nobodyさん
2008/03/13(木) 02:29:56ID:???0815nobodyさん
2008/03/13(木) 03:30:37ID:???0816nobodyさん
2008/03/13(木) 04:02:21ID:???オブジェクトの扱い方が悪いんじゃない?
0817nobodyさん
2008/03/13(木) 11:07:35ID:???終了してもメモリリークしたりしたら、PHP言語で書いたコードに
問題があることは無いだろう。使用しているモジュールか
apacheそのものに根本的な問題がある。
その問題を回避する為にPHP言語で書いたコードを修正することは
あるだろうが、あくまで根本的な問題はPHP言語で書いたコードには無い。
0818nobodyさん
2008/03/13(木) 11:27:55ID:???0819nobodyさん
2008/03/13(木) 11:28:34ID:Kk2Hpxcbsingleton実現するためにmemcached入れたりとか。キャッシュ系だな。
>>813はDBコネクションが切れてないだけのようだが。
0821nobodyさん
2008/03/13(木) 11:43:31ID:???>>802を読め。終了する と書いてあるだろ。
たしかに終了させない方法もあるが、
そういうことをしていれば、普通自分で気づくだろ?
0822nobodyさん
2008/03/13(木) 11:57:11ID:???php.iniのメモリ使用量が少ないんじゃねぇの?
4と5じゃ大違いだし。
0823nobodyさん
2008/03/13(木) 12:21:35ID:???リモートデバッグonにしてみるとか?
http://bobchin.net/xdebug/docs-settings.html#debugger
0824nobodyさん
2008/03/13(木) 12:37:21ID:???0825nobodyさん
2008/03/13(木) 12:38:48ID:???0827nobodyさん
2008/03/13(木) 12:41:06ID:???0828nobodyさん
2008/03/13(木) 12:45:46ID:???0829nobodyさん
2008/03/13(木) 12:46:32ID:???もしメモリ制限がかけられているPHPで、
再帰ループでメモリ食いつぶしてOS落としたのなら、
確かに、それはお前だけだろうなw
0830nobodyさん
2008/03/13(木) 12:55:36ID:???正直、落ちる理由がよくわからないが再帰を使わないようにすれば落ちなくなったw
ログを見た限りではswap領域が確保できないからhttpdを殺す!ってメッセージが残って
その後音信不通になっている
0831nobodyさん
2008/03/13(木) 12:59:19ID:???メモリ制限かけてあるから、設定以上の領域が確保できなくて落ちた?
0833nobodyさん
2008/03/13(木) 13:43:59ID:???phpとApacheの設定を怪しんだ方が正解だな。
0835nobodyさん
2008/03/13(木) 14:06:08ID:+qmn4vHFyoutube APIのvideos.list_by_tagで検索って
upload_timeの順に取得できないの?
http://www.youtube.com/dev_api_ref?m=youtube.videos.list_by_tag
普通に引っ張ると関連度の高い○○件引っ張ってから
それをソートして1番に持ってくるとかしかできなくて不便だし
引っ張った○○件中のアップロード時間が一番最近の物しか引っ張れない。
http://www.youtube.com/rss/tag/タグ.rss
こんな感じにすれば最新の物引っ張れるが
これだとAPIの機能と混ぜなきゃいけないからめんどう。
どうしたものか。
0836nobodyさん
2008/03/13(木) 14:07:13ID:???プロセスが消えるから再起動したと勘違いしてるとかw
0837813
2008/03/13(木) 15:27:05ID:OwBZy3+Jバージョンは書き忘れてしました。すみません。5.2.5です。
>>822さんへ
>>php.iniのメモリ使用量が少ないんじゃねぇの?
>>4と5じゃ大違いだし。
php.iniでメモリー使用量というのは、
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)
のことでしょうか?
とりあえず、これを上げてみて様子をみてみます。
>>814さんへ
パフォーマンス向上のためコネクションプールを使っていますが、
メモリーに常住するといういみではこれも怪しいですね。
一回解除してみます。
>>836
apcheのログを見ると、リスタートしているログが残っていますし、
Apache Server Statusのrestar timeとも合致します。
MRTGでリソース監視していますが、httpdのプロセス数やCPUの使用率をみても、
強制再起動と因果関係がなさそうです。
>>819さんへ
>singleton実現するためにmemcached入れたりとか。キャッシュ系だな。
phpにキャッシュする実装はしていないです。代わりに、MySQLのMEMORYテーブルを作って高速化はしています。
設定を変えて1日、2日様子を見て、またご報告させて頂きます。
障害の切り口がお陰で分かりました。どうもありがとうございました。
0838nobodyさん
2008/03/13(木) 16:49:31ID:???実はlogrotateとか、MaxRequestsPerChildとかで殺されてるってことは無いの?
可能ならgdbをサーバプロセスにアタッチして監視するとかしたら?
0839nobodyさん
2008/03/13(木) 18:37:21ID:9PIbKVj5{
public function TEST()
{
}
}
これでpublic functionの部分で、
Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION
とエラーが出てしまいます。
function TEST()
{
}
にするとエラーはなくなりました・・・。
publicは使えないのでしょうか?
0840nobodyさん
2008/03/13(木) 18:39:06ID:9PIbKVj5new Hoge();
でこのエラーが出ます・・・。
0842nobodyさん
2008/03/13(木) 18:42:31ID:9PIbKVj5PHP 5.5.2
Apache 2.2
何かすごく初歩的なミスをしているような気がしなくもないですorz
0843nobodyさん
2008/03/13(木) 18:45:08ID:???0845nobodyさん
2008/03/13(木) 18:46:24ID:9PIbKVj50846nobodyさん
2008/03/13(木) 18:49:11ID:???publicとfunctionの間が全角スペースになってたとかない?
0847nobodyさん
2008/03/13(木) 18:50:59ID:9PIbKVj5今後気をつけます・・・。
Eclipseって全角半角わかりづらいっすね
0848nobodyさん
2008/03/13(木) 18:55:13ID:???β版でもあるのかと思ったけど、やっぱりないっぽい。
googleでヒットしたのはただのタイプミスか。orz
0849nobodyさん
2008/03/13(木) 19:33:19ID:Mmit1vUpアクセスランキングをぐちゃぐちゃにする方法があるようですが、
あれってどういうことをやっているのか教えてもらえませんか
0851nobodyさん
2008/03/13(木) 19:39:22ID:Mmit1vUpすいません書き方が悪かったですね
リファラスパムそのものの方法を聞いているのです
0852nobodyさん
2008/03/13(木) 19:43:25ID:Mmit1vUpいま必死に調べてるのかな?
もう少しだけ待ってあげるからね
俺に質問を訂正させる手間かけさせたんだからきちっと答えろよ
無理なら許すけどさ
0853nobodyさん
2008/03/13(木) 19:51:28ID:???0854nobodyさん
2008/03/13(木) 19:53:59ID:Mmit1vUpぬひんおでおk
0855nobodyさん
2008/03/13(木) 21:10:20ID:Kk2Hpxcb0857nobodyさん
2008/03/13(木) 22:11:44ID:???| ノ ヽ !
/ ● ● | こいつすげぇアホ
| ( _●_) ミ
彡、 |∪| / .\
/ __ ヽノ / \ ...\
(___) / .│ ..│
│ │
/ ヽ
l..lUUU
.U
0858nobodyさん
2008/03/13(木) 22:21:49ID:???| ノ ヽ !
/ ● ● | ?
| ( _●_) ミ
彡、 |∪| / .\
/ __ ヽノ / \
0859nobodyさん
2008/03/13(木) 23:52:30ID:???0860nobodyさん
2008/03/13(木) 23:57:20ID:KzoZRqtO0861nobodyさん
2008/03/14(金) 00:20:41ID:CVUKE/w5php6はIE6までしか対応していない。
IE7であればphp7が出るまで待つしかない。
0862nobodyさん
2008/03/14(金) 00:25:13ID:TU1K9tdo教科書的な答えありがとうございました
0864nobodyさん
2008/03/14(金) 00:53:19ID:???なんかプラグインとか入れなきゃダメなの?
0866nobodyさん
2008/03/14(金) 01:02:38ID:???うわ、マジかよ…orz
IE7でも問題なく見れてたからこれでいいのかと思ってた・・・
ちょっとググってくる。ありがとう。
0867nobodyさん
2008/03/14(金) 01:07:22ID:???0868nobodyさん
2008/03/14(金) 01:34:38ID:mBxJ6iKU$array['a']['b']['c']という値を返したいと思っています。
-をexplodeして一つ一つの要素に分解するまでは良いのですが、
渡される引数の数が決まっていません。よって a もあれば a-b-c-d もあります。
これをうまい具合に解決する方法はありませんでしょうか?
わかりにくい文章ですみません。
0869nobodyさん
2008/03/14(金) 01:35:46ID:???.netじゃないんだからw
0871nobodyさん
2008/03/14(金) 02:10:24ID:???0872nobodyさん
2008/03/14(金) 03:07:34ID:???$array['a']['b']['c']
これって3次元配列って意味?それとも
$array = array("a","b","c");
の事?
とりあえず3次元だった場合のあれ
function hoge($str, $delimiter = "-")
{
$ary = explode($delimiter, $str);
if (is_array($ary) == false)
{
return false;
}
$ret = array ();
$cnt = 0;
do
{
$ret = array(array_pop($ary) => $ret);
}
while (0 < count($ary));
return $ret;
}
0873nobodyさん
2008/03/14(金) 03:26:01ID:???これでどう?
$list = array(1,array(2,3,array(4,5)),6);
echo getValOf($list, '1-0').'<br/>'; // 2 が表示される
echo getValOf($list, '1-2-1').'<br/>'; // 5が表示される
function getValOf($list, $path) {
foreach(explode('-',$path) as $key) {
$list = $list[$key];
}
return $list;
}
0876nobodyさん
2008/03/14(金) 04:36:37ID:???874ではないが
call_user_func_arrayってーのを使えばできる
第1に関数名、第2にパラメータの配列
まぁこんな事するなら普通に配列渡せって感じだし
こんな変な設計になるのは何かが間違ってるとしか思えんがw
0878nobodyさん
2008/03/14(金) 09:05:03ID:???0879868
2008/03/14(金) 12:27:35ID:mBxJ6iKUまた、第一引数にはarrayも渡せる仕様にしました。
オブジェクト的な配列にアクセスするために -> のような視覚的効果が欲しかったって言うだけです。
皆様有り難う御座いました。
0880nobodyさん
2008/03/14(金) 13:31:04ID:DyyjdTiB10010010
1にマッチする場所のアルファベットを取得したいんですが、
そんな感じの変数ってありませんでしたっけ・・・?
何か以前に近いことができたような・・・
0881nobodyさん
2008/03/14(金) 13:33:53ID:???0882880
2008/03/14(金) 13:37:21ID:DyyjdTiB10010010
ADFを出力
0883nobodyさん
2008/03/14(金) 13:53:21ID:???多分ない
var_dump(hoge("avc","010"));
function hoge($str1,$str2)
{
$ret = '';
foreach (str_split($str2) as $key => $value) {
if ($value != 1) {
continue;
}
$ret .= $str1[$key];
}
return $ret;
}
0884nobodyさん
2008/03/14(金) 13:55:28ID:DyyjdTiB0885nobodyさん
2008/03/14(金) 14:30:09ID:???だったら、数字とアルファベットの桁数を揃えないと分かりずらいだろ。
0886nobodyさん
2008/03/14(金) 14:48:15ID:???0887nobodyさん
2008/03/14(金) 15:29:59ID:???周りにエロい人がいないので
ここでアドバイスを願います。
PHPのSESSIONIDを推測して同時にアクセスしている人に
なりすますことは可能でしょうか?偶然を除いて。
0889nobodyさん
2008/03/14(金) 15:45:40ID:???まぁ一応可能っちゃ可能かな?
0890nobodyさん
2008/03/14(金) 16:00:45ID:drEqqpJQ0891nobodyさん
2008/03/14(金) 16:11:32ID:???不可能である事は証明できないだろうけど、オライリーの「入門PHPセキュリティ」には、それは現実的なリスクでは
ないと書かれてる。もっともほかの事を気にしろと。
とりあえず見つけたページも貼っとく。
http://tdiary.ishinao.net/20061120.html
0892nobodyさん
2008/03/14(金) 16:32:13ID:???sessionidの生成ロジックから、
同一ホスト同時アクセス時のユニーク性も証明できないって、
なんちゃって技術者か。
最近、この手のコンピューターの基礎理論や数学的な教養もない技術者が増えていて嘆かわしい。
業界人口が急速に増えると、人材の劣化が激しいことの証左だな。
0893nobodyさん
2008/03/14(金) 16:37:39ID:???0895nobodyさん
2008/03/14(金) 17:03:31ID:???ユニーク性の証明から、予測の困難性を演繹的に証明できるだろ。
お前は、どういうアプローチで予測の困難性を証明しようとしているの?
0896nobodyさん
2008/03/14(金) 17:12:12ID:???0898nobodyさん
2008/03/14(金) 17:32:17ID:???0899nobodyさん
2008/03/14(金) 17:56:48ID:???ターゲットにしているユーザーのパソコンに外部から接続して、乗っ取りが成功すれば
ブラウザが使用しているメモリ領域から情報を引き出せる
それを元にすれば早いだろw
0900nobodyさん
2008/03/14(金) 17:59:56ID:???0903nobodyさん
2008/03/14(金) 18:10:01ID:MYksIzGYその場合でも、同じセッションID使われたら、特別な処理をしないかぎり、セッションハイジャックってできたりするの?
とりあえず環境は Apache2.x + PHP5.x あたりと仮定して。
0904nobodyさん
2008/03/14(金) 18:10:42ID:???* うそです +
n ∧_∧ n
+ (ヨ(* ´∀`)E)
Y Y *
0905903
2008/03/14(金) 18:12:09ID:???0906nobodyさん
2008/03/14(金) 18:13:21ID:???そこは古いApache側のセキュリティホールを利用とかじゃなければ、PHPだからというのはないな
0907nobodyさん
2008/03/14(金) 18:14:45ID:???> セッションハイジャックってできたりするの?
分からん。SSLのレベルの定義されていないし、解読に掛かる時間も定義されていない、
解読に要するリソースの制約条件も定義されていない。
条件が全くといっていいほど定義されていないのに、答えられる訳がない。
0908nobodyさん
2008/03/14(金) 18:25:14ID:???> ターゲットにしているユーザーのパソコンに外部から接続して、乗っ取りが成功すれば
ネタですよね? もはやセッションIDの乗っ取りとは関係ない話。
0909903
2008/03/14(金) 18:27:02ID:???Servletの場合、SSLじゃなくてIPアドレスチェックの話だけど、APサーバによっては途中でIPが変わると
セッションが切れた気がする。AirH"がユーザが気がつかないうちに接続しなおすものだから、突然ログアウト
してしまうという現象が発生した記憶がある。
だから、同じような話で、SSL使ってチェックしたりする設定がないかなぁという期待。
もしくはデフォルトでそうなっているとか。
どうなんだろ。
0911nobodyさん
2008/03/14(金) 18:30:59ID:???おいていたら意味はない。
また、その鍵が机の鍵のようなちゃちい鍵だと余り意味は無い。
そういう問題外の状態は論外として取り扱わないとして
ちゃんとした使い方をしていれば、他人のセッションIDを
推測することは不可能。
0912903
2008/03/14(金) 18:37:31ID:???IPアドレスが変わったとき、Servletならばセッションが存続しないって話じゃないから。
そういう環境があったというだけで。だから、それは別問題。
0913nobodyさん
2008/03/14(金) 18:44:51ID:???「〜なき気がする。どうなんだろう。」とか言ってても仕方ないと思うんだがww
0914nobodyさん
2008/03/14(金) 19:03:54ID:???他人のSessionIDが知りたいだけなら間違いではなかろう
セッションハイジャックをして何がしたいんだ?
0916nobodyさん
2008/03/14(金) 20:26:13ID:6wdnTdIfロック専用ファイルをflockでロックして、
hoge.txtの読み書きをする。
hoge.txtをflockでロックして、
hoge.txtの読み書きをする。
どっちが普通ですか?
0917nobodyさん
2008/03/14(金) 20:30:52ID:XPDryAhRphp5を使用してるのですが
htmlspecialchars_decodeを1回目の使用の場合戻らなくて
2回かけると戻ることがあるのですが、これは何故なのでしょうか?
よろしくお願いします。
0918917
2008/03/14(金) 20:36:04ID:XPDryAhRありがとうだっつーの!
0919nobodyさん
2008/03/14(金) 20:36:37ID:XPDryAhRなん…だと…?
0922nobodyさん
2008/03/14(金) 21:05:16ID:???http://upgradephp.berlios.de/
0924nobodyさん
2008/03/14(金) 21:53:10ID:???0925nobodyさん
2008/03/14(金) 23:01:55ID:???今年中にPHP6出るらしいし、PHP5に乗り換えときなよ
0926nobodyさん
2008/03/14(金) 23:18:29ID:???0927nobodyさん
2008/03/15(土) 03:14:39ID:zI+80wWb0928nobodyさん
2008/03/15(土) 08:19:09ID:???0929nobodyさん
2008/03/15(土) 10:49:51ID:???0930nobodyさん
2008/03/15(土) 15:32:04ID:???もうこのスレには変な人間ばかりしかいないのかな。
0932nobodyさん
2008/03/15(土) 16:04:03ID:???スクリプトはEUC-JPで書いてます。
mb_internal_encodingもEUC-JPです。
htmlをはき出す時は、以下のようにしています。
header( "Content-type: text/html;charset=Shift_JIS" );
ob_start("mb_output_handler");
print $buf;
ob_end_flush();
これで、EUC-JPをSJISに変換して出しています。
ところが、xhtmlの場合、ヘッダーを
header( "Content-type: application/xhtml+xml;charset=Shift_JIS" );
とすると、文字コードが変換されません。
これはこういうものなんですか?
なんか間違ってますか?
0936nobodyさん
2008/03/15(土) 17:34:17ID:???つまりこのスレにはザレムの住人がいる
0937nobodyさん
2008/03/15(土) 17:47:35ID:???正確なことは知らないんで違ってるかもしれんが、そもそもPHPって header で charset指定するだけで
文字コード変換したりするんだっけ?変換処理をするとすれば Apacheじゃなくて PHPだと思うんだけど、
それらしい記述がマニュアルからみつけられない。
対応としては、ob_get_contents して変換するのが定石じゃないかと思うけど。
0938nobodyさん
2008/03/15(土) 17:52:22ID:???やりなおそw
0940nobodyさん
2008/03/15(土) 18:12:21ID:???>>937が探したらしき「それらしい記述」。
ttp://jp2.php.net/manual/ja/function.mb-output-handler.php
注意書き見ればわかるけど、それはそういうもんです。
0941937
2008/03/15(土) 18:27:49ID:???ありがとう。こっちの方がシンプルだね。
確認なんだけど、
>header() により"Content-Type: text/*" を送信した場合には、テキストが送信されるとみなし、
>文字コード設定に 基づいて出力文字コード変換を行います。
ってのは、Content-Typeが text の場合は、mb_http_output の設定にしたがって変換するという意味ですよね。
Content-Type で charset 指定しても文字コード変換はされないと思ってるんだけど、それは合ってますか?
今回の >>932 の件も、Content-Typeが text じゃないから、明示的な指定が必要ということか。
0942nobodyさん
2008/03/15(土) 18:33:53ID:???iniかhttpd.confか.htaccessで
output_handlerをmb_output_handlerにして
PHP内で
mb_http_output("SJIS");
と指定して
echo mb_convert_encoding($contents, "SJIS","EUC-JP");
0943nobodyさん
2008/03/15(土) 22:59:16ID:???$_GET データを送信する。
$_POST データを送信する。
・・・。
どなたか簡単な例に例えて説明してくれませんでしょうか?
0944nobodyさん
2008/03/15(土) 23:16:13ID:???$_POST = method=post になっている <form> から送信したデータ
0945943
2008/03/15(土) 23:27:59ID:WjD0JvRKありがとうございます
0946のぼdyさん
2008/03/15(土) 23:29:54ID:J4XO1nnyよくコンボボックスで、下記のように「良い」は「1」、「悪い」は「2」というように
指定します。
<select name="evel">
<option value="1">良い</option>
<option value="2">悪い</option>
</select>
その「1」と「2」の値を、データベースに保存しているのですが
下記の「良い」は「良い」のままデータベースに保存するのは何か弊害があるのでしょうか?
<select name="evel">
<option value="良い">良い</option>
<option value="悪い">悪い</option>
</select>
文字化けして、ブラウザから送信されたときはバリデーションで弾けますし
欠点は、HDD容量を多めに必要とするぐらいだと思うのですが。
0947nobodyさん
2008/03/15(土) 23:32:17ID:???初心者っぽいけど、httpプロトコルを検索してみたらもうちょっと理解を深めれるかも。
余計にわからなくなる危険性もあるけど。
0949nobodyさん
2008/03/16(日) 00:48:12ID:???例えば表現を変えようとした時とか
あとは使用されるメモリ量とか(微々たる差だけど
バリデーションノしやすさとか
0950nobodyさん
2008/03/16(日) 04:08:30ID:???(例)項目名 kubun
1=良い
2=悪い
これをどう使うかの用途次第
DB登録→検索に使用すると想定するならその時のSQLは、
(a)select ・・・ from tbl where kubun=1;
(b)select ・・・ from tbl where kubun='良い';
もし kubun が増えた場合を考えると、範囲検索って場合も・・
(a)select ・・・ from tbl where kubun between 1 and 3;
(b)select ・・・ from tbl where う〜ん…どうしましょ?
PHPには関係ないが、そんな感じ
0953nobodyさん
2008/03/16(日) 08:18:20ID:???optionのvalueを文字列にしてpostしたり、
項目の数だけカラム作ったりするのもWebアプリ学び始めの醍醐味というものさ。
0955nobodyさん
2008/03/16(日) 10:53:12ID:9hRtdL6R0956nobodyさん
2008/03/16(日) 11:08:12ID:???0957nobodyさん
2008/03/16(日) 11:26:53ID:???レッツPHPさんの
ttp://php.s3.to/simple/page.php.txt
をp=1ではなくp=001のように3桁にするにはどこを書き換えれば良いでしょうか?
0958nobodyさん
2008/03/16(日) 12:02:38ID:???0959ららら
2008/03/16(日) 12:49:45ID:6BeO6z+tその次の日や前の日の年月日を取得するための
簡単な関数ってあるかな?
mktime で日付を範囲外にしてもうまくいかなかった。
(たとえば mktime(0,0,0, 10, 1, 2007) で 2007/09/30 に
なることを期待したけど、だめだった。)
0960ららら
2008/03/16(日) 12:50:27ID:???× たとえば mktime(0,0,0, 10, 1, 2007) で 2007/09/30 に
○ たとえば mktime(0,0,0, 10, 0, 2007) で 2007/09/30 に
0961nobodyさん
2008/03/16(日) 12:55:30ID:???echo date("Y/m/d", mktime(0,0,0, 10, 0, 2007));
を出力したら
2007/09/30
になったが?
0962ららら
2008/03/16(日) 13:03:03ID:???別のところが間違っているのかなー。。。
0963ららら
2008/03/16(日) 13:04:23ID:???コードのミスやった。。。。
0964nobodyさん
2008/03/16(日) 13:05:29ID:???だから環境等を書けと(ry
http://jp.php.net/manual/ja/function.mktime.php
5.1.0以前だと不正な値はダメなのかもしれんね。
・・・と思ったが、大丈夫か。
win版だけの問題か?
FreeBSD php 4.4.7でテスト
> php -r 'echo date("Y/m/d", mktime(0,0,0, 10, 0, 2007));'
2007/09/30
ちゃんと出た。
0965nobodyさん
2008/03/16(日) 13:06:26ID:???0968nobodyさん
2008/03/16(日) 15:02:39ID:???0969nobodyさん
2008/03/16(日) 15:15:26ID:5AI0UypY1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
Shift_JISを使用しない方が良いのは何故ですか?
html、cssをよく標準でShift_JISを指定しているのですが、
アクセス解析や、部分的にphpスクリプトを埋め込んでいるのですが。
0970nobodyさん
2008/03/16(日) 15:16:57ID:???をいじって
Amazon トップセラー っていうのが表示されないようにしようと思ってます。
著作権表示も右上ではなく左下に移動させたいのですが
どうすればいいのかわかりません。
何方かご教授お願いします。
0971nobodyさん
2008/03/16(日) 15:17:00ID:???0973946
2008/03/16(日) 16:17:49ID:g1Wku69Aご回答ありがとうございます。
下記の点で困るんですね。
・表現を変える
・メモリ量
・バリデーションのしやすさ
・SQLの条件指定のしやすさ
参考になります。
ありがとうございました
0974nobodyさん
2008/03/16(日) 16:51:54ID:???UP可能な容量が設定できるアップローダ探しています。
何方かご存知ありませんか?
0975nobodyさん
2008/03/16(日) 17:11:38ID:???http://www.google.com/search?hl=ja&safe=off&q=%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%80%E3%80%80%E5%AE%B9%E9%87%8F%E3%80%80%E5%88%B6%E9%99%90&lr=
0977nobodyさん
2008/03/16(日) 17:31:57ID:???【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
0979nobodyさん
2008/03/16(日) 17:42:24ID:???0980nobodyさん
2008/03/16(日) 18:23:10ID:???書くのめんどいからほれ
因みに最初の何行かは削除してある
<?php
$page = isset ($_GET['p']) ? intval($_GET['p']) : 1; // 最初はページ1
if ($page > 1) {
$pager .= "<a href=" . $url . sPage($page -1) . "><<前の" . $perPage . "件</a> ";
}
if ($page <= $delta) {
$alpha = $delta - $page +1;
}
$links = $pager = '';
for ($i = $page - $delta;($i <= $page + $delta + $alpha) && ($i <= $totalPage); $i++) {
if ($i < 1) {
continue;
}
$preTag = "<a href='" . $url . sPage($i) . "'>";
$aftTag = "</a> | ";
if ($i == $page) {
$preTag = "<strong>";
$aftTag = "</strong> | ";
}
$links .= $preTag . $i . $aftTag;
}
$pager .= substr($links, 0, -2);
if ($page < $totalPage) {
$pager .= "<a href=" . $url . sPage($page +1) . ">次の" . $perPage . "件>></a> ";
}
echo $pager;
function sPage($page) {
return sprintf("%03d", $page);
}
0983nobodyさん
2008/03/16(日) 18:47:48ID:???上目線・・・
上目線・・・
上目線・・・
0984nobodyさん
2008/03/16(日) 18:52:20ID:???/( ゚ )( ゚ )ヽ
/::::⌒`´⌒::::\ でっていうwwwwwwww
| ,-)___(-、|
| l |-┬-| l |
\ `ー'´ /
0987nobodyさん
2008/03/17(月) 10:05:40ID:6BYisms4これって「配列ではない」というエラーですよね?
foreach($array as $key=>$value)
{
}
これの直前でprint_r($array)をしてみたのですが、
Array
(
[0] => 居酒屋
)
と配列になっています。
何が原因なのでしょうか・・・?
0988nobodyさん
2008/03/17(月) 10:10:00ID:???エラーが再現するコード出してみたら?
0989nobodyさん
2008/03/17(月) 10:14:05ID:6BYisms4print_r($array); die;
としていたため見逃していました。
原因追求してみます、ありがとうございました。
0990nobodyさん
2008/03/17(月) 10:23:29ID:6BYisms4[class.php]
class TEST
{
public function abc()
{
#呼び出されたスクリプトを返す。#
echo "ABC";
}
}
[test.php]
require_once 'class.php';
$obj = new TEST();
$obj->abc();
この場合、test.php on line 2を返す
0991nobodyさん
2008/03/17(月) 10:26:23ID:???http://jp2.php.net/manual/ja/language.oop5.reflection.php
0992nobodyさん
2008/03/17(月) 14:20:58ID:???0993nobodyさん
2008/03/17(月) 17:43:03ID:Xuq5ifxrphpのみアクセスできる.htaccessの記述ってあるのだろうか?
中の画像をセキュりたいんだがリファラ以外の指定方法ってあるますか?
お願いします。
0996nobodyさん
2008/03/18(火) 00:13:59ID:???よく分からなかったので、メジャーな処理20パターンで試してみた。
が、絶句した。なんで、ファイル処理がこんな実装になっているのかと・・・
0997nobodyさん
2008/03/18(火) 00:19:32ID:???0999nobodyさん
2008/03/18(火) 00:32:30ID:???涙目ワラ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。