1 名前:nobodyさん mailto:sage [2008/02/24(日) 21:03:17 ID:???] まず読め→【PHP マニュアル】www.php.net/manual/ja/ PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。 過去スレ、関連スレ、FAQなどは>>2-10 辺り ◆前スレ 【PHP】下らねぇ質問はここに書き込みやがれ 64 pc11.2ch.net/test/read.cgi/php/1202536271/ ◆質問する時の注意 ・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。 ・ 己の行った操作、変更などを詳しく明記すること。 ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 ・ 質問者として、態度をわきまえること。 ・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 ◆質問後の注意 ・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。 ・2回目以降は最初に質問した際のレス番号を名前欄に入れること。 ・解決しなくても回答をもらった場合はお礼を言うこと。 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。) ◆回答者への注意 ・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。 【その他諸注意】 ・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ ・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
21 名前:nobodyさん [2008/02/25(月) 20:09:46 ID:igqyKmSz] >>20 テンプレート側で、ヘッダーとフッターを標準で出力するようにしています。 ボディーが動的に変わるようにしており、問題が起こっているところがボディーで呼び出しているheader関数のところなんです。 仕様を見直したほうが、ということは、作り直しということですか?
22 名前:nobodyさん mailto:sage [2008/02/25(月) 20:13:05 ID:???] phpの何たらっつー設定で回避できたはず。 ところでそういう「ヘッダー+コンテンツ+フッター」じゃなくて 「総枠組み+コンテンツ」とかいう方式なんて言ったっけ?そっちのほうがいいんじゃね。
23 名前:nobodyさん mailto:sage [2008/02/25(月) 20:16:13 ID:???] PHP: 出力制御 - Manual jp.php.net/manual/ja/ref.outcontrol.php 仕様上出力しないようにするのが無理なら無理だけどな
24 名前:nobodyさん mailto:sage [2008/02/25(月) 20:23:18 ID:???] >>21 header()で何を出力してるの?
25 名前:nobodyさん [2008/02/25(月) 20:44:03 ID:igqyKmSz] >>23 ありがとうございます。 ちょっとサーバの設定を見直してみます。 >>24 header()関数で出力しているものはサーバ上のファイルです。 header ("Content-Disposition: attachment; filename=".$file); header ("Content-type: application/octet-stream") readfile ("file/".$file); exit; 上記を実行する前にテンプレート側のヘッダーを呼び出してしまっているので、 ダウンロードするデータの中にはテンプレート(ヘッダー)+ダウンロードファイルとなってしまっている状態です。
26 名前:25 mailto:sage [2008/02/25(月) 21:29:37 ID:???] とりあえず出力系のものは全て1つの関数にまとめ、bodyを呼び出すときに作成した関数を呼び出し引数を与え、テンプレートを出力することで回避できました。 回答して下さった方々、ありがとうございました。
27 名前:nobodyさん mailto:sage [2008/02/25(月) 21:33:03 ID:???] mbstring.script_encodingはスクリプトの文字コードだと思うんですが、 mbstring.strict_encodingというのは何なんですか?
28 名前:nobodyさん mailto:sage [2008/02/25(月) 21:34:01 ID:???] >>7
29 名前:nobodyさん [2008/02/26(火) 22:39:54 ID:AjWFGOA4] file_get_contentsなどで取りに行ったファイルが404だったり503だったりした場合 そのレスポンスコードを判別する方法はありますか?
30 名前:nobodyさん mailto:sage [2008/02/27(水) 03:39:18 ID:???] >>29 できないですね。 レスポンスを取得したいならHTTPリクエスト投げたほうが良いかと
31 名前:nobodyさん [2008/02/27(水) 06:04:23 ID:1t015U4G] ・2つのサービス(A,B)で同じDB(同じユーザ情報)を参照 ・ドメインは異なる この場合、Aにログインした状態でBにアクセスすると自動的にログインが 行われるようにしたいのですが、どのようにしたらいいのでしょうか? よろしくお願いします。
32 名前:nobodyさん mailto:sage [2008/02/27(水) 06:16:41 ID:???] >>31 dbでsession管理するとか dbにログイン情報持たせるとか
33 名前:31 mailto:sage [2008/02/27(水) 07:34:17 ID:???] >>32 ありがとうございます。 重ねてすみませんが、DBにセッションを格納する場合、 ドメインが違うとsession_idが異なってしまうみたいなのですが どうしたらいいのでしょう、、、
34 名前:nobodyさん mailto:sage [2008/02/27(水) 08:01:59 ID:???] DBにセッションを格納するんならsession idが変わっても問題無いだろ。
35 名前:nobodyさん [2008/02/27(水) 08:16:25 ID:sItN3geE] 質問します あるディレクトリに特定の文字列で名前が始まるJPGがあるか確認したいんですが どうしたらいいでしょう? 20080227_100で始まるファイル名を例にして教えてください よろしくお願いします
36 名前:nobodyさん mailto:sage [2008/02/27(水) 08:26:02 ID:???] >>31 ログイン中かどうか程度の情報ならクッキーに入れとけば?
37 名前:nobodyさん mailto:sage [2008/02/27(水) 08:37:38 ID:???] >>35 glob('dirname/20080227_100*.jpg') とか。
38 名前:nobodyさん mailto:sage [2008/02/27(水) 08:46:09 ID:???] >>36 異ドメインだと言っている
39 名前:35 mailto:sage [2008/02/27(水) 08:56:42 ID:???] >>37 おおおっ こういうやり方かぁー きっと正規表現の基礎なんですね ありがとう、勉強します
40 名前:nobodyさん mailto:sage [2008/02/27(水) 09:38:03 ID:???] 正規表現以前だよ。Linuxも勉強したほうがよい
41 名前:29 mailto:sage [2008/02/27(水) 11:31:12 ID:???] >>30 了解です。ありがとうございます。
42 名前:nobodyさん [2008/02/27(水) 12:06:56 ID:YQJ5tlSl] php://stdinで取得できる入力って、 スクリプトが実行されている間はいつでも取得できるのですか?
43 名前:nobodyさん mailto:sage [2008/02/27(水) 12:15:22 ID:???] 終盤は取得できない
44 名前:nobodyさん mailto:sage [2008/02/27(水) 13:16:40 ID:???] function foo(&$obj) { $obj->data = 123; } という関数に対して、 foo($obj); と foo(&$obj); で 呼び出すのでは結果が違うんですね。 意味がわかりません。
45 名前:nobodyさん mailto:sage [2008/02/27(水) 13:22:18 ID:???] >>44 同じに見えるけど、どう結果が違うの? 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; }
46 名前:nobodyさん mailto:sage [2008/02/27(水) 13:33:28 ID:???] >>44 >>7
47 名前:nobodyさん mailto:sage [2008/02/27(水) 13:41:47 ID:???] pho4と5ではそこらへん挙動が変わってる でも呼び出す側でfoo(&$obj);ってする事は 無いと思うんだけど
48 名前:nobodyさん mailto:sage [2008/02/27(水) 14:34:18 ID:???] おかしいなぁ。確かに、$thisと&$thisで挙動が変わっているんだよ。 PHP4ね。フレームワークでいろいろ実行される一部分の処理だから 具体的にどこが問題なのかわからないや。
49 名前:nobodyさん mailto:sage [2008/02/27(水) 15:20:59 ID:???] CakePHPの問題だったよ。 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が表示される
50 名前:nobodyさん mailto:sage [2008/02/27(水) 15:33:09 ID:???] CakePHP部分を取り除いて通常のPHPにしました。 これと似たような問題?バグであり回避は不可能なのかな? php4で overload() して __call() を定義するとリファレンスで返せなくなる? 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);
51 名前:nobodyさん [2008/02/27(水) 15:37:55 ID: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>"; //続く>>
52 名前:51 [2008/02/27(水) 15:38:37 ID:lCPSweHG] //51の続き function _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); }
53 名前:51 mailto:sage [2008/02/27(水) 15:39:26 ID:???] >>51 の続き @まず、セッションに配列を保存。 Aセッションの配列をソート Bセッションを別の変数に代入し文字コードを変換。 C代入した変数とセッションを表示 という流れです。 なぜか、セッションのデータも文字コードが変わってしまいます。しかも、全部ではありません。うちの環境では「おえ 」だけがUTF-8のままです。なので、表示の度に、めちゃめちゃに文字化けしていきます。 ちなみに、ソートする関数をコメントアウトすると、セッションの文字コードは変わらなくなります。 $temp = $_SESSION['test']というのは参照ではなく値のコピーですよね? ソートする関数で、参照渡しにしなくていいところもありそうですが、それ以前に、セッションの文字コードに影響が出るのはおかしくないでしょうか? 実際には、Zend_Frameworkと、出力部分にSmartyを使用した、そこそこ大きなアプリで起こったことなのですが、 いろいろ試して、やっとここまで問題を切り分けました。 ソートする関数の参照渡しをやめるか、セッションに保存する前にSJISに変換して、出力の度に変換するのをやめれば この問題は解決できるのですが、根本的な解決というか、理解になっていないので、気になります。たすけてください。 PHP Version 5.1.6です。 長文すいません。
54 名前:nobodyさん mailto:sage [2008/02/27(水) 15:47:14 ID:???] なんで肝心なとこだけ書かないの? わざわざ回答者が全部見ると思う?
55 名前:51 mailto:sage [2008/02/27(水) 16:05:29 ID:???] 今、またいろいろ試してたのですが ソートする関数内で、 array_multisortの為に、ソート対象カラムの配列を作るところのforeachで foreach ($array as $key => &$row) を foreach ($array as $key => $row) と参照をやめると、文字化けしないようです。 ここはソート対象カラムの配列のために、代入してる場所なので参照にする必要はなかったです。 なんかarray_multisortまわりか、参照渡しのバグっぽくないですか? >>54 すいません。 これでもかなり問題を切り分けて、まとめて、要点のみ書いたんです。 ソースをそのまま実行できるように書いたほうが、いいのかなあ、なんて・・ せめて、53を最初に書いたほうがよかったかな。 読むのうざいと思いますが、そこを何とかお願いします
56 名前:nobodyさん mailto:sage [2008/02/27(水) 16:06:20 ID:???] >>51 たぶんmb_convert_encoding出来て無いんだと思う。 mb_language('Japanese'); $value['name'] = mb_convert_encoding($value['name'], 'SJIS', 'auto'); こうするとどうなる?
57 名前:nobodyさん mailto:sage [2008/02/27(水) 16:09:21 ID:???] autoはダメだろjk ってか、なんでまたID隠し始めたんだ?51は >>55 > なんかarray_multisortまわりか、参照渡しのバグっぽくないですか? 自分のソースをまず疑え とPHPのえらい人が言ってました どこで文字化けが起きてるかprint_rなどで各場所で文字化けがおきていないかチェックしたら?
58 名前:nobodyさん mailto:sage [2008/02/27(水) 16:19:18 ID:???] >>57 ダメだけど、ひょっとしたら自動変換してたら、と思って。
59 名前:nobodyさん mailto:sage [2008/02/27(水) 16:48:18 ID:???] 未だに jk とか使ってる奴いるんだな。 生きてて恥ずかしくないか?
60 名前:nobodyさん mailto:sage [2008/02/27(水) 17:05:32 ID:???] j 女子 k 高生 ?
61 名前:nobodyさん mailto:sage [2008/02/27(水) 17:06:25 ID:???] 「常識的に考えて」
62 名前:nobodyさん mailto:sage [2008/02/27(水) 17:27:05 ID:???] >>61 KYは知っていたけどね。 おぢさん、初めて知ったよ。 ありがとう。早速今度の会議で使ってみるよ。
63 名前:nobodyさん mailto:sage [2008/02/27(水) 17:31:36 ID:???] 危険予知は現場労働の基本だからな。
64 名前:nobodyさん mailto:sage [2008/02/27(水) 17:33:00 ID:???] >>62 おじさんごめんね これ2ch発なんだ
65 名前:nobodyさん mailto:sage [2008/02/27(水) 18:00:03 ID:???] >>64 これがKYの良い例
66 名前:nobodyさん [2008/02/27(水) 18:03:18 ID:n+zWmSsJ] WindowsXP apache 2.2 PHP Version 5.25 ttp://www.standpower.com/php_environment2.html ↑ここを見て導入しました。 ファイル名 info.php <?php $hello="Hello World"; print ($hello); ?> を作って localhost/info.php を見てみると、「このファイルをダウンロードしますか?」となってinfo.phpをダウンロード するかどうかのウィンドウが出てきます。どこか間違っているのでしょうか。
67 名前:nobodyさん mailto:sage [2008/02/27(水) 18:06:22 ID:???] Apacheの設定がおかしいんだろうから、とりあえず Apacheのエラーログ見れ。
68 名前:nobodyさん mailto:sage [2008/02/27(水) 18:14:24 ID:???] なんと分かりやすい
69 名前:66 mailto:sage [2008/02/27(水) 18:21:44 ID:???] >>67 httpd.confの書き換えが間違っていたようです。 ありがとうございました。
70 名前:51 [2008/02/27(水) 18:29:48 ID:lCPSweHG] >>56 $value['name'] = 'hogehoge'; でも元のセッションが変わってしまします。(同じく一部を除いて) >>57 文字コードを変換してるforeachのなかで、元のセッションかわちゃってます。 IDは隠したわけじゃなく、連続で上げたら怒られるかなとおもって、sageにしちゃいました。 ためしに5.2.5が入ってるサーバーで試したら元のセッションは一切変わらず、問題なく動きました。 サーバーの設定かもしれませんが、基本php.iniはデフォルトのままで、.htaccessで設定してるので 見比べた感じ原因と思われるような違いはありません・・・
71 名前:nobodyさん mailto:sage [2008/02/27(水) 18:38:00 ID:???] 欧文ならマトモに動作するんだよね? sessionファイルをtmpから引きずり出して覗いて見るのは、さすがにキツい?
72 名前:nobodyさん mailto:sage [2008/02/27(水) 20:26:06 ID:???] 解説サイト見てもよくわからんのですが ログファイルを使ったページ分割のロジックはどういうものなんでしょうか? 記事数を1ページ辺りの記事表示数で割って表示しますよね。 その後の前のページに戻るとかのロジックがまったくよくわかりません。 スーパーグローバル関数のGETとか使うんですよね?
73 名前:nobodyさん mailto:sage [2008/02/27(水) 20:30:05 ID:???] >>7
74 名前:nobodyさん mailto:sage [2008/02/27(水) 20:40:28 ID:???] >>72 どこの解説サイト見てんの?
75 名前:nobodyさん mailto:sage [2008/02/27(水) 21:25:22 ID:???] www.phppro.jp/school/phpschool/vol24/1 ここなんですがユーザー関数とかに構造が分離されてて 自分の作りたいモノに流用すると複雑怪奇になりすぎて・・・
76 名前:nobodyさん mailto:sage [2008/02/27(水) 22:10:24 ID:???] 前のページに戻る機能は現在のページから1引いた数をアンカーに付ければいいだけだと思うが。 そういう話じゃない? 全74件あって10件ずつ表示するなら、ページ5でリクエストが来たら41〜50件目の内容を、ページ4では31〜40件目の内容を取得すればいい。 ページごとに独立して考えればそんなに難しくないと思うけども。
77 名前:nobodyさん mailto:sage [2008/02/27(水) 22:17:53 ID:???] そのページ5で指示が来た時に該当件数を表示する 書き方がよく・・・・・・・ すべての投稿数数えて一ページあたりの表示数で割って それから具体的にどうするんでしたっけ? 単に基礎知識足りなさ過ぎるだけなのか 頭が猛烈に足りないのか・・・・・・ htmlなら直感的にイメージ出切るぐらいまでそこそこわかるんですが こういう二重、三重のロジックだとどうしても思考停止状態に陥ってしまうんですよね・・
78 名前:nobodyさん mailto:sage [2008/02/27(水) 22:27:56 ID:???] 例えば総ページ数を番号で出すには 全体の投稿数を1ページ辺りの投稿数で割り余り分のためにページをプラス1して 表示するんですよね? 今度は表示したリンクをクリックした後に該当の投稿行をピックアップするように またプログラムを用意すると・・・・あああ、ややこしい。
79 名前:nobodyさん mailto:sage [2008/02/27(水) 22:35:21 ID:???] 君は向いてないね
80 名前:nobodyさん mailto:sage [2008/02/27(水) 22:36:30 ID:???] だと思います・・・・・ 直感的なデザイン畑の人間ですし・・・・・
81 名前:nobodyさん mailto:sage [2008/02/27(水) 22:38:42 ID:???] はなむけに現在のページ数の受け取り方だけ教えてもらえませんか。
82 名前:nobodyさん mailto:sage [2008/02/27(水) 22:41:10 ID:???] >>7
83 名前:nobodyさん mailto:sage [2008/02/27(水) 22:41:49 ID:???] <?php $page = $_GET['page'] ? $_GET['page'] : 1; $all = countArticles(); $one = 10; $start = ($page - 1) * $one + 1; $end = $page * $one; $articles = getArticles($start, $end); こんな感じ?検証してないけど
84 名前:nobodyさん mailto:sage [2008/02/27(水) 22:51:20 ID:???] $allPages = cell(($all / $one)); 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.'] '; } } ついでにこんな感じ
85 名前:nobodyさん [2008/02/27(水) 22:56:10 ID:rbJ5iPpD] DBに保存してある画像のバイナリデータ(形式はjpeg,gif,png)をリサイズしたい場合はどうすればよいのでしょうか。 php4.3のGD入ってます 一旦ファイルに保存してimagecreatefromjpegとかするしかないのでしょうか。 そんな馬鹿な。
86 名前:nobodyさん mailto:sage [2008/02/27(水) 22:56:22 ID:???] 間違えた。最後のfor文は素直に for($i=1; $i <= $allPages; $i++){ でokだ。 全ページ数を使わないで出力するなら$iのインクリメント用と記事数比較用の2変数使えばできる。まぁ蛇足だが。
87 名前:nobodyさん mailto:sage [2008/02/27(水) 22:57:21 ID:???] >>85 お怒りはごもっともですが 現在、この世界のいたるところで あなたの言う『ばかなこと』が起きています
88 名前:nobodyさん [2008/02/27(水) 22:59:30 ID:rbJ5iPpD] めっけた。 imagecreatefromstring これでいい気がしてきた。
89 名前:nobodyさん mailto:sage [2008/02/27(水) 23:17:29 ID:???] 課題だとか勉強用だとかじゃなければ素直にそのへんのpager使えばいいのに
90 名前:nobodyさん mailto:sage [2008/02/28(木) 00:03:25 ID:???] WebARENA SuiteX PHP5 で、次のアップロードスクリプトを設置しています。 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);
91 名前:nobodyさん mailto:sage [2008/02/28(木) 00:13:47 ID:???] >>90 めんどくさいから見てないけど少なくとも出されてるソースは関係ない。 スクリプト改造依頼スレがあるからそっちいくよろし。 pc11.2ch.net/test/read.cgi/php/1157787046/ pc11.2ch.net/test/read.cgi/php/1143834740/ この辺かな
92 名前:nobodyさん mailto:sage [2008/02/28(木) 00:22:13 ID:???] PHP4からPHP5の仕様変更が文字化けの原因みたいで、それでこちらのスレに誘導されてきたのですが。 改造スレに行ったら、それは改造ではなくPHPの仕様の問題だからPHPスレで聞けと言われそうです。
93 名前:nobodyさん mailto:sage [2008/02/28(木) 00:46:33 ID:???] >>90 PHP4.4.x(PHP5では動作確認していません) と書いてあるので諦めろ…… ソースみたけど、PHP4に依存してる場所はなさそうだったけどね。 form_upload_file.phpをいじってるのなら、文字コードがSJISになっていないか確認。 きちんとEUC-JPになっているか? ログファイルをエディタで開いて見て、EUC-JPで文字化けしないかどうか。 そのあたり確認して報告しろ。 寝るのでまた明日。
94 名前:nobodyさん mailto:sage [2008/02/28(木) 06:33:06 ID:???] ありがとうございます。 form_upload_file.phpはEUC-JPになっていました。 ログファイルを確認したところ、日本語で文字化けしているコメント部分もログファイルではまだ文字化けしていませんでした。 ログファイルを読み出して表示するまでの過程で文字化けがおこっているようです。
95 名前:nobodyさん [2008/02/28(木) 09:55:35 ID:OSai0GdG] PEAR::DBを使ってデータをINSERTする作業をしているのですが、 debug_backtrace();の部分で、エラーが出ます。 数万〜数十万ほどINSERTを繰り返すループなのですが・・・
96 名前:nobodyさん [2008/02/28(木) 11:14:01 ID:hOKfamSR] 質問です。 CentOS5のディストリビューションを使って環境構築したのですが、画像やファイル情報を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で問題なくコミットできました。 他の環境でも検証していきますが、この原因って何が考えられますでしょうか。
97 名前:nobodyさん mailto:sage [2008/02/28(木) 11:50:28 ID:???] 質問です。 $word = $_GET[WORD]; $word = mb_convert_encoding($word,"SJIS","UTF-8"); PHP5(WebARENA SuiteX)なのですが、大部分はこれでデータの受け渡しは問題あり ません。 しかし、"90's"を受け渡す際に"90\'s"になってしまいます。stripslashesを使え ば解決できることはできるのですが、今度はこれを使うと"ソニー"を受け渡す際 に文字化けしてしまいます。 "90's"も"ソニー"も問題なく受け渡す方法を教えていただけないでしょうか。
98 名前:nobodyさん mailto:sage [2008/02/28(木) 11:53:14 ID:???] >>97 >>7
99 名前:97 [2008/02/28(木) 11:59:15 ID:AxRhgNfU] >>98 申し訳ない。「自分のIDを表示させること。」というのを見逃してました。
100 名前:nobodyさん mailto:sage [2008/02/28(木) 12:00:27 ID:???] >>99 php.iniの設定でクオートが自動でされる設定になってるんじゃまいか? auto_magic_quoteだっけ?
101 名前:nobodyさん [2008/02/28(木) 12:02:50 ID:z722MoHc] ttp://niwango.jp/pc/niwanews/search.php?id=17695 にある 現在の評価は Good![2] Bad![0] 的なPHPってどんな仕組みなんだろ・・・
102 名前:nobodyさん [2008/02/28(木) 12:12:19 ID:AxRhgNfU] SuiteXは共有サーバーなのでphp.iniをいじれないんですよ…。 何かプログラム的に逃げる手があればいいのですが…。
103 名前:nobodyさん mailto:sage [2008/02/28(木) 12:13:59 ID:???] PHP内で一時的にPHP.iniの設定を変更できるini_set()関数がある
104 名前:nobodyさん mailto:sage [2008/02/28(木) 12:49:43 ID:???] >>100 magic quotes gpc じゃないか? >>103 >magic_quotes_gpcは 実行時にセットしても反映されないことに 留意してください。 って書いてあるけど、できるの? www.php.net/manual/ja/function.get-magic-quotes-gpc.php stripslashes してから UTF-8に変換しても化けるのかな?よくわからん。
105 名前:nobodyさん mailto:sage [2008/02/28(木) 12:53:22 ID:???] たぶん受け取る前に書けばできるはず 不安だったらhtaccessで設定すればいいし・・・
106 名前:nobodyさん mailto:sage [2008/02/28(木) 12:57:37 ID:???] >>105 受け取る前っていつ? PHPのモジュールが呼び出された時点では $_GET / $_POST に値が設定されてるんじゃないの?
107 名前:nobodyさん mailto:sage [2008/02/28(木) 13:15:22 ID:???] 試したけど、やっぱムリじゃね。(PHP5.2 WinXP) 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 で削除。 jp2.php.net/manual/ja/ini.php#ini.list ってなってるけど、PHP4はPHP_INI_ALLだから出来たという事なのかな。 値の参照時にでも処理してたんだろうか。これもよくわからん。
108 名前:nobodyさん [2008/02/28(木) 13:16:55 ID:AxRhgNfU] 皆さんお昼休みなのにありがとう。SuiteXは個人で使っているので、家に帰ってから色々と試してみます。 >>103 その発想なかったです。試してみますね。 >>104 順番を変えるのもちょっとやってみますね。 >>105 >>106 受け渡し前はごく普通のHTMLです。 <form action="XXXX.php" method="get" name="form1"> <input type="text" name="WORD"> モジュールが呼び足された時点で値が設定されてしまいますね。
109 名前:nobodyさん [2008/02/28(木) 13:22:10 ID:AxRhgNfU] >>107 PHP4(WebARENA Suite2)の時にはこれだけで動いてました。 $word = $_GET[WORD]; $word = stripslashes($word); 文字化けもなく不要な"\"も出てきませんでした。PHP4では逆にmb_convert_encoding でエンコード変換すると文字化けしてしまってました。
110 名前:nobodyさん [2008/02/28(木) 15:48:07 ID:SiLzRmwx] mb_send_mailをして受け取ったメールを見ると、行間が1行ぐらい空きます。 サーバはEUCなので、 mb_language("Japanese"); mb_internal_encoding("EUC-JP"); という指定を入れています。どうしてこうなるのでしょうか?
111 名前:nobodyさん mailto:sage [2008/02/28(木) 15:49:46 ID:???] 改行コードが入ってるからじゃね?
112 名前:110 [2008/02/28(木) 16:01:23 ID:SiLzRmwx] >>111 改行コードを取り除くのに、↓を入れたのですが、特に変わりません。。 $body = str_replace("\r", "\n", str_replace("\r\n", "\n", $body));
113 名前:nobodyさん mailto:sage [2008/02/28(木) 16:07:18 ID:???] >>112 取り除いてねーじゃん 置き換えてるだけじゃねーか str_replace(array("\r\n", "\r", "\n"), "[改行]", $body); みたいにして、BODYの中での改行なのか他で改行入ってるのか調べてみれ
114 名前:nobodyさん mailto:sage [2008/02/28(木) 18:38:26 ID:???] >>101 vote.php?id=17685&value=1
115 名前:nobodyさん mailto:sage [2008/02/28(木) 18:41:37 ID:???] このスレ来ると和むな〜
116 名前:nobodyさん mailto:sage [2008/02/28(木) 19:31:54 ID:???] すみません。助けてください。 HTMLとPHPとがまじったファイルがあるんですけど、シンタックスエラーがでます。 どうやら '}' をひとつ抜かしてしまったみたいなんですが、どこで抜かしてしまったかがエラーメッセージからは分かりません。 ファイルはHTMLとPHPとが混ざった500行を超えるファイルです。 正直、どうやって探せばいいのかわかりません。 こんなとき、みなさんどうしてますか。
117 名前:nobodyさん mailto:sage [2008/02/28(木) 19:34:58 ID:???] 対応する括弧が強調表示されるエディタを使ってチェック
118 名前:nobodyさん mailto:sage [2008/02/28(木) 19:36:01 ID:???] エディタ(自分の場合はEmacs)使ってインデントつける。
119 名前:108 [2008/02/28(木) 19:53:20 ID:s0/KCSkK] >>104 108ですが家に帰ってきました。 そして、順番を変えてmb_convert_encodingの前にstripslashes置いたら ちゃんと動作するようになりました! $word = $_GET[WORD]; $word = stripslashes($word); $word = mb_convert_encoding($word,"SJIS","UTF-8"); 104さん本当にありがとうございました。 あと他にコメントいただいた皆さんもありがとうございました。
120 名前:nobodyさん mailto:sage [2008/02/28(木) 20:22:44 ID:???] >>116 ファイルから PHP だけを抜き出して調べるというのはどう? ttp://d.hatena.ne.jp/kwatch/20080225/ HTMLとPHPが入り交じっているから見つけるのが難しいのであって、HTMLを消してPHPだけにできれば、けっこう簡単に見つかるかもよ。
121 名前:nobodyさん [2008/02/28(木) 21:00:56 ID:UIzvtCsy] PHPのクラスについて理解が深くないのですが、 PHP5.1.6で以下のコードを書いたときの疑問です。 class Stack { public function getInstance() { return new Stack(); } } $stack = Stack::getInstance(); の様に、static宣言されずに::を使ってメソッドにアクセスできるのはなぜですか?
122 名前:nobodyさん mailto:sage [2008/02/28(木) 21:02:53 ID:???] >>121 PHPがアバウトだから
123 名前:nobodyさん mailto:sage [2008/02/28(木) 21:03:18 ID:???] >>121 PHP4との互換性のため。 ただしstaticつけると Stack::getInstance() はOKでも $stack->getInstance() はエラー。
124 名前:nobodyさん [2008/02/28(木) 21:06:14 ID:UIzvtCsy] >>122 それは日ごろ確かに感じます。こだわりがないって。 >>123 staticをつけなくてもstaticに呼び出されているんですか?
125 名前:nobodyさん mailto:sage [2008/02/28(木) 21:23:56 ID:???] 試してみりゃすぐ分かるがな
126 名前:nobodyさん mailto:sage [2008/02/28(木) 21:42:59 ID:???] 掲示板のフォームから内容受け取って 150個のログ以上は消すと言うロジックはみなさんどうしてます? file()で全ログ格納してからarray_unshiftで新しい内容を挿入、 その後forを使って何かするんでしょうけどそこが具体的によくわかりません。 >>84 ありがとうございます、 おかげさまでできました。 本当に感謝です。
127 名前:nobodyさん mailto:sage [2008/02/28(木) 21:52:28 ID:???] >>124 >staticをつけなくてもstaticに呼び出されているんですか? yes PHPでは static に呼び出すのも、static じゃない呼び出しも、どっちも同じ。 たんに、static な呼び出しだと $this にアクセスできないというだけ。
128 名前:nobodyさん mailto:sage [2008/02/28(木) 22:11:56 ID:???] staticで呼び出す方が遅い訳だが
129 名前:nobodyさん [2008/02/28(木) 23:06:49 ID:CZGTxiZs] あらやだ、ホントだ PHP 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 なんで?
130 名前:nobodyさん [2008/02/28(木) 23:42:39 ID:psOQg9xE] PDOでfetch()を使うとfetchAll()を使うように怒られるのがむかつく。 仕様なんですか?
131 名前:nobodyさん mailto:sage [2008/02/29(金) 00:07:06 ID:???] 過去のいきさつはよくわからないのだけど magic_quote_gpcとかregister_globalsとか 過去の遺産も簡易FAQに入れたがいいのかなぁとか思った。 個人的には今更そういう設定のサーバがあること自体が不思議なんだけど 99を見る限りまだ生きてるっぽいし 逆に、そういう動作があるっていうのを知らない人が増えてきた今だからこそ 問題だとか思うんだ。 というわけで解説よろしく ↓
132 名前:nobodyさん mailto:sage [2008/02/29(金) 00:15:13 ID:???] 解説じゃないけど。 >個人的には今更そういう設定のサーバがあること自体が不思議なんだけど PHP5 では magic_quote_gpc はデフォルトで On だからなぁ。
133 名前:nobodyさん mailto:sage [2008/02/29(金) 00:20:59 ID:???] PHPの設定で magic_quote_gpcというものがあって、 これがONであるとPOSTとかGETの中身は渡された先で勝手にクオートされます。 面倒なのは、同じスクリプトでもサーバーのPHPの設定によって 挙動が異なってしまうことです。 これを防ぐためには、 自サバならばPHP.iniのmagic_quote_gpcをoffにしてください。 そうでないならば、 $_POST,$_GET配列をまず最初に処理する関数を作り、その中に if(get_magic_quote_gpc()){ として、各要素をstrip処理すれば良いと思います。 ini_set()はなにやらオススメできないようです。
134 名前:nobodyさん mailto:sage [2008/02/29(金) 00:26:04 ID:???] 最後の2行が随分曖昧だな
135 名前:nobodyさん mailto:sage [2008/02/29(金) 00:30:05 ID:???] >>134 めんどくなった。 ついでに俺130なんで誰か答えてくれ。
136 名前:nobodyさん mailto:sage [2008/02/29(金) 00:39:04 ID:???] 怒られるって誰に?上司に?
137 名前:nobodyさん mailto:sage [2008/02/29(金) 00:44:55 ID:???] PDOに怒られます。 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.' と言われます。
138 名前:nobodyさん mailto:sage [2008/02/29(金) 00:46:34 ID:???] コードがおかしいんだべ。
139 名前:nobodyさん mailto:sage [2008/02/29(金) 00:47:38 ID:???] いくつも仕事を同時にさせるな、ボケって言われてるだけじゃないの?
140 名前:nobodyさん [2008/02/29(金) 00:50:06 ID:lB4w3WIe] 誰もなったことないの? 誰もPDO使ったことないってことか? そこをfetchAll()にすると直るんだけど、 fetchAllって名前から想像つくと思うけど全行読むから メモリもったいないかと思って。
141 名前:132 mailto:sage [2008/02/29(金) 01:06:54 ID:???] >>133 偉いっ!!すばらしいっ!!結婚して!!!当方マンションもち。 もっと単純に 自分でPHP.ini触れるんならmagic_quote_gpcはoff 触れないんだったら全てのスクリプトで(なんだっけ)せれ 質問はその後だ みたいに強制的でもいいのかでもとか思った。
142 名前:nobodyさん mailto:sage [2008/02/29(金) 01:42:07 ID:???] 「誰もなったことない」 ⇒ 「誰もPDO使ったことない」 素晴らしい推論能力をお持ちのようで。 まぁそんなことはさておき、コード出してみたら?恐らく普通とは違う書き方してるんだろうし。
143 名前:nobodyさん [2008/02/29(金) 02:06:51 ID:lB4w3WIe] $rs=$db->query("SELECT UNKONAME FROM UNKOTABLE WHERE UNKO_ID=1"); $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"] とかやって取り出せるんだけどね。
144 名前:nobodyさん [2008/02/29(金) 02:07:51 ID:lB4w3WIe] 分かると思うけど$dbはPDOのインスタンスです
145 名前:nobodyさん mailto:sage [2008/02/29(金) 02:23:09 ID:???] PDOはよく知らんが、このあたりの話じゃないの? jp2.php.net/manual/ja/function.PDOStatement-closeCursor.php
146 名前:nobodyさん mailto:sage [2008/02/29(金) 02:38:03 ID:???] jp2.php.net/manual/ja/function.PDO-query.php PDO->query() を次にコールする前に 結果セット内の全てのデータを取得しない場合、そのコールは失敗します。 PDOStatement->closeCursor() をコールし、 次に PDO->query() をコールする前に PDOStatement オブジェクトに 関連付けられたリソースを解放してください。
147 名前:nobodyさん [2008/02/29(金) 02:43:19 ID:lB4w3WIe] >>145 >>146 ありがとうございました。
148 名前:nobodyさん mailto:sage [2008/02/29(金) 09:47:17 ID:???] static ○ 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?
149 名前:nobodyさん mailto:sage [2008/02/29(金) 10:50:21 ID:???] >>148 だめー 大体にしてメソッド名を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みたいなゆるい言語においては微妙な存在ってこった。ただ、「こういう処理をする関数はここにまとめておこう」みたいなときに 使ったりするね。
150 名前:nobodyさん mailto:sage [2008/02/29(金) 11:21:01 ID:???] >>149 がはりきっております
151 名前:nobodyさん mailto:sage [2008/02/29(金) 11:33:03 ID:???] >>150 うるせーこっちは13時から試験があるから逃避してんだよw
152 名前:nobodyさん mailto:sage [2008/02/29(金) 11:53:10 ID:???] この$noを求めるのに前のログの$noに+1して 書き込む処理をこの上でしてるんですが それだと書き込みが重複した時にナンバーが同じ値になったりするのでしょうか? 削除に使うナンバーなのでなるべく厳密になるようにしたいのですが。 $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);
153 名前:nobodyさん mailto:sage [2008/02/29(金) 11:57:51 ID:???] >>7
154 名前:nobodyさん mailto:sage [2008/02/29(金) 12:26:21 ID:???] >>152 厳密にやるならデータベースを使う。 データベースが使えないなら、uniq_id()やmd5(microtime(true))で重複しない乱数で代用する。
155 名前:nobodyさん mailto:sage [2008/02/29(金) 12:42:52 ID:???] $no+1する前の段階でファイルロック掛けておけばいいんじゃ?
156 名前:nobodyさん mailto:sage [2008/02/29(金) 12:44:33 ID:???] ありがとうございますmd5(microtime(true))でやってみます、 多分私の扱える知識がないデータベース以外で精度が高いのは これだと思うので。 これで作り出したIDが重複してないかファイル捜索するのは時間の無駄ですかね?
157 名前:nobodyさん mailto:sage [2008/02/29(金) 12:46:02 ID:???] >>149 staticなプロパティは異なるインスタンス間で値を共有できるから便利
158 名前:nobodyさん mailto:sage [2008/02/29(金) 12:49:40 ID:???] え? fopenする前にファイルロックできるんですか? ちょっと最近勉強始めたのでよくわかってないのですが。
159 名前:nobodyさん mailto:sage [2008/02/29(金) 12:54:20 ID:???] こういうことですかね。 $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);
160 名前:nobodyさん mailto:sage [2008/02/29(金) 12:59:01 ID:???] >>156 md5だけなら重複する可能性があります。
161 名前:nobodyさん mailto:sage [2008/02/29(金) 13:05:26 ID:???] ロック用ファイルを別に作ってもいいけど155で言いたかったのは 1.ファイルオープン(a+) 2.ファイルロック 3.ファイル中の最新の番号を取得 4.番号を1増やす 5.新しい記事を追記 6.ファイルロック解除 7.ファイルクローズ 的な感じ。いつもDB使ってるからファイル関係はよく知らんけど。
162 名前:nobodyさん mailto:sage [2008/02/29(金) 13:06:34 ID:???] あ>>159 ひどいな・・・・ fopen時にw以外で読み書き可能なものを選ぶと言うことか・・・・ でもそうするとログ追記型で過去ログ削除できなかったりとややこしい・・・・ >>160 それを元に乱数生成とかですよね、多分。
163 名前:nobodyさん mailto:sage [2008/02/29(金) 13:08:16 ID:???] >>161 ご丁寧にすいません、その後記事の数を決めた定数以内にしたい場合、 何かいい方法ないでしょうか?
164 名前:nobodyさん mailto:sage [2008/02/29(金) 15:35:33 ID:???] >>163 プログラム云々依然にロジックの質問かよ!
165 名前:nobodyさん [2008/02/29(金) 15:56:02 ID:SImzeFcn] includeしたファイルが数値だと普通に表示されますが 日本語文字列だと表示されません。 文字コードの設定だとは思いますがお教えください。
166 名前:nobodyさん mailto:sage [2008/02/29(金) 15:58:43 ID:???] 文字コードの設定を正しくする。 それ以上何を言えばいいんだ?
167 名前:165 [2008/02/29(金) 16:05:45 ID:SImzeFcn] >>166 文字コードの設定の仕方が分かりません。 現状では<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" /> にしていますが文字化けしてしまいます。 shift_jisだと全てが文字化けしてしまいます・・。
168 名前:nobodyさん mailto:sage [2008/02/29(金) 16:07:43 ID:???] もう何もかもが
169 名前:nobodyさん mailto:sage [2008/02/29(金) 16:08:15 ID:???] 突っ込んだら負けってヤツ?
170 名前:nobodyさん mailto:sage [2008/02/29(金) 16:10:45 ID:???] >>167 その読み込む側のファイル晒して >>168-169 お前らこのスレに向かないんじゃない?答える気もないなら来んなよ
171 名前:167 [2008/02/29(金) 16:14:27 ID:SImzeFcn] // サイトURL $url = "example.ex/ "; // サイトネーム $site_name = "日本語文字列"; // サイトサブタイトル $sub_title = "日本語文字列"; // 現在時刻を取得 $time = getdate(); >>170 こんな感じで書いています。
172 名前:nobodyさん mailto:sage [2008/02/29(金) 16:15:29 ID:???] (・∀・)ニヤニヤ
173 名前:167 [2008/02/29(金) 16:18:39 ID:SImzeFcn] >>168-169 >>172 やっぱいいです 頑張ってみます >>170 さんありがとうございます
174 名前:nobodyさん mailto:sage [2008/02/29(金) 16:22:44 ID:???] >>173 (´;ω;`)ブワッ
175 名前:nobodyさん mailto:sage [2008/02/29(金) 16:23:04 ID:???] >>170 ほらほら、最後まで面倒みろよ
176 名前:nobodyさん mailto:sage [2008/02/29(金) 16:25:35 ID:???] >>168-169 >>172 >>175 性格悪すぎワロタwwwww
177 名前:nobodyさん [2008/02/29(金) 19:02:38 ID:TvsAPhPQ] 図1 図2 . ○ .バックアップ ├ 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のようにバックアップフォルダにコピーしたいのですが よい方法はありませんでしょうか? なにとぞご教授お願いします
178 名前:nobodyさん mailto:sage [2008/02/29(金) 19:24:53 ID:???] 図を作る努力をphpに振り向けるんだ!
179 名前:nobodyさん mailto:sage [2008/02/29(金) 19:28:32 ID:???] 答える気の無いヤツと答えるフリして逃げるヤツしかいないのか
180 名前:nobodyさん mailto:sage [2008/02/29(金) 19:34:00 ID:???] OSが決まってるなら xcopy なり cp -r を呼び出せば? jp2.php.net/manual/ja/ref.exec.php
181 名前:nobodyさん mailto:sage [2008/02/29(金) 19:59:47 ID:???] うーん外部コマンド以外の方法があればどなたかお願いいたします
182 名前:nobodyさん mailto:sage [2008/02/29(金) 20:01:45 ID:???] <?php 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だろ
183 名前:nobodyさん mailto:sage [2008/02/29(金) 20:03:15 ID:???] >>182 ありがとうございます!!!!! 助かりました!!
184 名前:nobodyさん mailto:sage [2008/02/29(金) 21:51:10 ID:???] xamppをインストールし、ttp://hiromasa.zone.ne.jp/documents/xampp_eclipse03.html を参考に設定してましたが 誤って、「root:localhost」を特権から削除してしまいphpMyAdminにアクセスできなくなってしまいました。 再インストールしても状況が戻らずどうしていいのか・・・
185 名前:nobodyさん mailto:sage [2008/02/29(金) 23:47:35 ID:???] >>184 OSは? 再インストールってどうやった? 俺もやったことあるけど復活させたぞ
186 名前:nobodyさん mailto:sage [2008/03/01(土) 00:03:26 ID:???] >>185 XP homeです。 再インスコはOSではなくてソフト入れなおしただけです・・・
187 名前:nobodyさん mailto:sage [2008/03/01(土) 00:11:45 ID:???] >>186 アンインストールは単なる削除か? 要は「システム」としてインストールしたMySQL(とかXAMPP)が アンインストールされてないとお話にならないってわけだよ。 アンインストールしてなくてもroot権限でMySQLに入れるなら GRANTとかで治るとおもうけど、 一応再インストールとか厄介なことしたわけだから、 完全にアンインストールすることを強く勧める。 で、 Windowsの コントロールパネル>管理ツール>サービス を開き、その中にmysqlとかXAMPP Serviceってのはあるか?
188 名前:nobodyさん mailto:sage [2008/03/01(土) 01:45:42 ID:???] >>187 プログラムの追加と削除からのアンインストールです。 サービスの中は両方ともにありませんでした。。。
189 名前:nobodyさん mailto:sage [2008/03/01(土) 01:58:22 ID:???] どーでもいいがDB板向けな話題だなw
190 名前:nobodyさん mailto:sage [2008/03/01(土) 02:44:24 ID:???] >>186 C:WINDOWSに'my.ini'が残っているとか? 関係ないか...。
191 名前:nobodyさん [2008/03/01(土) 02:58:59 ID:Nw5SqNkj] 素人ですが教えて下さい。 ユーザーが投稿する写真のサムネイルを表示したいと思っています。 私が読んでる参考書に表示スピードを考慮した画像縮小方法として、GDライブラリが紹介されていました。 しかしGDライブラリは指定したサイズに縮小するだけのように思えます。間違ってたらすいません。 投稿される写真のサイズはバラバラで、縦長の写真、横長の写真、正方形の写真など様々です。 縦長は縦長のまま、横長は横長のまま、正方形は正方形のままに縮小したい(mixiのマイミク一覧のよう な感じ)のですが、一般的にはどうのように行っているのでしょうか?ヒントだけでもお願いします。
192 名前:nobodyさん mailto:sage [2008/03/01(土) 03:47:22 ID:???] >>191 算数の素人さんですか 100x100を半分にすると50x50 100x200を半分にすると50x100 指定したサイズに縮小できたら十分。
193 名前:nobodyさん mailto:sage [2008/03/01(土) 05:15:24 ID:???] 高さと幅の最大値を決めて、あとはそれに合うようにアスペクト比をあわせればおk どっちかの小さい方にあわせんだっけかな
194 名前:nobodyさん mailto:sage [2008/03/01(土) 13:12:12 ID:???] 縦書きの日本語をGDで表示したいんだけど 横書き用フォントでは カ ー ネ ー シ ョ ン ってカンジに表示されてしまう どうやったら縦書き用フォントが使えるんですか?
195 名前:nobodyさん mailto:sage [2008/03/01(土) 13:24:38 ID:???] >>7
196 名前:nobodyさん mailto:sage [2008/03/01(土) 13:29:45 ID:???] >>195 このスレはこの程度か ありがとうございました
197 名前:nobodyさん mailto:sage [2008/03/01(土) 13:42:39 ID:???] >>196 >>7 よりググレカスの方が正しいかも 「GD フォント指定」でそれっぽいのが出てくるのに 悔しくて捨て台詞をいう程度のカスなんでしゃーないなぁ
198 名前:191 [2008/03/01(土) 14:01:50 ID:Nw5SqNkj] >>192 すいません、質問が悪かったと思います。 元の大きさがバラバラなので、ただ半分にしただけじゃ並べたときにデコボコになります。 縦横の比率を保ったまま、縮小後の大きさを大体同じ大きさにしたいのです。 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の大きさに納めるにはどうすれば良いでしょうか?
199 名前:nobodyさん mailto:sage [2008/03/01(土) 14:03:57 ID:???] だから長いほうを100pxにすればいいじゃん
200 名前:nobodyさん mailto:sage [2008/03/01(土) 14:04:59 ID:???] >>198 リアル算数素人だった、この衝撃
201 名前:194 [2008/03/01(土) 14:22:00 ID:z6e/g20g] >>196 ちょwwwなにやってんだ >>197 おれは196じゃないです ID表示させとけばよかった 「GD 縦書き」とかで検索しても出なかったんで聞いてみたんです。 縦書きに切り替える関数とかあるのかな?
202 名前:194 [2008/03/01(土) 14:24:36 ID:z6e/g20g] 縦書き専用フォントを使えばいいのかな?
203 名前:194 mailto:sage [2008/03/01(土) 14:29:55 ID:???] >>201-202 偽者
204 名前:nobodyさん [2008/03/01(土) 15:21:32 ID:MLWBh96T] 質問です。 アップローダーを作っているのですが、 アップロードファイルのローカルパスの一部をファイル名と認識してしまい難儀しております。 入力フォームで ”C:\Documents and Settings\User\デスクトップ\sample.doc” と入力して $_FILES[ パラメータ名 ][ name ]で ファイル名を抽出すると ”デスクトップ\\sample.doc” とでてきてしまいます。 環境 PHP 5.2.5 Apache/1.3.41 対処法をご存じの方、ご教授をお願いします。
205 名前:nobodyさん [2008/03/01(土) 16:27:41 ID:SX7Jze++] 質問です 4択式のリアルタイムアンケートを作成したいのですがご教授ください ページで投票してもらって 最終的に各回答の合計数がカンマ区切りの○○○.txtというデータで吐き出されればよいです。 ビジュアルとかはこだわりません。
206 名前:nobodyさん mailto:sage [2008/03/01(土) 16:44:55 ID:???] >>205 宿題は自分でやりましょう
207 名前:nobodyさん [2008/03/01(土) 17:03:11 ID:bS1QPxn9] 質問させてください $url = "www.unko.com/unko.cgi?url=http://www.test.com/test.html?unko_id=12345 "; ここから、www.test.com/test.html のみを取得したいのですがどのような関数を使えば良いでしょうか? www.unko.com/unko.cgi?url= は固定されていますが、 ?unko_id=12345 は ?oomoriunko_id=123 になったり ?geriunko_id=111111111 になったり 固定されていないものとする。 以上ぎょきょうじゅくださいお願いします
208 名前:nobodyさん mailto:sage [2008/03/01(土) 17:07:45 ID:???] preg_match
209 名前:nobodyさん [2008/03/01(土) 17:12:33 ID:bS1QPxn9] >>208 ありがとうございます なんとなく理解できました あと書き忘れたのですがtest.htmlも固定されてません。 もう少し調べてみます
210 名前:nobodyさん mailto:age [2008/03/01(土) 18:50:49 ID:???] mysql_escape_string と mysql_real_escape_string の違いについて、 後者は文字コードを考慮する、とマニュアルには記載されていますが、 結果として、 後者ではなく、前者を使用していると 脆弱性が発生したりするケースはあるのでしょうか。
211 名前:nobodyさん mailto:sage [2008/03/01(土) 19:16:54 ID:???] >>187 亀ですみません。 root権限で入ろうと思いますが、その方法がわかりません。 差し支えなければ教えていただけませんか?
212 名前:nobodyさん mailto:sage [2008/03/01(土) 19:34:15 ID:???] >>210 前者は非常に危険です。 後者でも危険性が指摘されています。
213 名前:nobodyさん mailto:sage [2008/03/01(土) 19:59:50 ID:???] >>212 ソース
214 名前:nobodyさん mailto:sage [2008/03/01(土) 20:03:33 ID:???] 質問スレだか、初心者いびりスレだかわかんなくなってきてるな……。
215 名前:nobodyさん mailto:sage [2008/03/01(土) 20:10:28 ID:???] >>211 > mysql -u root -p
216 名前:nobodyさん mailto:sage [2008/03/01(土) 20:46:02 ID:???] >>207 parse_url
217 名前:nobodyさん mailto:sage [2008/03/01(土) 20:46:29 ID:???] >>221 DB板行けよ MySQL 総合 Part13 pc11.2ch.net/test/read.cgi/db/1201632550/ >>214 初心者スレは初心者スレがある くだすれPHP(超初心者用)3 pc11.2ch.net/test/read.cgi/php/1193295871/
218 名前:nobodyさん mailto:sage [2008/03/01(土) 20:55:00 ID:???] >>214 このスレには初心者は来ていませんよ? 少なくともマニュアルを一通り目を通したりぐぐったりしてきてるはずなんで。
219 名前:nobodyさん [2008/03/01(土) 21:06:57 ID:Y1gVmTFW] 開発をWindowXPでやってます PDO::exec()でクエリを実行する場合影響した行数が帰ってくるはずですが、まったく影響のないクエリを実行してるのに1が返ってきます バグでしょうか? apache2.2 php 5.2.5 Postgresql 8.2
220 名前:nobodyさん mailto:sage [2008/03/01(土) 21:13:47 ID:???] はい、バグです。 次の方どうそー。
221 名前:nobodyさん mailto:sage [2008/03/01(土) 22:02:10 ID:???] >>219 DBMSによっては、delete で全行削除した場合、削除した行数を返さないらしい。 必要な場合は、where 1=1 ってやるのが定石だそうだ。 postgresをPDOで使ったときに同じ問題があるかどうかは知らない。
222 名前:nobodyさん mailto:sage [2008/03/01(土) 22:04:42 ID:???] すいません、質問させてください。 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 解決方法をご存知の方いらっしゃいましたら、ご教示ください。
223 名前:nobodyさん [2008/03/01(土) 22:13:34 ID:Y1gVmTFW] >>222 xslライブラリをなんのオプションも無くコンパイルしたなら --with-xsl=/usr/local/lib じゃないかな >>221 いろいろ試して見たら、selectとかupdateとか、どんなクエリ実行しても1しか返って来ません 失敗の場合のみfalse これは開発もlinuxにするしかないのか…?
224 名前:nobodyさん [2008/03/02(日) 01:08:51 ID:kiurO7do] こんばんわ プログレスバーについてなのですが 自身のループ処理による待ち時間ではなくて 重い外部のファイルを読み込むなど、一関数が完了するまでの間 flush()でメーターを描画する場合どのような方法があるのでしょぅか? よろしく願いします。
225 名前:nobodyさん mailto:sage [2008/03/02(日) 01:41:21 ID:???] >>224 ajaxで読み込む(画面遷移せず) ↓ 現在の画面にぷろぐれすばー表示(その間にサーバで処理) ↓ 処理完了 ↓ 画面遷移 って流れでやったら?
226 名前:nobodyさん mailto:sage [2008/03/02(日) 02:27:09 ID:???] このスレはこの程度か。 ありがとうございました。
227 名前:nobodyさん [2008/03/02(日) 04:11:35 ID:jR385ymf] 会員制のサイトからデータを取得する場合、 あらかじめ取得しておいたIDとパスをそれぞれ変数に入れて、 それらの変数をもってaction先に飛ばす そしてファイル取得 こんな感じでいいのでしょうか
228 名前:nobodyさん [2008/03/02(日) 04:12:23 ID:8nU9J7zG] Dreamweaver8でPHPを使ってメールフォームを作りたいのですが 現在XAMPPというのをインストール(セットアップ?)した直後です。 見積依頼のフォームのファイルはindex.phpにして設定もしました。 <?PHPprint("PHPを使って文章を出力します"); こうなっているのですが次の手順が分かりません。デザインビューで 見積依頼のフォームをこのindex.phpの<?PHPprint("PHPを使って文章を出力します"); の下に作ればいいのですか。 PHP初心者です宜しくお願いします
229 名前:nobodyさん mailto:sage [2008/03/02(日) 04:17:24 ID:???] >>228 見積もり依頼のフォームというのが説明されていないのでわからない そもそも次の手順ってそもそも何がしたいのか ソース丸ごと見せてもらった方が早い ちなみに、PHPで文章を出力したいんだけなら <?PHPprint("PHPを使って文章を出力します"); ↑の PHPを使って文章を出力します の部分に記述
230 名前:nobodyさん [2008/03/02(日) 04:47:47 ID:8nU9J7zG] >>229 あっなるほど。そこにデザインビューでメールフォームを作ればいいのですね。 コードは <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd "> <html xmlns="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> です
231 名前:nobodyさん [2008/03/02(日) 04:48:24 ID:8nU9J7zG] >>229 そしてメールフォームの内容は お名前 住所 〒 TEL E-mail 見積希望日 見積希望時間 9時〜12時 12時〜15時 15時〜18時 何時でも可能 メッセージ としたいのです。
232 名前:nobodyさん [2008/03/02(日) 05:09:59 ID:8nU9J7zG] >>229 デザインビューで「文章を出力します」のとこを修正しようとすると 「HTMLタグに対して正確なフォーマットではありません。無効とマークされ ました。コードビューを使用してソースコードを修正して下さい」 と出てしまい「文章を出力します」のとこの変更ができません。
233 名前:nobodyさん [2008/03/02(日) 06:19:08 ID:cPv2Uin/] class unko{ private $unko; public function getUnko(){ return $this->unko; } において、 public function checkUnko(){ の中は $unko=$this->unko; がいいのか $unko=$this->getUnko(); がいいのか。 } 当然速いのは$this->unkoだと思うけど、この書き方って オブジェクト指向を貫く上で問題ありかな?
234 名前:nobodyさん mailto:sage [2008/03/02(日) 08:12:52 ID:???] checkUnko()というメソッド自体なんかおかしいだろ
235 名前:nobodyさん [2008/03/02(日) 08:46:32 ID:qS2qya1q] %A5%A2%A5%A4%A5%AA%A5%E9%A5%A4%A5%C8(文字コード不明) をデコードしたいのですが、何にエンコードされたかを知るにはどうしたらいいでしょうか? また、PHP関数で何か良いものはありますでしょうか?
236 名前:nobodyさん mailto:sage [2008/03/02(日) 08:54:16 ID:???] urlencode
237 名前:235 mailto:sage [2008/03/02(日) 08:55:02 ID:???] すみません。上記質問ですが、utf8で書いているphpで、EUC-jpにurlencodeや、EUC-JPでエンコードされたキーワードを デコードし、表示するにはどうすればいいのでしょうか?に訂正させてください。
238 名前:nobodyさん mailto:sage [2008/03/02(日) 08:55:18 ID:???] 間違えた。urldecode まぁ、両方の関数のマニュアルを見ておけ
239 名前:235 mailto:sage [2008/03/02(日) 09:05:40 ID:???] $test = "アイオライト"; $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です。
240 名前:235 mailto:sage [2008/03/02(日) 09:07:37 ID:???] すみません。自己解決しました。 $test = mb_convert_encoding($test, "UTF-8", "EUC-JP"); $test = urldecode($test); の上下を入れ替えたら出来ました。
241 名前:222 mailto:sage [2008/03/02(日) 12:52:29 ID:???] >>223 レスありがとうございます。 apt-getでlibxsltをインストールしたところ、 libxslt.a libxslt.la libxslt.so libxslt.so.1 libxslt.so.1.1.17 が/usr/libにつくられていたので、 --with-xsl=/usr/lib にしてやってみましたが、同じエラーでとまってしまいました・・・
242 名前:nobodyさん [2008/03/02(日) 13:13:25 ID:1wdULA7X] yumのphp-mysqlがmysqlに依存しているので、mysqlが一緒に入ってしまいますが mysqlはtritonn(mysql with senna)を使いたいです。 こういう場合どうしたらいいですか?
243 名前:222 mailto:sage [2008/03/02(日) 13:19:35 ID:???] --disable-xmlreaderをつけたところ、>>222 で起きていたエラーが出なくなりました。 しかし、--disable-xmlreaderをつけてもlibxsltは使用できるのでしょうか? どなたか教えてください。。。
244 名前:nobodyさん mailto:sage [2008/03/02(日) 15:20:02 ID:???] >>242 普通にphp.iniとかでphp-mysqlでインストールしたほうじゃなく そっちのmysqlを使うように設定したらええやん?
245 名前:nobodyさん mailto:sage [2008/03/02(日) 15:21:55 ID:???] >>243 聞く前にやったほうが早いんじゃ? もうその環境なんだろ?
246 名前:nobodyさん mailto:sage [2008/03/02(日) 16:13:25 ID:???] >>233 スーパークラスでも一貫して $this->getUnko() を利用すべき。 サブクラスで getUnko がオーバーライドされる可能性があるので 戻り値 === $unko が保証されないから。
247 名前:nobodyさん [2008/03/02(日) 16:58:37 ID:LTTkeK/B] txtファイルをphpファイルにするにはどうすればいいですか?? メモ帳つかって拡張し使ってもxxx.php.txtとかなるのですがその後どうすればいいかわからんとです。
248 名前:nobodyさん mailto:sage [2008/03/02(日) 17:29:25 ID:???] お前さんフォルダオプションだかなんだかの 「拡張子を表示しない」にチェックしてあるまんまだな? はずすことを推奨する
249 名前:219 mailto:sage [2008/03/02(日) 17:36:31 ID:???] なんかほんとにバグっぽいので報告してきます
250 名前:nobodyさん mailto:sage [2008/03/02(日) 18:07:37 ID:???] >>247 メモ帳ならSJIS保存しかできないんじゃ? まともなテキストエディタに乗り換えろ
251 名前:nobodyさん mailto:sage [2008/03/02(日) 18:12:48 ID:???] >>242 yumで入ったmysqlを削除して yum版のmysqlのsrc.rpmからspecをとりだして --with-mecab, --with-sennaを加えてrpmbuildしてできたrpmをつかう
252 名前:nobodyさん mailto:sage [2008/03/02(日) 18:19:37 ID:???] >>249 mysqlだけどちゃんと行数返ってきたよ
253 名前:nobodyさん mailto:sage [2008/03/02(日) 18:28:26 ID:???] >>250 へぇ…おまえのメモ帳はそうなんだ。
254 名前:nobodyさん mailto:sage [2008/03/02(日) 18:35:58 ID:???] >>253 もう何年もWindowsは使ってないのでよく覚えてない 最近のメモ帳はまともなん?
255 名前:nobodyさん mailto:sage [2008/03/02(日) 18:44:44 ID:???] メモ帳のファイル保存形式は ANSI, Unicode, Unicode big endian, UTF-8 の4つから選べる
256 名前:nobodyさん mailto:sage [2008/03/02(日) 20:02:48 ID:???] リンク元からGETで持ってきたidを今いるところののformを通してさらにリンク先に渡したいんですが どうやったらできますか?
257 名前:nobodyさん mailto:sage [2008/03/02(日) 20:19:42 ID:???] >>256 エスパー回答してやる <?php echo '<form action="post">'; foreach ($_GET as $key => $value) { echo '<input type="hidden" name="'.$key.'" value="'.$value.'">'; } echo '</form>'; ?> 正直何をしたいのかがわからん もうちょっとちゃんと説明しろよ
258 名前:nobodyさん mailto:sage [2008/03/02(日) 20:22:22 ID:???] echo '<form action="post">'; ・・・
259 名前:nobodyさん mailto:sage [2008/03/02(日) 20:32:35 ID:???] >>256 >>7
260 名前:nobodyさん mailto:sage [2008/03/02(日) 20:41:38 ID:???] >>257 脆弱性が生まれる瞬間
261 名前:nobodyさん mailto:sage [2008/03/02(日) 21:28:38 ID:???] 貴重な瞬間に立ち会えたことを神に感謝する
262 名前:nobodyさん mailto:sage [2008/03/02(日) 23:22:05 ID:???] 256がまともに書かないのに ちゃんとしたレスがある筈ない
263 名前:nobodyさん mailto:sage [2008/03/02(日) 23:22:24 ID:???] PHPみたいなスクリプト言語でもいちいちinterfaceとか作って 厳密にオブジェクト指向ばりばりってどーなの? 遅くなるだけじゃね? XOOPSとかMediaWikiってどうなってるんだろ??
264 名前:nobodyさん mailto:sage [2008/03/02(日) 23:30:12 ID:???] >>263 プログラマが気をつけるじゃなくて、それを使うことが保証されるっていうところに オブジェクト指向の肝があるんじゃないか? 遅くなるってことは実際あると思うけど、微々たるもんだし、速度が問題になるようならそもそも、システム設計自体に問題があると思う。 まあ、小さいシステムで、後々それほど手を入れないならスパゲッティーでもいいと思うけど 俺はオブジェクト指向で組まれていないシステムを読み解くのはあんまり好きじゃないな
265 名前:nobodyさん mailto:sage [2008/03/02(日) 23:44:02 ID:???] >>263 自分の場合、instanceof とかで判定しないなら、interfaceは定義しない。
266 名前:nobodyさん mailto:age [2008/03/03(月) 00:04:02 ID:???] GETで渡したパスの内容読み取りたいのですが、 ディレクトリさかのぼり、がちょっと怖いです。 $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内では無理でした
267 名前:nobodyさん [2008/03/03(月) 00:17:00 ID:8BSVZMuK] 質問させてください。 PHPでサイト構築しているのですが、 ある日突然、複数のスクリプトで 大量のエラーログをサーバー側に 記録するようになりました。 使用リミットをオーバーするような 膨大な量です。しかし、 サイト上では問題なく実行され表示されています。 エラーも出ていません。 この場合どんな原因が考えられますか?
268 名前:nobodyさん mailto:sage [2008/03/03(月) 00:17:23 ID:???] >>264 なるほど。オブジェクト指向で書こうとすると 設計に悩んでフリーズしてしまうことが多い。 慣れてないしデザインパターンもどれをあてはめればいいのかわかんない。 かと言って本能のまま書くと役割分担のはっきりしないクラスばっかりになる。 結局「PHPごときにちまちまとオブジェクトなんてやってらんね」ってなるんだよね。 >>265 それぐらいの塩梅でいいかな。
269 名前:nobodyさん mailto:sage [2008/03/03(月) 00:18:10 ID:???] エラーログの内容みれ。
270 名前:nobodyさん [2008/03/03(月) 00:34:41 ID:8BSVZMuK] >>269 内容はPHP Notice: Use of undefined ・・・・ というものが多いです エラーが記録されているスクリプトの種類は多岐に わたっています。たとえばフリーで公開されているものを そのまま導入して使用していたものからそうでないものまで。
271 名前:nobodyさん mailto:sage [2008/03/03(月) 00:49:10 ID:???] それはPerl風にいうとuse strict;をつかってないルーズなプログラムだからな
272 名前:nobodyさん mailto:sage [2008/03/03(月) 00:57:35 ID:???] >>267 突然って何よ?まぁめんどくさいから答えなくてもいいけど httpd.confとかphp.iniでも制御できるからうまく設定したらいいよ 詳しいことはググレ
273 名前:nobodyさん [2008/03/03(月) 01:12:41 ID:8BSVZMuK] >>271 おっしゃる通りルーズなプログラムかもしれませんorz >>272 今までは問題なかった(と思う)のでほんとに突然なんです(涙 月替わりに突然エラーログが大量に記録されるようになったというイメージです。 ちなみに現在はエラーログはまったく出ていません。 php.iniの設定を見てみたのですが log_errors On log_errors_max_len 1024 error_reporting 6143 となっているのでエラーがあれば記録されると思うのですが・・ なぜこのような事がおきたのか原因を知りたいです
274 名前:nobodyさん mailto:sage [2008/03/03(月) 01:17:45 ID:???] shared extentionにできるものとできないもののリストって どこかにないですか?
275 名前:nobodyさん [2008/03/03(月) 02:25:43 ID:33Hm4dS7] function Hoge(){} $func = "Hoge"; $func(); ↑これは動いて "Hoge"(); ↑なぜこれは動かないのでしょうか? 変数に入れれば良いことではあるのですが、 どうも気になってしようがありません。 PHPの関数呼び出しの仕組みってどこかに載ってますか?
276 名前:nobodyさん mailto:sage [2008/03/03(月) 02:28:20 ID:???] おまいらヘボプログラマでもNoticeレベルのエラーまで完璧に処理してるの?
277 名前:nobodyさん mailto:sage [2008/03/03(月) 02:33:31 ID:???] >>275 そのものズバリではないけど www.php.net/manual/ja/functions.variable-functions.php jp2.php.net/manual/ja/language.oop5.reflection.php#language.oop5.reflection.reflectionfunction
278 名前:nobodyさん [2008/03/03(月) 03:15:49 ID:rD8lqAq1] どこに質問を投げていいか分からないのですが、もし適切な場所がありましたらご誘導下さい。 友人の紹介で仕事を回してもらうことになったのですが、 仕事としては始めてのphpによる開発なんですが、 見積もりを出してくれと言われていて少し困っています。 【ご質問】見積もりの中で人月に加えてステップ数を求められているのですが、 ステップ数って、空行とかコメント行もステップに数えるのでしょうか? あと、ステップ数って、プログラムの書き方にも変わりますよね? 1行======================================= if ($value == 1) { print "test";} 3行======================================= if ($value == 1) { print "test"; } ネットで調べると1人月当たり、1000ステップらしいですが(COBOL)、 PHPの場合も、それが当てはまるのかそれも疑問です。 宜しくお願いします。
279 名前:nobodyさん mailto:sage [2008/03/03(月) 03:26:55 ID:???] >>277 この仕組みのこと、可変関数と言うのですね、今まで知りませんでした。 Reflection機能も初めて知りました、とても勉強になります。 夜中に素早いご回答、どうもありがとうございました。
280 名前:nobodyさん mailto:sage [2008/03/03(月) 05:25:27 ID:???] >>278 Web制作板のSOHOスレで聞けばいいかもしれない。 ただちゃんとした答えが返ってくるかは保証できないけど。
281 名前:nobodyさん mailto:sage [2008/03/03(月) 08:00:57 ID:???] >>278 空行やコメントはステップとは言わない それだと2ステップじゃないかな? とりあえず 必要工数*欲しい時給+何かあった時の自分的保険費用で出してみたら 因みに俺の知ってる所だと1人月で 30-70マンぐらいの幅があった
282 名前:nobodyさん mailto:sage [2008/03/03(月) 08:15:12 ID:???] >>278 ステップ数ってのは、処理手順の事?ソースの行数の事? よく判らないんだけど、開発前からステップ数なんて判るものなの?
283 名前:nobodyさん mailto:sage [2008/03/03(月) 08:23:59 ID:???] >>278 そんなのは7行としておけばいい。 ステップ数なんてのはパンチカード時代の遺物だ。 そんなもの求める会社は注意したほうがいいぞ。
284 名前:nobodyさん mailto:sage [2008/03/03(月) 11:25:37 ID:???] おまえらメール送るとき文字コード何にしてんすか?UTF-8?
285 名前:nobodyさん mailto:sage [2008/03/03(月) 11:29:33 ID:???] >>284 >>7
286 名前:nobodyさん [2008/03/03(月) 11:57:57 ID:GThXklLZ] PHP5.2.5から導入されたメモリマネージャは、 memory_limitとは無関係なのでしょうか? memory_limitを-1にしても、zend_mm_heap corruptedみたいなエラーが吐き出されてしまいます。
287 名前:nobodyさん [2008/03/03(月) 13:05:13 ID:KrsbPUyK] OSX10.4 php4.2を使用しています。 $POST = array_map("htmlspecialchars",$_POST); のような形でpostを一気に変換しています。 普段は問題ないのですが、 <select name="hoge[]" size="8" multiple="multiple"> のような要素がある場合、 Warning: htmlspecialchars() expects parameter 1 to be string, array given in... という警告が出てしまいます。 これって、解決する方法ないんでしょうか? よろしくお願いします。
288 名前:nobodyさん mailto:sage [2008/03/03(月) 13:33:06 ID:???] >>287 htmlspecialcharsを元に配列に対応した関数を作ればいいんじゃね。 「php htmlspecialchars 配列 対応」あたりをググルと幸せになれるかもね。
289 名前:nobodyさん [2008/03/03(月) 14:03:39 ID:DWqAIEY6] PHPでアクセスカウンタを組んだのですが、キリバンの表示方法がわかりません。 誰かご教授ください。
290 名前:nobodyさん mailto:sage [2008/03/03(月) 14:08:16 ID:???] >>289 お前の言うキリバンはいったいいくつのカウントになるんだ? そのカウントだったらキリバンと表示すればいいんじゃね?
291 名前:nobodyさん mailto:sage [2008/03/03(月) 14:08:39 ID:???] >>289 if( ($count % 1000) == 0 ){ print "切り番おめでとう"; }
292 名前:nobodyさん [2008/03/03(月) 14:58:46 ID:ut4WA0El] ちょっとお聞きしますが $title = $item[title]; こいうのは $title = $item['title']; ↑こういう風に書いた方が良いんですか?
293 名前:nobodyさん mailto:sage [2008/03/03(月) 15:01:42 ID:???] うん
294 名前:nobodyさん mailto:sage [2008/03/03(月) 15:02:04 ID:???] >>292 その辺詳しくないから曖昧な回答になるが了承くだしあ 上記はまず定数であるかどうか判別される 下記は文字列としてそのまま行く 上記の場合の定数であるか判別する余計な処理があるので下記のほうがいい また、「title」って定数が合った場合そっちの値が優先されてしまう
295 名前:nobodyさん [2008/03/03(月) 15:45:12 ID:HPgcFf+Y] >>293-294 ありがとうございます
296 名前:nobodyさん [2008/03/03(月) 16:42:21 ID: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]."日";
297 名前:nobodyさん mailto:sage [2008/03/03(月) 16:44:38 ID:???] どう考えてもstrtotimeだろ
298 名前:nobodyさん mailto:sage [2008/03/03(月) 16:47:10 ID:???] strtotimeは、php言語の中で一番最悪の関数だろ。 引数の書き方が自由すぎてバグの元だよ。 どうして、こんなひどい設計したんだよ。
299 名前:nobodyさん mailto:sage [2008/03/03(月) 16:58:50 ID:???] でも便利
300 名前:nobodyさん mailto:sage [2008/03/03(月) 17:00:37 ID:???] 利便性とセキュリティーは、相反する命題だろ。 こういう似非プログラマーが日本の中枢にいるから、 この業界の単価が下がっているんだろ。 生活できねーよ。
301 名前:nobodyさん mailto:sage [2008/03/03(月) 17:15:53 ID:???] 利便性とセキュリティーは相反する命題だという話から 似非プログラマー論になる話の流れがわからん。 俺は時と場合に応じた道具の使い分けが出来ません、って告白?
302 名前:nobodyさん mailto:sage [2008/03/03(月) 17:17:07 ID:???] DBにYYYY-MM-DD HH:ii:ssで格納されてるのを、 strtotimeを使う分には問題ないと思うんだがどうだろう
303 名前:296 [2008/03/03(月) 17:29:37 ID:a83ZZyIL] >>296 ですがstrtotimeってのがあったのか。 確かにこれは便利ですね。 一応自分が今使おうと思ってるのは データベース内に格納されてるのを判別するので 多分strtotimeで問題はありません。 しかしバグがあるというのは問題ですね。 使いどころを間違えないように使用したいと思います。 ありがとうございました。
304 名前:nobodyさん mailto:sage [2008/03/03(月) 19:13:10 ID:???] >>303 時と場合によるけど、sqlでDATE_FORMATなんてのも有り
305 名前:nobodyさん [2008/03/03(月) 19:37:52 ID:BS/MlDiQ] array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } な配列を array(3) { [1]=> int(2) [0]=> int(1) [2]=> int(3) } な配列にしたいんだけど、どうすればいいのだろう?
306 名前:305 [2008/03/03(月) 19:41:59 ID:BS/MlDiQ] 数値を例に出したけど、文字列が添字の場合でも出来る方法が知りたいです。 やりたい事を言葉にすると、配列のキーと値の関係を保持しながら、 要素の場所を入れ替えたり、好きな場所に移動させたいということです。
307 名前:nobodyさん mailto:sage [2008/03/03(月) 19:58:05 ID:???] ↑ www.php.net/manual/ja/ref.array.php
308 名前:305 [2008/03/03(月) 20:35:02 ID:o2rZ954m] 移動したのでID変わってると思うけど、、 >>307 もちろんマニュアルは見たのだけど、いまいちうまい事やる方法が 思い浮かばなくて質問しました。
309 名前:287 mailto:sage [2008/03/03(月) 20:36:48 ID:???] >288 あざーす!! ばっちり解決できました。 ありがとうございます!
310 名前:2050 [2008/03/03(月) 20:50:47 ID:1O+7QDSJ] echoを使用して、HTMLを出力しています。 この度、JAVASCRIPTを含む記述で壁にぶち当たってしまいました。 <?php print "<input type='submit' value='送信' onClick='return confirm('送信します');'>"; ?> と、フォームのボタンを押すと、JAVASCRIPTでメッセージが表示されるように したいのですが、シングルクォートの中に、さらにJAVASCRIPTのシングルクォート が来るのが原因のようで動作しません。 どうしたらいいものでしょうか?
311 名前:nobodyさん mailto:sage [2008/03/03(月) 20:58:38 ID:???] >>310 print "<input type='submit' value='送信' onClick='return confirm(\"送信します\");'>" javascript と html の話でPHPあんまり関係ないよ。
312 名前:nobodyさん mailto:sage [2008/03/03(月) 20:59:01 ID:???] >>310 エスケープって知ってるかい? っていうかそこはPHPから抜けて書きなよ。 <?php 〜 ?> <input type="submit" value="送信" onClick="return confirm('送信します');">
313 名前:nobodyさん mailto:sage [2008/03/03(月) 21:09:41 ID:???] >>310 php関係ないけど\でエスケープ >>308 array_spliceやarray_sliceなど。 ただ連想配列を使っておきながら順序を気にするというのはあまりいただけない
314 名前:2050 mailto:sage [2008/03/03(月) 21:15:48 ID:???] >311>312>313 ご丁寧に有難うございます。 実は、これを変数として格納し、別のtxtファイルに出力し、 さらに別のPHPファイルからこのtxtを読み込みます。 一度試してみます。有難うございました。
315 名前:2050 mailto:sage [2008/03/03(月) 21:21:05 ID:???] >311>312>313 正しくできました。有難うございます!
316 名前:305 [2008/03/03(月) 21:35:13 ID:o2rZ954m] >>313 そうですね。僕としても連想配列はたまたま順序を保持する実装になっているだけ、 という認識で、基本的にはハッシュでもいけるような使い方をするようにしています。 で、教えていただいた関数ですが、うまく使えば良い感じに出来るんじゃないかとは思いますが、 いまいち使い方がよくわかりません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; }
317 名前:305 [2008/03/03(月) 21:36:28 ID:o2rZ954m] 改行が多すぎると怒られたので、読みにくい感じになっていますが、ご容赦ください。
318 名前:nobodyさん [2008/03/03(月) 21:43:03 ID:bM6XDXSb] ヒアドキュメントってPHPerの間では忌み嫌われてるの? 時々こんなソースが暗がりから飛び出てきて 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>"
319 名前:nobodyさん mailto:sage [2008/03/03(月) 21:57:31 ID:???] 早く逃げた方がいい
320 名前:nobodyさん mailto:sage [2008/03/03(月) 22:02:46 ID:???] セミコロンはどこいった
321 名前:nobodyさん mailto:sage [2008/03/03(月) 22:08:23 ID:???] >>318 それはなんちゃってPHPerが書いたPerler?が書いたソース 普通はこう書く ?> <body ~> -中略- </body>
322 名前:nobodyさん mailto:sage [2008/03/03(月) 22:09:20 ID:???] あ、日本語壊れた
323 名前:nobodyさん mailto:sage [2008/03/03(月) 22:15:53 ID:???] 変数展開する必要もないのにヒアドキュメントなんて使いたがる318は素人
324 名前:nobodyさん mailto:sage [2008/03/03(月) 22:28:33 ID:???] 色々閉じタグ無いのはいいのか
325 名前:nobodyさん mailto:sage [2008/03/03(月) 22:32:55 ID:???] >>318 さすがにそんなのは稀すぎる 連結してるのはたまに見るが print "hoge" . "hoge" . "hoge"; ていうかhtmlに組み込めるんだから、viewは普通にhtmlで書けっていう話 つまり>>323
326 名前:nobodyさん mailto:sage [2008/03/04(火) 00:01:11 ID:???] >>323 おらぁ2行に別けた方がいいと感じたら 変数展開無くてもヒアドキュメントつかうだよ
327 名前:nobodyさん mailto:sage [2008/03/04(火) 00:02:06 ID:???] いやだからHTMLモードで書けばいいじゃn
328 名前:お願いします。 [2008/03/04(火) 00:52:40 ID:G7JIaGfr] Windowsで正常に動作していたメール送信プログラムを qmail(・・・※)設定済みのLinux(CentOS5)に移行した上で 実行したのですが正常に送信先に届きません。 (また、php側でエラーは発生しません。) 【ソース】 if( mb_send_mail($addressTo, $subject, mb_convert_encoding($message,"shift_jis","shift_jis"),$header) ) { #この部分に正常に入ります。 print("送信完了しました。"); } else { print("エラー:送信に失敗しました"); } 【Linuxmメールサーバ構築参考サイト】 centossrv.com/qmail.shtml
329 名前:nobodyさん mailto:sage [2008/03/04(火) 01:03:43 ID:???] >>328 apache? apacheならapacheのエラーはどう?
330 名前:お願いします。 [2008/03/04(火) 01:21:47 ID:G7JIaGfr] >>329 Linux版は、次のコマンドで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: 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: 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: 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: localhost/SendMail.html
331 名前:nobodyさん mailto:sage [2008/03/04(火) 01:32:39 ID:???] >>330 sendmail_pathはおk? もちろんphpインストール時にqmailにしたよな? とりあえずmail()でやってみ
332 名前:お願いします。 [2008/03/04(火) 01:36:30 ID:G7JIaGfr] SendMail.html の中に存在しないcssを参照する不要なタグが存在した為、 再度メールをWEBページより送信してみたところ、エラーログには何も表示され なくなりました。 送信先メールアドレスには、自宅(hogehoge@m2.gyao.ne.jp) を指定しています。 また、CentOS5に付属のメール送信ソフトより自分のメールアドレス にメールを送信したところ正常にメールは届きます。 ※また、143番ポートは正常に開放されています。
333 名前:nobodyさん [2008/03/04(火) 01:37:53 ID:KsHjc6mm] 2008-03-04 01:40:00 のように、秒までのデータをタイムスタンプに 変換したいのですが、どうすればいいのでしょうか? やはり分解して、mktimeにするしかないのでしょうか?
334 名前:お願いします。 [2008/03/04(火) 01:44:49 ID:G7JIaGfr] >>331 phpのインストールについては「LAMサーバ構築」という雑誌を 参考にしてインストールしてました。。。 php.ini 内でメールサーバ回りの詳細な設定は行っていませんでした ので、ちょっと設定ファイルを確認してみます。
335 名前:nobodyさん mailto:sage [2008/03/04(火) 01:46:00 ID:???] >>333 >>297
336 名前:nobodyさん mailto:sage [2008/03/04(火) 01:49:48 ID:???] >>335 ありがとうございます。上手くできました。
337 名前:お願いします。 [2008/03/04(火) 01:50:57 ID:G7JIaGfr] 【php.ini】の中身です。 [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 に変更したので上の記述を変更する必要がある様 に思うのですが具体的にはどうすれば良いでしょうか? お教え願います。
338 名前:nobodyさん mailto:sage [2008/03/04(火) 02:04:06 ID:???] >>337 そこまでわかっててまだ何を聞くつもりだ sendmail_path = qmailのパス にしてapache再起動してみ それでもわからなかったらちゃんと初心者スレ行くかあきらめろ
339 名前:nobodyさん mailto:sage [2008/03/04(火) 02:23:17 ID:???] >>309 htmlspecialcharsの第二と第三引数もしていしたほうがより安全と言われている。
340 名前:お願いします。 [2008/03/04(火) 02:27:07 ID:G7JIaGfr] だめだ。。。メールが届かない。
341 名前:nobodyさん mailto:sage [2008/03/04(火) 04:14:45 ID:???] >>338 system-switch-mailで終わりそうな問題だな
342 名前:nobodyさん mailto:sage [2008/03/04(火) 08:40:33 ID:???] phpmyadminでいきなり 特権無しになりました 直し方教えてください 連たる鯖なのでコンソールが開けない状況です
343 名前:nobodyさん [2008/03/04(火) 10:20:42 ID:xFHlt45M] RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php で、全て./index.phpで実行しているのですが、 __FILE__で取得すると、URLではなく実際に稼動しているスクリプトが表示されますよね。 これはサーバー依存なのでしょうか? ブラウザによって変化するのであれば__FILE__の使用を控えようと思うのですが・・・。
344 名前:nobodyさん mailto:sage [2008/03/04(火) 11:07:59 ID:???] >>337 qmailのsendmail-wrapperが /var/qmail/bin/sendmail とか、/optの下あたりにないかい? which sendmailするとどうなる? 付属のメーラって奴はローカルホストのSMTPで送信するの? それともsendmailコマンドを叩くの? そもそも送れないってどういうこと? バウンスは返る? つか、当然最初にメールログは確かめたんだろうね? 謎だらけの質問しやがって...
345 名前:343 [2008/03/04(火) 11:41:43 ID:xFHlt45M] __LINE__が鯖側じゃないと判別する術がないっぽいので、 __FILE__も鯖側の処理と勝手に判断してみます・・・。 別の質問なのですが、 func_get_argsで引数を配列として返しますが、 逆の場合は可能なのでしょうか? 配列をリストにするlistという関数がありますが、 引数の数が不特定なので困ってます。
346 名前:nobodyさん [2008/03/04(火) 11:43:37 ID:HRhAVQ3q] cakePHPのチュートリアルをコピペして(ブログではなく、認証のほう) 動かしてみたら 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を入れてます。 あぱっちの設定とかは一応したつもりなんですが。 誰か教えてください。
347 名前:nobodyさん mailto:sage [2008/03/04(火) 11:43:47 ID:???] __FILE__が実行しているファイル名で __LINE__はその行番号。
348 名前:nobodyさん mailto:sage [2008/03/04(火) 11:44:36 ID:???] >>346 自分で作ったファイルはある? あるならそれにBOMついてないか調べてみ
349 名前:nobodyさん mailto:sage [2008/03/04(火) 11:44:47 ID:???] >>346 どうせ ?>の後か<?phpの前に 改行とかスペースとか入ってんだろ
350 名前:nobodyさん [2008/03/04(火) 11:46:05 ID:xFHlt45M] >>347 「実行しているファイル名(__FILE__)」のパスを、 クライアントサイドで判断しているのかサーバーサイドで気になっただけです。 __LINE__はサーバーサイドでしか判別できないので、__FILE__も同じと見ていいんですよね。 ってことが知りたかっただけです。
351 名前:nobodyさん [2008/03/04(火) 11:48:31 ID:HRhAVQ3q] 346です。 >>348 すいません。 BOMってなんでしょうか。 googleでしらべたらunicodeがなんとかと書いてありました。 コレでしょうか?
352 名前:nobodyさん mailto:sage [2008/03/04(火) 11:50:46 ID:???] >>351 UTF-8で保存しているつもりでも、 UTF-8Nという形式で保存していることがある。 UTF-8Nの場合、先頭に3バイト変なものがくっついていて (ごめん、3バイトの内容は詳しく知らない) headerを実行する前にそれが先に出力されてるから、headerでエラーが出てしまう。
353 名前:nobodyさん [2008/03/04(火) 11:51:10 ID:HRhAVQ3q] >>349 いま確認してみました。 大丈夫でした。ありがとうございます。
354 名前:nobodyさん [2008/03/04(火) 11:53:56 ID:HRhAVQ3q] >>352 文字の関係は何回も挫折しているところです。 どう対処すればいいですか。 なんとなく方針を教えて頂けませんでしょうか?
355 名前:nobodyさん mailto:sage [2008/03/04(火) 11:56:54 ID:???] >>354 何のエディタ使ってるよ とりあえずTeraPadでいいから起動してみて文字コードが何になってるか調べてみれ
356 名前:nobodyさん [2008/03/04(火) 12:06:54 ID:HRhAVQ3q] >>355 TeraPadを使っています。 文字コードはUTF-8です。 保存改行コードが自動になっていました。 これが原因でしょうか?
357 名前:nobodyさん mailto:sage [2008/03/04(火) 12:18:26 ID:???] >>356 ファイル->文字コード指定再読み込み これでShiftJISにしたら文字化けするよな そのときに<?phpの前に変な文字化けないか?
358 名前:nobodyさん [2008/03/04(火) 12:20:21 ID:HRhAVQ3q] >>355 www.kashim.com/kanjitranslator/index.html ↑これになんでもかんでもぶっこんで変換したらいけました。 どうやら追加で書き込んだものがBOMありになっていたようです。 絶対自分では解決できませんでした。ありがとうございます。
359 名前:nobodyさん [2008/03/04(火) 12:25:30 ID:HRhAVQ3q] >>357 BOMありにしてEUCにしたときに「鏤深?php」となっていました。 いまいちBOMがなんなのかはよくわかりませんがこういうことがあるんですね。 勉強になります。ありがとうございました。
360 名前:nobodyさん mailto:sage [2008/03/04(火) 12:38:35 ID:???] 仕様変更の理由は大きく分けて二つあると思う。 一つは客の気まぐれ。そして、もう一つはSEの見通し不足。 今話題になっている話に例えれば、 日本の最高裁判所が出して判断が後になって間違ったことに気付いたが、 一事不再理の原則によって、判決の変更はできない。 そこで、主権が違うアメリカに依頼してもう一度裁判をやってもらうことにした。 たしかに、法理論的には裁判権はアメリカにあるし、他国の一事不再理による制約を受けないことは言うまでもない。 しかし、国権の最高機関である最高裁判所が出した判決を日本政府の勝手な仕様変更で、 アメリカの手を借りて裁判をやり直すことができるのか。 私は、鳩山邦夫法務大臣にこの件について聞いてみたくなった。
361 名前:nobodyさん mailto:sage [2008/03/04(火) 12:43:35 ID:???] >>360 ちょっと勉強になった。
362 名前:nobodyさん mailto:sage [2008/03/04(火) 13:30:30 ID:???] >>360 「SEの気まぐれ」ってのもあるぞ
363 名前:nobodyさん mailto:sage [2008/03/04(火) 13:37:36 ID:???] >>362 その隣にある「いたずらPMの無理難題な落とし物」というのは どういった類の食い物なのかね。
364 名前:nobodyさん mailto:sage [2008/03/04(火) 14:03:01 ID:???] せんせー質問 Aサーバにあるディレクトリを丸ごと、別のBサーバにアップしたいです。 PHPで出来ますか? Aサーバのログイン情報とBサーバのログイン情報は持ってます。
365 名前:nobodyさん mailto:sage [2008/03/04(火) 14:11:22 ID:???] >>364 >>7 できる
366 名前:nobodyさん mailto:sage [2008/03/04(火) 15:07:32 ID:???] ネットワークエンジニアやりつつ簡単なPGをphpで書いているが、 webプログラマーの技術レベルはなんでこんな低いんだろう。 同じ経験年数のwebプログラマーとネットワークエンジニアで比較すると、 明からにレベルが低い。webは、適当にやっていても動くことは動くからか? このスレだけかと思ったが、Javaスレでの議論もレベル低すぎ。web全体がまだまだ。
367 名前:nobodyさん mailto:sage [2008/03/04(火) 15:11:51 ID:???] そうだね。 で、質問は何?
368 名前:nobodyさん mailto:sage [2008/03/04(火) 15:13:33 ID:???] そりゃ、ネットワークに比べたら、 ウェブなんてほんの10数年前に生まれたようなものだからな。 色んなものが変わりまくっているのだから仕方が無い話。 あとウェブが適当のやっていても動くものと勘違いしている人。 そう考えている人もレベルが低い。
369 名前:nobodyさん mailto:sage [2008/03/04(火) 15:22:14 ID:???] > あとウェブが適当のやっていても動くものと勘違いしている人。 > そう考えている人もレベルが低い。 いやむしろお前のレベルが。 ネットワーク負荷を全く考えないプログラム。(ネットワークエンジニアの努力が水の泡) セキュリティーが穴だらけのプログラム。(ネットワークエンジニアの努力が水の泡) メモリー浪費しまくりのプログラム。(余計なHWの出費。コスト意識の低さか?) HTMLの仕様のいい加減さ。ブラウザ制作会社の実装が悪いらしいが。 ・・・
370 名前:nobodyさん mailto:sage [2008/03/04(火) 15:27:41 ID:???] ( ´ω`)今は、ネットワーク負荷とか、メモリー浪費とか、そんなのどおでもいいんだお! 一番高いのは人件費なんだから、ハードウェアで細かい事言う時代じゃないお( ^ω^)
371 名前:nobodyさん mailto:sage [2008/03/04(火) 15:27:48 ID:???] あともう一つ大事な点。 処理速度を全く気にしないプログラム。 この画面が重くてもしょうがない、とか訳ワカメです。 動けばいいで飯を食べていけるwebの技術者って何? バグばっかりだし。こんな奴らと組んで仕事すんのストレスたまるわ。
372 名前:nobodyさん mailto:sage [2008/03/04(火) 15:29:10 ID:???] >>366 はコピペじゃないなら、かわいそうな人なんだからほっとけよ。
373 名前:nobodyさん mailto:sage [2008/03/04(火) 15:31:23 ID:???] そりゃネットワークと違ってある程度適当でも動くからな。 ネットワークは基盤、WEBプログラムは娯楽も含む幅広さがある。 基本的に基盤に遊びもミスも許されない、娯楽は何でもあり。 相対的にミス出来ない基盤には能力が高い人しか生き残れない。 WEBプロウグラムは上から下まで裾野が広い。 役割の違いだろ。 比べるもんでもない。 大体人の仕事をうんぬん言う奴なんて、その程度。
374 名前:nobodyさん mailto:sage [2008/03/04(火) 15:46:26 ID:???] WEBのリンク切れ → リンク間違っていましたね。直しときます〜。軽ッ ネットワークのリンク切れ → 全然繋がんねーよ、どうなってんだよ!!!
375 名前:ミミ [2008/03/04(火) 16:39:27 ID:/crDQgGy] PHP でローカル変数の一覧を取得することはできますか? グローバル変数であれば $GLOBALS ですが。。。
376 名前:nobodyさん mailto:sage [2008/03/04(火) 16:59:22 ID:???] >>375 「php 変数 一覧」でググッたら一発だったが?
377 名前:nobodyさん mailto:sage [2008/03/04(火) 17:01:34 ID:???] phpinfo();
378 名前:ミミ [2008/03/04(火) 17:03:24 ID:/crDQgGy] >>376 もしかして get_defined_vars() のこと? それはローカルだけを取り出してくれないからダメなの。
379 名前:nobodyさん mailto:sage [2008/03/04(火) 17:10:19 ID:???] >>378 なら書いておけばいいのに・・。 ローカルだけ取り出せないかな。
380 名前:nobodyさん mailto:sage [2008/03/04(火) 17:12:48 ID:???] get_defined_varsのうち$GLOBALでissetされてれば表示しない って関数を自作
381 名前:nobodyさん mailto:sage [2008/03/04(火) 17:13:26 ID:???] 書き方間違った、ローカル変数以外を取り除けばいいじゃない? 他は決まった値のように見えるけど・・。 試してないからなんとなくだけどね。
382 名前:nobodyさん [2008/03/04(火) 17:19:42 ID:qMhs4IBH] もの凄く下らないんですが教えて下さい。 microtime()の使い方なんですが、 >0.22720000 1204618533 このような値が返ってきますが、どうやって使えばいいんでしょうか? 作業の経過時間を計測したいんですが。
383 名前:nobodyさん mailto:sage [2008/03/04(火) 17:22:17 ID:???] >>382 半角スペースで区切って 前がマイクロ秒、後ろがtime()と同じやつだ
384 名前:nobodyさん mailto:sage [2008/03/04(火) 17:22:20 ID:???] >>382 余りにもくだらなくて警察に通報しようと思ったよ。 microtime()は、その名前の通りマイクロ秒を表示する関数。 1秒は、1000ミリ秒 1ミリ秒は、1000マイクロ秒 ここまで言えば馬鹿でも分かるよな?
385 名前:nobodyさん mailto:sage [2008/03/04(火) 17:23:29 ID:???] こんなのもある。 pear.php.net/manual/ja/package.benchmarking.benchmark.timer.php
386 名前:nobodyさん [2008/03/04(火) 17:35:46 ID:l1KE8Zjp] >>248 なるほど。助かりました。
387 名前:ららら [2008/03/04(火) 18:06:18 ID:/crDQgGy] 助けてなのら! $n = (int) func1(); $flag1 = ($n == 0); $flag2 = ($n != 0); とした後、デバッグのために値を確認したら、 print "flag1 = $flag1 <br>"; print "flag2 = $flag2 <br>"; flag1 は 1 となるのに、flag2 のほうは何も表示されないのら。 なんでなのら?! 0 になるんはずじゃないのかなのら!
388 名前:nobodyさん mailto:sage [2008/03/04(火) 18:16:11 ID:???] >>387 お前は旧作のドラえもんか www.php.net/manual/ja/language.types.string.php#language.types.string.casting
389 名前:nobodyさん mailto:sage [2008/03/04(火) 18:23:19 ID:???] >>387 ひとまず返ってきた値をvar_dumpぐらいしたらどうか
390 名前:nobodyさん mailto:sage [2008/03/04(火) 18:31:48 ID:???] 情報小出し厨は死ねよ。
391 名前:nobodyさん [2008/03/04(火) 18:33:55 ID:qMhs4IBH] >>383 ありがとうございます。 >>384 こういう偉そうな奴って大抵底辺だんだよな・・・ >>385 なるほど!そんな便利なのがあるんですね! ありがとうございます!
392 名前:ららら [2008/03/04(火) 19:20:32 ID:/crDQgGy] >>389 var_dump ?そういうものがあるのかー。 var_dump($n) としてみたら、次のようになったよ。 bool(false) ブール値は文字列に変換すると空になるのかー。 ふむふむぅ〜。
393 名前:nobodyさん mailto:sage [2008/03/04(火) 21:42:20 ID:???] 文字列falseを論理型のfalseに変換するにはどうしたらいいんでしょうか? $test = "false"; if(!変換関数($test)){ print 'falseになったよ' } でprint文が表示されるようにしたいのです。
394 名前:nobodyさん mailto:sage [2008/03/04(火) 21:48:10 ID:???] function toBool($str) { return $str==='false' ? false : true; }
395 名前:393 mailto:sage [2008/03/04(火) 22:08:28 ID:???] >>394 ありがとうございます。 phpのデフォルトの関数に変換関数はないんですね・・・ true falseの代わりに0と1を使うことにします。
396 名前:nobodyさん mailto:sage [2008/03/05(水) 01:50:21 ID:???] PHPって誰が何のために作ったの? 何か人の知性を退化させようとする陰謀めいたものを感じるんだけど 馬鹿にはPHPを使わせて、 他の人はもっとまともな言語で仕事をして差をつけてるんじゃないの?
397 名前:nobodyさん mailto:sage [2008/03/05(水) 01:54:05 ID:???] >>396 ググレカス!
398 名前:nobodyさん mailto:sage [2008/03/05(水) 02:03:25 ID:???] >>396 >>7
399 名前:nobodyさん mailto:sage [2008/03/05(水) 02:05:48 ID:???] 仕事でphpしかやってないヤツなんていないからそんな心配は無用だよ。
400 名前:nobodyさん mailto:sage [2008/03/05(水) 02:30:12 ID:???] >>399 アホか結構いるぞ、phpでしか自社サービスやってないところとかもあるし。 煽りにマジレスごめんな。
401 名前:nobodyさん mailto:sage [2008/03/05(水) 03:56:25 ID:???] >>400 お前いい加減にしろよ。 独善的で他の言語を徹底的に弾圧しようとするのは、創価学会会員そっくりだなw
402 名前:nobodyさん mailto:sage [2008/03/05(水) 04:03:41 ID:???] >>401 はなんでキレているのだろう
403 名前:nobodyさん mailto:sage [2008/03/05(水) 04:31:26 ID:???] >>402 別に切れてはいない。 ただ、個人の価値観はお互い尊重されるべきだということ。 phpだろうと、javaだろうと、仕様が実現できればいい話。 優越をつける必要もない。
404 名前:nobodyさん mailto:sage [2008/03/05(水) 04:35:43 ID:???] 俺が前居た会社はphpオンリーだったな まぁ趣味でJavaとC#やってたけど
405 名前:nobodyさん mailto:sage [2008/03/05(水) 05:27:29 ID:???] >>403 というか>>400 が責められる理由がよく分からんがw
406 名前:nobodyさん mailto:sage [2008/03/05(水) 06:03:06 ID:???] 全くだ。春休みボケした勘違いちゃんか。
407 名前:nobodyさん mailto:sage [2008/03/05(水) 06:12:50 ID:???] >>404 会社によるが普通は逆だな。 業務では使わないし趣味でやってて、 手軽さから社内で使うちょっとしたものならPHPで実装なんてことはある。 PHPは金にならないから、PHPオンリーってとこは零か小規模で細々やってるとこだろう。 うちも小規模だが、PHPの仕事はないなぁ。 まぁ業務視点はどうでもいいとして、 PHPはhtmlに直接書けるから、直感的にWebデザイナーにも受け入れられやすい、 デザイナー向けの言語といったところではないだろうか。 環境構築の手軽さからも、次のステップへ進むための入門用言語としてもいいかもしれない。 (個人的には逆にわかりづらくなりそうな予感もするが)
408 名前:nobodyさん mailto:sage [2008/03/05(水) 07:21:39 ID:???] >>407 phpを殆ど使ったことの無いような人の意見だな まぁPHPは小規模案件多いけど大規模な構築事例もある addons.mozilla.orgやyahooもだっけか 確かにhtmlは直接書けるが そんな風にごちゃ混ぜで書くと解りにくいソースになって 後でメンテし難くなる phpでシステム作ってる所は普通にフレームワークとか使ってやってるので デザイナーはviewしか殆ど書く事ない 簡単な書き方もできれば、 普通にJavaとかのような書き方もできるのがPHP
409 名前:nobodyさん mailto:sage [2008/03/05(水) 07:27:41 ID:???] php使ったサイトは割りと多いけど、どうみても作ってるのがスキルないんだよな。 エスケープミスとか素人ミスが多かったり、phpのソースがhtmlに出ちゃってたり。 某MMOの運営会社なんてひどいぜ。 どういうやつがコーディングしてるんだよw
410 名前:nobodyさん mailto:sage [2008/03/05(水) 07:49:13 ID:???] >>403 ×優越 ○優劣
411 名前:nobodyさん mailto:sage [2008/03/05(水) 08:15:31 ID:???] >>400 のアホかという余計な一言はよくないにしろ 言語弾圧なんてしてるようにはちっともさっぱりこれっぽちも見えないが
412 名前:nobodyさん mailto:sage [2008/03/05(水) 08:25:08 ID:???] addonsaddonsそればっかうるせーなw ケーキペチパー落ち着けよ
413 名前:nobodyさん [2008/03/05(水) 09:42:25 ID:LSCm3THv] public function getParam() { $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)で使用したいのですが、 引数の数が変動する場合に、何か良い振り分け方法はありませんか?
414 名前:nobodyさん mailto:sage [2008/03/05(水) 11:27:24 ID:???] >>413 引数の処理が同じ処理なら パラメーターを配列かし、text_dump再帰処理をtext_dumpで書けば良いと思う
415 名前:nobodyさん mailto:sage [2008/03/05(水) 13:48:01 ID:???] >>413 それこそfunc_get_args使えよw function test_dump() { $ary = func_get_args(); foreach ($ary as $value) { var_dump($value); } }
416 名前:nobodyさん mailto:sage [2008/03/05(水) 13:48:08 ID:???] >>409 phpは入門しやすい言語だから幅広いレベルの人間がいる。 だからなんだというのだろう・・。
417 名前:nobodyさん mailto:sage [2008/03/05(水) 17:35:53 ID:???] javaなんかごちゃごちゃインストールしまくりでやってられない おなじことができるならphpでいいじゃん
418 名前:nobodyさん mailto:sage [2008/03/05(水) 18:33:53 ID:???] PHPの人気はCの人気と近いと思うな。 共通点として、無理が通せてしまう言語ってこと。
419 名前:nobodyさん [2008/03/05(水) 18:44:16 ID:JDEU3z4H] <?php include_once("php/header.inc"); ?> <?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; ?> 上記をxhtmlファイルの先頭に書いてるんですが、 web上のページを見てみると、先頭に改行が入ってしまってエラーが出ます。 先頭に改行が入らないようにするにはどうすればいいのでしょうか?
420 名前:nobodyさん mailto:sage [2008/03/05(水) 18:51:05 ID:???] で?エラー文なしでエスパーしてもらえと?
421 名前:nobodyさん mailto:sage [2008/03/05(水) 18:58:02 ID:???] PHP+Mysqlで書籍検索システムを作っています。 検索フォームには ・書籍タイトル ・著者名 ・出版社名 があります。 それで、文字列が入力されているフォームのみ、 クエリに条件として追加したいのです。 たとえば、書籍タイトルだけが入力されている場合は SELECT * FROM books WHERE title = %s〜 書籍タイトルと著者名が入力されている場合は SELECT * FROM books WHERE title = %s AND author = %s〜 としたいのです。 どうかご教授下さい。
422 名前:419 [2008/03/05(水) 18:58:51 ID:JDEU3z4H] すみません、エラー文です。 XML パースエラー: 外部実体の初めに XML 宣言がありません。 行番号: 2, 列番号: 1:
423 名前:nobodyさん mailto:sage [2008/03/05(水) 19:03:29 ID:???] なんで1行目に改行があると判断したのかkwsk
424 名前:419 [2008/03/05(水) 19:11:14 ID:JDEU3z4H] >>423 ソースを見ると > ><?xml version="1.0" encoding="UTF-8"?> ><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "www.w3.org/TR/xhtml11/DTD/xhtml11.dtd "> となっていたからです。 ">"は引用符です。
425 名前:nobodyさん mailto:sage [2008/03/05(水) 19:15:00 ID:???] >>421 そんなのNULLで無い時に、その条件を足してやりゃいいだけじゃん。
426 名前:421 mailto:sage [2008/03/05(水) 19:21:56 ID:???] 即レスありがとうございます。 条件を足す方法というのは if文でチェックして .= で追加すればよいのでしょうか?
427 名前:nobodyさん mailto:sage [2008/03/05(水) 19:28:38 ID:???] すいません初歩的な質問で申し訳ないのですが $ccc = @$_POST['aaa'] && @$_POST['bbb']; のような文の「@$」ってどういう意味でしょうか? $の前に@が付いているのは初めて見ました。 どなたかご教示いただけると幸いです。 特殊文字は検索がしにくい・・
428 名前:nobodyさん mailto:sage [2008/03/05(水) 19:31:53 ID:???] >>427 jp.php.net/manual/ja/language.operators.errorcontrol.php
429 名前:nobodyさん mailto:sage [2008/03/05(水) 19:33:19 ID:???] >>426 YES それと質問時はIDを出しましょう。
430 名前:427 mailto:sage [2008/03/05(水) 19:33:31 ID:???] おおっ ありがとうございます!
431 名前:nobodyさん mailto:sage [2008/03/05(水) 21:47:04 ID:???] >>419 php/header.incの中身が <?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; ?> ってこと?
432 名前:419 [2008/03/05(水) 22:00:52 ID:JDEU3z4H] >>431 いえ、違います。 <?php include_once("php/header.inc"); ?> <?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; ?> この2行をxhtmlファイルの先頭に書いてあります。 header.incには他のことが書いてあります。
433 名前:nobodyさん mailto:sage [2008/03/05(水) 22:05:11 ID:???] >>432 incファイルの中で空行を出力しているかBOM
434 名前:nobodyさん mailto:sage [2008/03/05(水) 22:13:08 ID:???] >>432 中身は<?php ?>の空のheader.incを使って再現してみたが、 俺の環境では問題なし。 おそらくサーバ側の問題。 xrea無料あたりの広告を自動挿入されるようなサーバ使ってるならそれが怪しい。
435 名前:337 [2008/03/05(水) 22:20:40 ID:uqdrOXeC] qmailでのメール送信が出来ない件についてー1 >>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 にすれば良いのでしょか? ※一応こちらも例しましたが送信出来ませんでした。
436 名前:nobodyさん [2008/03/05(水) 22:26:50 ID:knvJCigj] しつもん。 置換文字列が見つからないときに元の文字を返す置換変数ってありませんか。 str_replaceとか失敗したら返り値がfalseになるじゃないですか。 正規表現使わないときにpreg_replaceは止めろ、ってマニュアルに書いてあるから その通りにしようと思ったのにうまくいかないじゃん。 結局今はif(strpos()){str_replace();}みたいなことやってます。
437 名前:337 [2008/03/05(水) 22:27:20 ID:uqdrOXeC] qmailでのメール送信が出来ない件についてー2 >>344 >which sendmailするとどうなる? [hoge@localhost ~]# which sendmail /usr/sbin/sendmail でした。 現在、使用している(標準でCentOS5についていた)メールソフトは、 Evolutionであり、こちらは現在契約しているプロバイダのSMTP(POP)サーバを 指定してメールは送信しています。
438 名前:nobodyさん mailto:sage [2008/03/05(水) 22:38:45 ID:???] phpやってると脳が腐りそうになるってのは同意 言語に罪はないが利用者が酷い 関数すらろくに作れないヤツが殆どだからなぁ
439 名前:nobodyさん mailto:sage [2008/03/05(水) 22:42:36 ID:???] >>432 過去に、UTF-8のファイルを使っているエディタ以外で開いて保存して 同様の現象が出たことあります。 ファイルの文字コードを調べるツールで確認してみてはどうですか? 面倒だったら 1.そのファイルを移動 2.元の場所に同名のファイルを作成 3.エディタでそのファイルを開き、移動したファイルの内容をコピー で直りませんかね?
440 名前:419 [2008/03/05(水) 22:57:19 ID:JDEU3z4H] >>433 >>434 >>439 皆さんありがとうございます。 余計な改行と空白があったみたいでして、 文字コードをUTF-8Nにして改行と空白を削除しましたら無事に表示されました。 .htaccessと同じように最後の行は改行しなくてはならないと思い込んでいました。 こんな初歩的なことでスレを使ってしまい申し訳ありませんでした。
441 名前:nobodyさん mailto:sage [2008/03/05(水) 23:50:49 ID:???] phpの閉じタグは htmlと混ぜて書いている時意外書かない方がいい
442 名前:nobodyさん mailto:sage [2008/03/06(木) 00:06:00 ID:???] mb_ereg() と mb_ereg_search_regs() の使い分けが分からない
443 名前:337 [2008/03/06(木) 00:12:48 ID:eYOrPk/W] php(WEBページ)から再度、メールを送信しログを確認したところ 次の様なエラーログが吐かれていました。 事象について、ぐぐったのですが何もヒットしません。 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/
444 名前:337 [2008/03/06(木) 00:13:31 ID:eYOrPk/W] エラーメールログー2 Mar 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
445 名前:337 [2008/03/06(木) 00:17:58 ID:eYOrPk/W] ※補足 因みに、qmail用に作成したユーザに対して次のコマンドを実行すると 正常に送信出来ています。(ローカルへの送信はOKと言う意味。) [root@localhost ~]# /var/qmail/bin/qmail-inject to:localhogeuser <Ctrl + D> なぜ、外部メールアドレスへの送信は出来ないのでしょうか?
446 名前:nobodyさん mailto:sage [2008/03/06(木) 00:26:02 ID:???] >>337 あとはこっちで頑張ってね qmailいろいろ(8) pc11.2ch.net/test/read.cgi/unix/1163326021/
447 名前:nobodyさん [2008/03/06(木) 01:59:19 ID:F9M1Wqca] print 8000000000 % 100; これプリントしてみ? 結果がおかしいんだが・・・ 因みにこっちの環境では47と出る・・・ バグ?
448 名前:nobodyさん mailto:sage [2008/03/06(木) 02:33:56 ID:???] まぁプログラムする側もintの値域超えないように考えてプログラムしろってことなんだろ
449 名前:nobodyさん [2008/03/06(木) 04:17:20 ID:F9M1Wqca] >>448 ヒントdクス intの値域は2147483647までなのね。 しかし、 print 8000000000 / 100; をすると80000000とちゃんと出力されたんだが・・・
450 名前:nobodyさん mailto:さ [2008/03/06(木) 09:11:34 ID:???] すんごい 基礎でつまってるんですけど。 <html> <body> <?php print "hello php! " ; ?> </body> </html> でこれで hello php! ってブラウザに出力したいんですけど、なぜか でないんです。テラパッドに書き込んでIEブラウザで読み込んでるんですけど 動かないんです。どなたかご教授いただければ、幸いです。
451 名前:nobodyさん mailto:sage [2008/03/06(木) 09:24:06 ID:???] 拡張子はphpにしてる? まさかphpがインストールされてないとかそういうわけじゃないよね?
452 名前:nobodyさん mailto:sage [2008/03/06(木) 09:29:06 ID:???] まずapacheとかのHTTPサーバを組み込んだ? いくらPHPはHTMLに似ているからと言って IEだけじゃPHPは動かないぞ。
453 名前:nobodyさん mailto:さ [2008/03/06(木) 10:13:06 ID:???] xamppでapache php mySQLとかはダウンロードして インストールして 起動させてるんで ブラウザからlocalhostのページもみれるんでたぶん 動いてるとおもうんですけど・・・。拡張子もphpにしてみたけど、だめです。
454 名前:nobodyさん mailto:さ [2008/03/06(木) 10:21:27 ID:???] 拡張子phpにしてもブラウザからみれば アドレス側の名前の最後php.txt になってるみたいなんですが、これ原因ですかね?
455 名前:nobodyさん mailto:sage [2008/03/06(木) 10:24:26 ID:???] >>454 ひどいオチだな。拡張子表示するようにしなよ。 メモ帳系のソフトは登録されていない拡張子だと後ろに.txtをつけることがある。 保存するときにファイルの種類をすべてのファイルにしてからphpとうつか、 txtで保存したあと拡張子を変えるかでいける。
456 名前:nobodyさん mailto:さ [2008/03/06(木) 10:42:16 ID:???] 452さん 453さん 455さん ありがとうございました。拡張子の付け替えうまくいきました。 前進したようです。 でもこんどは読み込むとブラウザの画面が真っ白なページになってしまいまし た。orz
457 名前:nobodyさん mailto:sage [2008/03/06(木) 15:23:36 ID:???] もういいよ
458 名前:nobodyさん mailto:さ [2008/03/06(木) 16:26:01 ID:???] ありがとうございました。もうすこし自分で調べてきます。
459 名前:nobodyさん mailto:sage [2008/03/06(木) 17:07:58 ID:???] 拡張子表示すら知らない人がやるんだから、PHPの裾野の広さは色んな意味で恐ろしいほど広いよな・・。
460 名前:nobodyさん mailto:sage [2008/03/06(木) 17:14:18 ID:???] そんなヤツらが毎年入社してくるんだよ。何とかしてくれ。。
461 名前:nobodyさん mailto:sage [2008/03/06(木) 17:14:34 ID:???] いやどちらかと言えば俺はそのほうがいいと思うよ。技術は使われるものじゃなくて使うもの
462 名前:nobodyさん mailto:sage [2008/03/06(木) 17:23:34 ID:???] 拡張子のことを知らない人は、論理的な思考が出来ないということでもないから、気にする事でもない。
463 名前:nobodyさん mailto:sage [2008/03/06(木) 18:31:19 ID:???] >>456 PHPスクリプト自体、htdocsに入れてるか?
464 名前:nobodyさん mailto:age [2008/03/06(木) 18:44:43 ID:???] 携帯電話からメールがきた際、返信メールを返すシステムを構築しているのですがドコモからきたメールを返してくれません。 状況としてはこんな感じです。 ドコモのメールアドレス(ユーザアカウント部分)にドットが含まれている(auのアドレスには含まれていない。) mail関数で返信している。 メールアドレスは正常に取得できている。(送信前にtoをvar_dumpしてみました) お願いします。
465 名前:nobodyさん mailto:sage [2008/03/06(木) 18:45:48 ID:???] その手の質問はphpばかりやっているから。 もう少し、言語に依存しないプログラムの基本的な理論や プログラムの設計理論について学ぶべきだよ。 基礎ができていないプログラマーは、 いつも行き当たりばったりで、 自己解決がいつまで経っても出来ないからね。
466 名前:nobodyさん mailto:sage [2008/03/06(木) 18:48:13 ID:???] >>464 どのように返しているの? cronかメ鯖か
467 名前:nobodyさん mailto:sage [2008/03/06(木) 18:51:51 ID:???] >>464 >>7
468 名前:nobodyさん mailto:age [2008/03/06(木) 18:53:56 ID:???] >>464 さん 耳が痛いです。。。 そろそろ基礎から学ぶべきだとは思ってます。 >>466 さん メ鯖で返してます。 メールが来たらforwardして ログみるとPHP側にはわたっているデータは残ってるんでmail関数が怪しいと思ってます。
469 名前:nobodyさん mailto:age [2008/03/06(木) 18:55:19 ID:???] >>467 さん なんどもすみません。 環境 OS:Fedora Core5 Mail:postfix php5 です。
470 名前:464 mailto:age [2008/03/06(木) 19:11:43 ID:???] 自己解決しました。。。。 受信拒否解除してなかっただけでした。 すみません_| ̄|○ il||li
471 名前:nobodyさん mailto:sage [2008/03/06(木) 19:14:56 ID:???] どうせそんな事だろうと思ったよ
472 名前:nobodyさん mailto:sage [2008/03/06(木) 19:21:02 ID:???] >>471 何も答えない癖に、何言っていんのこの馬鹿? 開発会議で全然発言しなかったくせに、 開発途中で設計に変更の必要がでると、 「やっぱり、その設計はまずかっただろう」 とか誇らしげに言っているF次長と一緒。 まったくウザイ。どうしてこんな奴が次長の椅子に座っているの? どうなっても知らんよ。
473 名前:nobodyさん mailto:sage [2008/03/06(木) 19:50:21 ID:???] それをF次長に直接言えるようになるといいね。
474 名前:nobodyさん mailto:sage [2008/03/06(木) 20:08:40 ID:???] >>468 「そろそろ基礎から学ぶ」という発言に違和感を覚えないようなら相当やばいと思う。 今すぐ行動すべき。でないと手遅れになる。
475 名前:nobodyさん mailto:sage [2008/03/06(木) 20:15:14 ID:???] 基礎もわからず応用から入れる人って ある意味羨ましい
476 名前:nobodyさん mailto:sage [2008/03/06(木) 22:17:38 ID:???] ここでいう基礎が不明確だな。SICP終わったくらいか
477 名前:nobodyさん mailto:sage [2008/03/06(木) 22:30:00 ID:???] 基礎と言えば「BASIC」
478 名前:nobodyさん mailto:sage [2008/03/06(木) 22:45:26 ID:???] まずは機械語の理解からだろ
479 名前:nobodyさん mailto:sage [2008/03/06(木) 22:55:55 ID:???] 今更mov ax,0とかld a,0なんてできんわぁ
480 名前:nobodyさん mailto:sage [2008/03/06(木) 23:14:26 ID:???] で、お前らはnoticeエラーもきちんと処理してんのか?
481 名前:nobodyさん mailto:sage [2008/03/06(木) 23:21:40 ID:???] >>480 またお前か。下らんことばっかきいてんじゃねえよ。
482 名前:nobodyさん mailto:sage [2008/03/07(金) 00:27:41 ID:???] 普通は処理する
483 名前:nobodyさん mailto:sage [2008/03/07(金) 01:05:07 ID:???] 逆に、そんなにnoticeって出る?? どういうとこで出るんだろ。
484 名前:nobodyさん mailto:sage [2008/03/07(金) 01:18:39 ID:???] きっちり書いてればでないよ 一番多そうな例としては <?php $hoge = $_GET['hoge']; こんな風にいきなり書く場合が多いんじゃないかな
485 名前:nobodyさん mailto:sage [2008/03/07(金) 01:53:29 ID:???] FW使えばok