【PHP】下らねぇ質問はID出して書き込みやがれ 76
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/11/13(木) 04:15:32ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0363nobodyさん
2008/11/20(木) 19:19:56ID:???>自分の正解がみんなの正解とは限らない
めんどくさい人だなw
学校の先生ですか?
この世界は答えは1つなんですよ
includeは制御構造であって関数じゃないんです
0364nobodyさん
2008/11/20(木) 19:23:07ID:AwsGLaDA「この場合」って >>285 とか?
自分で 285 のコード書いたとして、
特に問題があるとは思いません。
1から31まで用意しておけば動くんでしょ?
0365nobodyさん
2008/11/20(木) 19:26:09ID:???includeするタイミングとか方法の話をしてるんじゃないのか?
0367nobodyさん
2008/11/20(木) 19:34:27ID:AwsGLaDAえーと?
「includeできる状態」をチェックするのがWarningを抑制するためなら、
めんどくさいから
@include();
でいいんじゃないかと。
それ以外の理由なら、その理由による。
0368nobodyさん
2008/11/20(木) 19:40:56ID:???期待はずれでがっかりしたよ
随分自己主張するもんだから期待してたのに
そんな下らない答えだしてくるなら絡みなさんな・・・
0369nobodyさん
2008/11/20(木) 19:45:38ID:AwsGLaDA何を期待していたんですか?
たぶん私が考えている「この場合」と他の人のが
違うんでしょうね。まあ当然だけど。
0370nobodyさん
2008/11/20(木) 19:51:38ID:HLYnX99e一般的に、GETで入力値を受け取るのは、危険な行為?
0371nobodyさん
2008/11/20(木) 20:06:49ID:???0372nobodyさん
2008/11/20(木) 20:22:41ID:???include時の処理なんてクライアント次第だろ
細かくエラー情報残したいってクライアントなら
別々に書いて細かくエラー情報書いたりするし
ある前提でいいよと言うクライアントには
@で制御するだけでいいだろ
そもそもそのチェックが通らないと
画面が真っ白とかっていう状態になるのが
容易に想定できるなら話は別だが
>>370
ちゃんと値チェックすればいい
因みに配列は連想配列と言うほうがPHPでは一般的
あと$_POSTや$_GET等には値を自分で入れ無い方が良い
$defData = $_POST['def'];
等として$defDataを使えば良い
まぁ値を代入する前に値チェック等はきっちりした方が良いけどね
0373nobodyさん
2008/11/20(木) 20:30:21ID:???includeまわりをクライアントがどうこう注文つけてくると思うか?
保守だってクライアントがやるわけじゃないしアフォか
仕事でPHPやってるふりはしなくていいです
すぐやってないってわかるから
0374nobodyさん
2008/11/20(木) 20:36:17ID:???includeで指定する訳ではなく
エラーがあった場合という事は考えられんのかw
画面に出さずにエラーログだけでいいと言う人も居れば
分かり易い言葉でエラーログにと言う人も居るんだよ
仕事自体も完全請負もあれば
一部の機能単位での開発や開発補助というものもある
開発補助の場合はできたら相手に送って
何かしらの問題がでれば対応という風になったりする訳だが
そういう事も考えられんのんだろ?
0375nobodyさん
2008/11/20(木) 20:49:04ID:???俺は仕事でPHPやってるんだ!ってウソでもアピールして
自分ペースに有利に話進めようとするのが
0376nobodyさん
2008/11/20(木) 20:58:04ID:???自分で考えられない事を突っ込まれてウソを言ってる!ってアピールして
自分ペースに有利に話進めようとするのが
0377nobodyさん
2008/11/20(木) 21:04:31ID:???0378nobodyさん
2008/11/20(木) 21:14:48ID:???0379nobodyさん
2008/11/20(木) 22:03:29ID:???雑魚め
0380nobodyさん
2008/11/20(木) 22:23:23ID:L838VyLV0381nobodyさん
2008/11/20(木) 22:35:59ID:???雑魚め
0382nobodyさん
2008/11/20(木) 22:55:38ID:qsQyZgQW【PHPのバージョン】PHP Version 5.2.4(FastCGI for IIS6)
【連携ソフトウェア】mysql
【質問内容】
Fatal error: Call to undefined function mb_ereg_replace() がでる。
Windowsサーバー上でmb_ereg_replaceだけエラーがでます。
mb_convert_kana mb_convert_encoding のようなMB系関数はうごきます。
Fatal errorなので関数がないよっていわれてるんだとおもいますが、mb_ereg_replaceだけないのでおかしいなと。
僕の認識だとMB系は一セットだとおもってたんですがmb_ereg_replaceだけないとかあるんでしょうか?
よろしくお願いします。
0383nobodyさん
2008/11/20(木) 22:55:39ID:???∩___∩ ∩___∩
♪ | ノ ⌒ ⌒ヽハッ __ _,, -ー ,, ハッ / ⌒ ⌒ 丶|
/ (●) (●) ハッ (/ "つ`..,: ハッ (●) (●) 丶 今、どんな気持ち?
| ( _●_) ミ :/ :::::i:. ミ (_●_ ) | ねぇ、どんな気持ち?
___ 彡 |∪| ミ :i ─::!,, ミ、 |∪| 、彡____
ヽ___ ヽノ、`\ ヽ.....::::::::: ::::ij(_::● / ヽノ ___/
/ /ヽ < r " .r ミノ~. 〉 /\ 丶
/ /  ̄ :|::| ::::| :::i ゚。  ̄♪ \ 丶
/ / ♪ :|::|>>372::::| :::|: \ 丶
(_ ⌒丶... :` | ::::| :::|_: /⌒_)
| /ヽ }. :.,' ::( :::} } ヘ /
し )). ::i `.-‐" J´((
ソ トントン ソ トントン
0384nobodyさん
2008/11/20(木) 22:59:56ID:L838VyLV0385nobodyさん
2008/11/20(木) 23:06:37ID:???0386nobodyさん
2008/11/20(木) 23:10:42ID:???0387nobodyさん
2008/11/20(木) 23:15:35ID:HrZmpLyBhttp://localhost/index.php をブラウザのURL欄に入れてEnterおすと
このURLに移動しますよね?
やったところ、 「このアドレスへのリクエストに対するサーバのリダイレクト設定がループしています。」という
メッセージが出てきます。
これ自体はプログラムがミスしてるんだなと思うんですが、なぜかこのときURL欄をみると
http://localhost/index.php/ という風に最後に / がついてしまっています。
これはなぜでしょうか?
わからないのですが、、
環境は php5 apache2 でZendFWを使っています。
0388nobodyさん
2008/11/20(木) 23:18:57ID:AwsGLaDA全然原因が思いつかないけど。。
コマンドプロンプトで、
> php -rf mb_ereg_replace
とか
> php -re mbstring
とかしたときに、それらしいものは出てきますか?
0389nobodyさん
2008/11/20(木) 23:19:25ID:???たぶん同じのでるから
0390nobodyさん
2008/11/20(木) 23:24:17ID:???0392387
2008/11/20(木) 23:54:47ID:???仕様なのかもしれないですね、ループしてしまう部分もあわせて
どうにか解決したいと思います。
これからはZendFWのスレで聞きます。 ありがとうございました。
0393nobodyさん
2008/11/21(金) 00:22:41ID:zW/fBXPAhttp://itpro.nikkeibp.co.jp/article/COLUMN/20080317/296440/?ST=develop&P=3
ここみてたら、ポストバックという便利な仕組みがあるそうじゃないか
これってよく使うの?
0394nobodyさん
2008/11/21(金) 00:23:50ID:???0395nobodyさん
2008/11/21(金) 00:31:02ID:rCZA/W6tPHPとかPerlとか全く知らないんだけど
どっちか片方覚えておけばいいの?
それとも両方覚えないといけないの?
0396nobodyさん
2008/11/21(金) 00:34:24ID:???0398nobodyさん
2008/11/21(金) 00:51:54ID:???マジで聞くことがあったWebプログラミングを勉強する上で
UNIXで動かさないとダメなの?
Windowsにアパッチ入れてみたけど、それで勉強したとして
それで出来上がったファイルをレンタルサーバに入れて
おk?
0400382
2008/11/21(金) 01:33:25ID:F+S9pS9uMicrosoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>php -rf mb_ereg_replace
PHP Warning: PHP Startup: zip: Unable to initialize module
Module compiled with module API=20060613, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=1
These options need to match in Unknown on line 0
PHP Warning: PHP Startup: pdo_mysql: Unable to initialize module
Module compiled with module API=20060613, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=1
These options need to match in Unknown on line 0
PHP Parse error: syntax error, unexpected $end in Command line code on line 1
とこんな感じでエラーが出ます。検索しまくってるんですが、なかなか糸口もみえずぜひアドバイスいただければと思います。
0401nobodyさん
2008/11/21(金) 01:36:19ID:???0402nobodyさん
2008/11/21(金) 02:02:30ID:???0403nobodyさん
2008/11/21(金) 02:05:18ID:???PHP : 5.2.6
MySQL : 5.1.29-rc
先ほど環境を整えたのですが、
mysql_connect 関数を呼び出すと httpd.exe に強制終了が起きてしまいます。
Client API header version は 5.1.29-rc で本体と一致しています。
何が原因でしょうか。
ご教授をよろしくお願いいたします。
0404nobodyさん
2008/11/21(金) 02:06:07ID:???>>1
http://www.google.com/search?q=%E3%81%94%E6%95%99%E6%8E%88
0405nobodyさん
2008/11/21(金) 02:09:46ID:AgX6JP+GID出し忘れました。失礼しました。
ご教授ください、は誤用なんですね……。
0406403
2008/11/21(金) 02:35:55ID:???何でも最新がいいわけではないんですね。
失礼しました。
0407382
2008/11/21(金) 02:43:19ID:???ふつうにご教授頂ければ幸いです。とかつかってたよ。はずかしい。。。
0408nobodyさん
2008/11/21(金) 05:37:17ID:???とあるスレで発言したら、焼き餅焼かれてひどい目にあったので、こっちに来た。
CCNP取ったって言ったけど、元はweb系のSE。
web系の案件も何件かやって、やり尽くした感があるので、今はweb系より高度な技術が要求されるインフラ系のSEにスキルアップ中。
0410nobodyさん
2008/11/21(金) 07:34:39ID:BR6mi0Leごめん。
php --rf mb_ereg_replace
php --re mbstring
だった。
php -h でコマンドラインオプションが確認できます。
間違っていることに気づいて、正しいオプションで実行した結果が
あれなら、重大な問題があるような気がします。
エラーログにも残っていると思うけど、IISだとどうなのか
よくわからないなぁ。
0412nobodyさん
2008/11/21(金) 08:35:35ID:zW/fBXPAウチが借りてるレンタルサーバーは
phpファイルのパーミッションが400で
動いているんだが、これでいいのかな?
0413nobodyさん
2008/11/21(金) 08:42:11ID:zW/fBXPA「なんで実行権限与えてないのにPHPのファイルが
動くんだろう?」
って思ったけど、もしかして、
「アパッチのモジュールとして動いているから、
実行権限は与える必要は無い」
って解釈であってるのかな?
0414nobodyさん
2008/11/21(金) 14:46:23ID:wJTKWOfAまずSMTPに
$socket=fsockopen($server,$port);
します
fputs($socket,"EHLO $server\r\n");
した後応答が複数行あるのですが、通信をタイムアウトさせることなく
過不足なく取得するにはどうしたらいいでしょうか
$response.=fgets($socket,1024);では単行しか取得できず、
fgetsがまだ用意されていないのにfgetsを実行した場合、
通信のタイムアウトまで待ってしまいます
0415nobodyさん
2008/11/21(金) 15:03:24ID:wJTKWOfA[RESPONSECODE]-[RESPONSESTRING] //最終行以外
[RESPONSECODE] [RESPONSESTRING] //最終行
ですね
0416nobodyさん
2008/11/21(金) 15:16:06ID:???0417nobodyさん
2008/11/21(金) 15:43:29ID:XpwRzbFr0418nobodyさん
2008/11/21(金) 15:48:54ID:???0419nobodyさん
2008/11/21(金) 22:01:25ID:zW/fBXPA拡張子が.phpでもSSIって使えるの?
よくある設定だと、SSIを使いたいときには、
拡張子をshtmlにしてください、とかあるじゃん。
そしたら、php使えなくネ?って思うわけだ。
0421nobodyさん
2008/11/21(金) 22:14:33ID:???fget()は1行ずつ取る関数。
それならループで回せばいい。
PHP5ならstream_get_contents()が楽ちん
0422nobodyさん
2008/11/21(金) 22:14:56ID:???0425nobodyさん
2008/11/21(金) 22:21:20ID:zW/fBXPA何回も使うファイルをincludeするのに、
SSI使う方法と、phpのinclude使う方法と、
2つの選択肢があると思うのだが、
どちらを使ったほうがいい?
0426nobodyさん
2008/11/21(金) 22:23:56ID:???PHPでは配列と連想配列との区別はない
よって全てを「配列」と呼んでおけばいい
っていうか、そもそも連想配列=ハッシュでないので。
0428nobodyさん
2008/11/21(金) 22:31:22ID:???0429nobodyさん
2008/11/21(金) 22:32:36ID:???http://www.php.net/manual/ja/language.operators.php
型の概念が理解できているなら「===」と「!==」を使う事をお勧めしとく
0430nobodyさん
2008/11/21(金) 22:37:01ID:???http://www.php.net/manual/ja/reserved.variables.request.php
0431nobodyさん
2008/11/21(金) 22:58:47ID:???$j = strlen($char);
for($i=0, $i < $j; $i++)
>>76
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html
>>73
何をpopen()してるのだろう?
>>55
PHP標準を使おうがDBを使おうが、セッションIDが漏れた時のリスクは一緒。
それでもDB等で自前の実装がしたいなら、session_set_save_handler()が便利だ。
携帯では接続の度にIP変わるから、IP使うのは駄目。
UserAgentはナンセンス。
各キャリアがもっている個体識別番号を使うといいよ。
DoCoMoでもユーザー認証無しでとれるようになったしね。
個体識別番号取れないようにしてる機種に対してはエラーを出すのを忘れない事。
0432nobodyさん
2008/11/21(金) 23:58:42ID:???てかID:zW/fBXPAは連日むかつくよ。
PHP以外の言語も知っているような口ぶりだけど
なんでそんなにえらそうな聞き方するんでしょう?
自分で調べようとしてなさそうだし
教えてもらったのならありがとうの一言くらい言えばいいのに。
0433たまちゃん ◆ExGQrDul2E
2008/11/22(土) 00:21:58ID:AbVJZ2V5省略を表示する以前の文字が表示されません。
文字...略14としたいのです。
$mess = <<< FORM
文字列<br><br><br>あさささ<br>xf文字<br><br><br>czdvf
FORM;
$msgline = substr_count($mess, "<br>") + 1;
if ($msgline > 3) {
preg_match("/(.*) <br>.*/U", $mess, $match);
$message = $match[1]."<br> 省".$msgline."</a>";
}
echo "$message<hr>";
これでは、ただ(省)とだけ表示され、略される前の(文字列)と言う文字は表示されません
どのようにすればよいか、教えてください。
0434nobodyさん
2008/11/22(土) 00:22:11ID:???if (淡々と答える事が出来る) {
淡々と答える;
} else {
スルー;
}
>>428
「ハッシュテーブル」とかでググるといいよ。
まぁperlとかでは連想配列をハッシュと呼ぶのが通例だし細かい事は気にするな
>>425
require
PHP5ならautoloadなんかも上手く使うといい
0435nobodyさん
2008/11/22(土) 00:34:45ID:???$encoding = 'UTF-8'; // 実際は定数にする事
$str = 'オリジナルの文字列';
$len = 10;
$str2 = (mb_strlen($str, $encoding) > $len) ? mb_substr($str, 0, $len, $encoding) . '省略' : $str;
echo $str2;
0437435
2008/11/22(土) 00:37:53ID:???$num_br_max = 3;
$str = '文字列<br><br><br>あさささ<br>xf文字<br><br><br>czdvf';
$ary = preg_split('/<br>/i', $str);
$str2 = (count($ary) > $num_br_max) ? implode('<br>', array_slice($ary, 0, $num_br_max)) . '省略' : $str;
echo $str2;
0439438
2008/11/22(土) 00:40:46ID:???0441nobodyさん
2008/11/22(土) 00:45:58ID:???スレが荒れるから回答者は全員スルーしたほうがいい
過去にも何度もあったことだ・・・
このままの調子だと
回答者はマナーのなってない質問者には回答してはならないっていうルールができてしまう
0442nobodyさん
2008/11/22(土) 00:59:21ID:???別スレに逃げ出したぞ
ほんと腐ってるね
0444たまちゃん ◆ExGQrDul2E
2008/11/22(土) 01:19:45ID:AbVJZ2V5ありがとうございました。
うまく動きました。
>>435
これだと、タグの途中で切れたら
意味がなくなるみたいです。
0445nobodyさん
2008/11/22(土) 01:26:36ID:???些細なミスをした店員を執拗に罵倒してる客とかたまに見るけど、
普段怒られてばっかで、怒ることに慣れてないから必要以上に相手を罵っちゃうんだろうな。
加減が分からないって可哀想だよね。
0446nobodyさん
2008/11/22(土) 01:40:28ID:???0447nobodyさん
2008/11/22(土) 02:36:26ID:???0448nobodyさん
2008/11/22(土) 16:01:33ID:ngL3J7iI広告が入らないところといったら、
一番安いのは、さくらになってしまうのかね?
0450nobodyさん
2008/11/22(土) 17:11:51ID:iSnXxlqn全文を表示させるようにしたいのですけど、どうやるのでしょう?
「続きを読む」という文にリンクをかけて、もう一つ全文記事を作って
そこで全部書けばいいのでしょうか?
0451nobodyさん
2008/11/22(土) 17:35:35ID:???0452nobodyさん
2008/11/22(土) 18:00:08ID:???最近のMovableType4.2なんかだと「本文」と「続き」が別々のフォームで
保存も別にされてる様子。
1個の枠だけで「続きを読む」をやる場合は
まず本文の文字数をチェック。
↓
本文が○文字より長い場合は、頭から○文字までを表示して
一番最後に「…」みたいな省略がある事を明示する文字を付け足して
レコードの個別IDを含んだ全文表示用リンクを表示する。
↓
そうでない場合はそのまま表示する。
って感じだな。
記事の要約をトップページに表示したり
RSSへページの概要としても提供するなら
短い説明文と本文は分けて置いた方が良いと思う。
目次を表示する時に、各項目が「…」で省略されてるのは
クリックするまで中身が完結しないから、目次として微妙になってしまう。
わざと完結させないでPV増やすって技もあるかもしれないけど
他のサイトの方が読みやすければ廃れるのも早いと思われ。
0453nobodyさん
2008/11/22(土) 20:48:34ID:MJ/AoE7Yブラウザ経由ではなく、コマンドラインでPHPを対話的に操作したいのですが、
1. PHPの対話環境はありませんか?Rubyのirbのようなものです。
php -a は試しましたが、<?php ... ?> に囲まれないと出力されませんし、文
法エラーがあると強制終了だしで、実用に耐えませんでした。
2. 対話環境がないとしたら、 php -f PHPファイル名 しかないと思うのですが、
printのような関数で、最後に改行してくれるものはありませんか?
Java の System.out.println(), Ruby の puts のようなものです。
0454nobodyさん
2008/11/22(土) 21:02:14ID:???http://fdays.blogspot.com/2008/02/php5.html
対話的操作なら、var_dump()で良さそうです。
0455nobodyさん
2008/11/22(土) 21:25:18ID:b7xKLs1Nttp://w1.nirai.ne.jp/freeze/main/file09.html
----------------------------------------------
$updir = "./updir/";
これが変数に保存用のフォルダを代入している部分です。
$filename = $_FILES['data']['name']
これを、指定フォルダの中に保存するのが、
move_uploaded_file($_FILES['data']['tmp_name'], $updir.$filename)
その後、echo命令で画像を表示しているわけです。
--------------------------------------------
$updir = "./updir/"の部分を他のサーバ、例えばhttp://www.example.com/down/
に保存したい場合、どのようにすれば良いでしょうか?
そのまま$updir = "./http://www.example.com/down/"とした時、アップロードするとエラーが出てしまいます。
0456nobodyさん
2008/11/22(土) 21:27:11ID:???0457nobodyさん
2008/11/22(土) 22:03:15ID:P3cvCpOqapache + mod_phpで動かすのだと
どっちの速度が速い?
0458nobodyさん
2008/11/22(土) 22:03:44ID:???0459nobodyさん
2008/11/22(土) 22:05:15ID:???他のサーバにアップロード用のプログラム用意して、socketで画像データをpostするとか
勿論セキュリティ上出来ない場合もあるだろうし、何より改変は変数一つ書き換えるだけでは済まない
0460nobodyさん
2008/11/22(土) 22:11:43ID:???流すようにした方が多分作るのは楽だろw
0461nobodyさん
2008/11/22(土) 22:13:32ID:???■ このスレッドは過去ログ倉庫に格納されています