【PHP】下らねぇ質問はここに書き込みやがれ 59
1 :
nobodyさん :
2007/11/16(金) 18:09:05 ID:kurqBmt1 まず読め→【PHP マニュアル】
http://www.php.net/manual/ja/ PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/ ◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている 。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(
http:// 〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
6 :
nobodyさん :2007/11/16(金) 18:15:46 ID:YLA23gGS
ちょwwwwwwwwwwwwwwwwwwwww >>1乙。
7 :
nobodyさん :2007/11/16(金) 18:16:31 ID:YLA23gGS
俺さー。PHPの本ほとんど全部そろえたんだけど。すこい?
9 :
ヤクザ :2007/11/16(金) 18:21:57 ID:???
お兄ちゃん達、すぐにお金振り込んでやるから銀行の口座番号教えろや
出勤表の人どうなった? やってあげてもいいぞ。
失禁表作ってくれるのか? 頼んだ!
ドリームウィーバーとかの使い方を教えてあげたら? >> 出勤表の人
そっちの方が手間掛かる
16 :
nobodyさん :2007/11/16(金) 21:04:38 ID:+4O6lN25
おまいら、AJAXやってますか? SAJAXはなんか評判ボロボロだし、HTML_AJAXはまだβってコトで何使おうか迷ってます。 ってコトでお勧めのAjaxライブラリおしえてくだっさい
17 :
nobodyさん :2007/11/16(金) 21:07:45 ID:/GPbzmVv
コードをEUCで書いて、出力もEUCの場合って HTMLの中に「<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">」 って書いたほうがいいかな?
書かなくていいよ
ネタスレと化したなぁ
うぇb制作板のsohoスレ住民が潜伏してきたな
21 :
nobodyさん :2007/11/16(金) 21:33:53 ID:eWYRAXgr
よく掲示板とか見てるとスパムメッセージが大量に書き込まれてるのがあって、 その対策としてtext_captchaを使ったりすると思うんですが、 そもそもその掲示板がID,Passによる認証したあとのエリア(会員サイトのコミュニティ掲示板など) の場合はキャプチャとか使わなくてもロボットによる大量投稿ってのはありえないんでしょうか? 駄質問ですが教えてください
ありえない訳ではない。アカウント取得の容易であればある程、業者が潜り込む可能性は高い。 って事くらいは考えるまでもなく分かると思うんだが。
23 :
22 :2007/11/16(金) 21:43:32 ID:???
×アカウント取得の容易 ○アカウント取得が容易 偉そうな文体で誤字ってると、物凄く恥ずかしい。
A型だろおまえ
さすがにそれぐらいなら脳内補完できるから
レベルが低いとかそういう次元じゃねえ なんでWeb制作板の話題になってるんだよ
/* ここまでPHPの質問なし */
'ここまでASPの質問もなし
phpをつかってyahooをひぃひぃいわすことできますか?
1分に100万回のHTTPリクエストでも送ってあげれば?
そんなんじゃひいひいもしないし、返されて終わり。 鯖の設定もしたことないのか、はたまた安鯖しか組んだことないのかバカが多いねw
こんなスレでハッカーぶって偉ぶってるほうがよほどバカに見える スレと関係ない話題は徹底的にスルーしろよ
たった1レスで馬鹿が多いとか
34 :
はげお :2007/11/17(土) 02:33:59 ID:u6RvWjnE
教えてください
今 $_SERVER['HTTP_REFERER'];を使ってURLをゲットし
それをメールで送るのをやってるのですが、
firefoxのブラウザではちゃんとエンコードしてくれて上手くいくのですが、
IEだと
http://hogenohogeo.com/name.php?tag=ハゲのハゲお みたいにエンコードされずに文字化けしておくってしまうのですが、
URL全体をutf-8にしてやりたいのですが、
$enurl = mb_convert_encoding($url, 'UTF-8', 'auto');
みたいにしても上手くいきません。どこがおかしいのでしょうか?
>>34 IEだとそうなるよ。文字を含むURLを直接渡すんじゃなくて、
エンコードし手渡し、復元したい時にデコードする。
まあ、URLに日本語を入れたとき、 どのエンコードで送るかなんて決めようがないからな。 ウェブページからのPOSTは現在表示している文字コードでいいが、 URLはその情報すらないからな。
39 :
nobodyさん :2007/11/17(土) 03:29:53 ID:8mjUgZP5
php と間接的に関係あると思い、質問させて頂きます。 apache2 + php なんですが、apache2 で openssl (mod_ssl.so) 環境を構築した場合、 php.ini の php_openssl.dll はどうなるんでしょうか? (CLI 環境で必要なので、extension=php_openssl.dll は記述したまま…) .php にアクセスされた時に有効となるのでしょうか?
???
42 :
nobodyさん :2007/11/17(土) 08:29:05 ID:Fvt4HDZq
質問 文字列の最後から3文字を取り除くにはどうしたらいいでしょうか?
43 :
nobodyさん :2007/11/17(土) 09:15:22 ID:njqWb8sm
教えてください。 FOMA端末で個体識別番号を取り出して本人認証を…ってページを作っているのですが ページ間での移動の場合は<a 〜〜 UTN>で番号取れますけど、アドレスを直接指定して アクセスされた場合に識別番号を取得する事って出来ますか?
前スレ
>>945 UCS を UTF-8 で符号化する方法は RFC 3629 に書いてある。
もしスクリプトを UTF-8 で保存する場合は
エスケープしなくともそのまま書き込んでいい。
$arr = array('@' => '(1)', ...);
前スレ
>>946 一度 fopen('
http://.. ') で開いたストリームから
stream_get_meta_data() でレスポンスヘッダを取って、
ダウンロードした物は zlib 圧縮関数へ任せる。
一連の動作をするストリームラッパーやフィルタを
自分で定義するのもありですね。
前スレ
>>964 php.ini もしくは ini_set() で display_errors = On
と設定されていれば標準出力に出力される、なので可能。
エラー内容が欲しいのなら error_get_last() または
set_error_handler() を利用する方が良い。
>>42 substr()とstrlen()を組み合わせる
starlen()はいらんかった
48 :
16 :2007/11/17(土) 10:48:34 ID:???
>>16 ……なんかネタ扱いされてますが、やはりAjax+PHPってのはまだ普及してないんでしょうかね?
正式版が出れば、pearのHTML_AJAXは結構使ってみたい気もするのですが……
49 :
43 :2007/11/17(土) 10:51:59 ID:njqWb8sm
>>44 すみません。説明不足だったようです…。
えっとA:ログイン画面 B:ログイン後画面としているのですが
AからアクセスしてBにジャンプする場合は、<a 〜〜 UTN>で端末番号を取得出来るのでいいのですが
直接Bのアドレスを指定してアクセスされた場合に、識別番号を取得する方法があるのかなぁと
思った次第なんです。。
>>49 識別番号が無かったら識別番号取得ページに飛ばし那覇れ
PHPERのみなさんはシェルスクリプトもPHPで書いてやがるのですか? shでシェルスクリプト書いてるのですがPHP以上に糞なので困ってます grepで使える正規表現貧弱すぎワロタ やはりRubyとか覚えた方がいいのでしょうか
シェルスクリプトなんて使わん
>>51 シェルスクリプトの場合Perlが比較的おおいんじゃないかと
RubyよりはPythonのほうがいいですよ
55 :
nobodyさん :2007/11/17(土) 13:00:43 ID:q8xDPAKo
PHPはオーバロードを使えないのでしょうか? それとも書き方が悪いのでしょうか? もしできないのなら、どうにかして実現するような方法はありませんでしょうか? class OverloadTest {  private $var;  function ConstructTest() {    $this->var = null;  }  function ConstructTest($_var) {    $this->var = $_var;  }  function getVar() {    return $this->var;  } } $obj = new OverloadTest(); var_dump($obj->getVar());
56 :
55 :2007/11/17(土) 13:02:15 ID:q8xDPAKo
あ、すみません ConstructTest()をOverloadTest()か__construct()に置き換えて下さい。
57 :
前945 :2007/11/17(土) 13:30:40 ID:???
>>45 ありがとうございます。
でも自分の頭じゃUTF8のコードを算出できそうにないなorz
>エスケープしなくともそのまま書き込んでいい。
>$arr = array('@' => '(1)', ...);
macなどwindows以外で表示されるものも弾きたいので
@ではなくUCSコードを使いたいのです。
そのような関数があればいいのですが・・・
むしろ変換だけならPHP以外でやればいいのか・・・スレ違いになってきた・・・
もしご存知の方いましたら教えてください。
>>55 function __construct($_var = null){
$this->var = $_var;
}
このくらいならシンプルに書けるけど
オーバーロードに関してはPHPは不便
一般的にクラス内の関数とかシンプルにすべきなんでしょうか。 今はクラス内に徹底的に分岐処理なども全てつめこんで、 クラス使用する際に、 関数並べるだけ、みたいな感じにしてますが、 なんか間違ってるような。
>>59 意味わからないでつかってるならクラス使う必要ないし、無理して使わなくていい。
PHPはJavaと違ってオブジェクトにする必要ないんだから。
$var = 'abc'; $this->($varの値) を実行したい場合、 つまりこの場合は $this->abc を実行したい場合、 どのように記述すればよいでしょうか? $this->$var ではあぼーんでした
あなたたちのPHP暦を教えてください
>>61 $this->var
>>62 それを聞いてお前の中で何か変わるのか?ID非表示のスレで
1万年と2000年前から使っています
>>59 別に間違ってはないと思う。
下手にクラス使うよりそっちの方がいい。
OOPしたいなら、Javaとかやりなよ。
必要があるからするんじゃなくてしたいからするってどういう状況なんだろう
>>63 頭の固いクズは味噌汁のんでやわらかくしてこいw
クラス使ったら多分楽になるんだろうなとは思うけど、何をクラスにするかで悩むので 普通に関数化して誤魔化してます。
楽にはならんよ。手続きのほうが断然楽。 よく言われ手続き型は再利用性がなかったり保守性がなかったりというのも、 無理にクラスを使ったところで余計にそういう傾向になるだけだし、 OOPについて理解のないひとが無理にクラスを使ってもろくなことがない。 別に無理して使わなくていいんだよ。PHPってそういう言語だし。
WHOISの結果を表示するphpの書き方を教えてください。
71 :
61 :2007/11/17(土) 18:43:46 ID:???
$this 使ったから誤解された希ガス たとえば、create delete update という3つのメンバ関数もってるclassクラスなら $function = "create" $class->($functionの値)、 つまり$class->create() を実行したいのです。
>>70 Unix環境今いれてないから試してないが、
execとかsystem関数でwhoisしたらなんか返ってくる?
74 :
45 :2007/11/17(土) 19:03:27 ID:???
>>57 手抜きで良かったら。
$ucs2be = pack('n*', 0x2460);
$utf8 = mb_convert_encoding($ucs2be, 'UTF-8', 'UCS-2BE');
echo '文字列: ' . $utf8 . PHP_EOL;
echo '文字列リテラル: "\\x' . implode('\\x', str_split(bin2hex($utf8), 2)) . '"';
>>71 class Example {
public function call($method) { $this->$method(); }
public function create() { echo __METHOD__ . ' called.'; }
public function update() { echo __METHOD__ . ' called.'; }
public function delete() { echo __METHOD__ . ' called.'; }
}
$example = new Example();
$example->call('create');
すいませんデリヘルの店長ですが、姫たちの出勤表のプログラム作ってもらえませんか? 予算は20万です。
メアド出して。んで詳細を送って。
前スレのやつは確か店長じゃなかったけどな
>>75 デリ姫は時間にだらしないから一人一人電話入れた方がいいぞ
マルチじゃね?しかも安すぎるわ。最低三百万だな
>>75 トップの娘と100回無料でまんちょさせてくれたらやります。
>>75 俺が作ったる。メアド欄のメアドにメールよろ
ここをなんのスレだと思ってるんだか
85 :
nobodyさん :2007/11/17(土) 21:56:46 ID:ZVacPykJ
mysql に対してinsert文飛ばしてるんだけど、データが追加されません。 php中のサーバやパスワードの指定を確認してもちゃんとつながってます。 どういう原因が考えられるでしょうか? 普通の insert into testtable (a,b,c,d,e…) values('$a','$b','$c','$e',…); って書式で、 コレをコマンドラインや phpMyadmin のSQLにコピペして打ち込んだら ちゃんと反映される状況です…
mysql_error()で確認してみれ
>>86 どうもです それ、試してみます
phpのmysql文を delete from saloon_kihon where sId=100 っていうデリート文に
直したらこっちは動作しました サーバやパスワードの設定は変えてないのに、、
なんでinsert文がdelete文に置き換わるんだw
89 :
nobodyさん :2007/11/17(土) 22:16:31 ID:JYfUue/9
>>84 ま、少しでも流れを戻すためにw
>>75 みたいに「大したコトしないけどやっぱDBはほすぃよねー」って時、何選ぶ?
コレ読んで「ああ、そーいえばSQLiteなんてモノがあったっけ」と思い出して少し調べてみたのだが、最近のディストリじゃ--without-sqliteでコンパイルしてるのな。
--with-pdo-sqliteとぶつかるからってコトでこーしてるらしいのだが、PDOってどうよ?
以下余談。
フーゾク屋さんのWebを見てると、面白いまでに画一化してるのがなんとも楽しい。
フリーのフーゾク店Webツールとか作ったら面白いかもしれんな、イロイロと黒いイミも込みでw
phpってソースからコンパイルして使うものじゃないのか?
mysqlとpdo使ってるよ。良いよ。
>>89 MySQLが使えるなら規模問わずMySQL。
SQLiteなんてDBがインストールされてないような特殊な環境じゃないと使わない。
Oracleが使えるならOracle使うし、使えるDB使うのが基本だろ。
>フリーのフーゾク店Webツール
こんなの作ったら圧力かけてくるよ
93 :
nobodyさん :2007/11/17(土) 22:42:29 ID:TDJjbBfG
>>92 フリーのふー族店Webツール 姫のデータを入れるツールをつくり、地図の図を入れるツールを作り コース・オプション・料金を入れるツールを作り、DBもろともインストーラで インスコするようにすればおk。 以外に簡単総社ね?
勤怠管理とWeb予約を紐付けたCMSぐらいなら、有り物組み合わせたら簡単にできそうだ
95 :
nobodyさん :2007/11/17(土) 22:46:50 ID:TDJjbBfG
ってか、まじで簡単そうだな。。 よくよく考えてみれば顧客の注文も似たような部分がたくさんあるから それを作ればいいような。。車輪の再開発がだいぶ短縮できる。 VB使えりゃパッケージ開発できそうな気がしてきた。。
96 :
39 :2007/11/17(土) 23:01:04 ID:8mjUgZP5
誰か解りませんか?
97 :
89 :2007/11/17(土) 23:03:49 ID:???
>>90 正論だが
>>75 にソレを言っても始まるまいw
>>91 ふむ、ちょっとイジってみるか>PDO
>>92 正論だが(以下tbs
「MySQLが使えるレンタルサーバと契約してIDとpassもらって……」って言い出した時点で「アンタやって」って○投げするに決まってるやんw
これはフーゾクに限らず、中小企業のエラいさんなんてみんなそんなモン。
>>フリーのフーゾク店Webツール
>こんなの作ったら圧力かけてくるよ
だから楽しいのだろうw
>>93 地図ツールは単体ならフリーのである。
コース・オプションあたりはビミョウだな。これはWeb屋に任せた方がいいかもしれん
DBコミのインストーラはECコマースツールあたりのソースを見れば出来るだろうが、その手間を省きたいのでSQLiteを持ち出したのだよ。
>>94 そそ。嬢がケータイで勤怠を登録できるように出来れば意外と評判イイかもしれん
>>95 いや、本当にパッケージにするならPC本体コミで売りつけるべきだろうw
ただし、流石にソコまでやるとスジの人が怖いな
……ていうか、おまいらPDOの話題書き込んでください。
何でコッチにばっかり食いついてくるよw
姫プロジェクト誕生の瞬間を見た
じゃあそろそろ要求定義に入ろうか
100 :
89 :2007/11/18(日) 00:03:15 ID:???
流れを戻したくて必死にPDOの話題を書き込んでみるw PDO、とりあえずWEB+DB Vol.30見てサクっと動かしてみた。 そんなに難しくはなさそうだがリファレンスは必須だな。 手元の青マンモス本では流石に古すぎる。なんかいい本シラネ? ちなみに若干の注意点。Webやプラグラミング本、青マンモス本とかの古い資料だと、定数をPDO_・・・(例:PDO_ATTR_CASEとかPDO_CASE_LOWER)と書いてあるけど、これは今はクラス「PDO」の中に隠蔽されてる。 PDO::ATTR_CASEとかPDO::CASE_LOWERと書かないと動かない。 あと、SQLiteでは自動コミットをOffに出来んらしい。 ちなみに環境はCentOS5上での5.1.6
おまえらほんと893すきだね
ヤクザマネーください
>>88 いやー、すみません
まったくphpからのSQLコマンドを受け付けないような状況なのかと思って、とりあえずdelete文を
試してみました。 こっちはちゃんと動作するんですよね。
>>86 さんの言うとおり、mysql_error()試したんですが、エラーが出ないようです
どうなってるんだ・・・
104 :
103 :2007/11/18(日) 00:52:02 ID:???
自己解決しました テーブル名を定数で表現してたんですが、 それをそのままダブルクォーテーションに突っ込んでました レスくれた人ありがとう
106 :
nobodyさん :2007/11/18(日) 05:50:42 ID:hVWGJ0jC
これがゆとり世代というものか
>>106 うちの金庫に厳重に保管してあります。あしからず。
分からない人は無理して答えなくていいです 分かる人だけお答え下さい
ヽ(`Д´)ノ ボ .ヽ`Д´) ッ (ヽ`Д). キ ( ヽ`) ア ( ヽ ゲ ヽ( )ノ. ス .ヽ ) ペ (ヽ ) シ (Д´ヽ) . ャ (`Д´ヽ ル ヽ(`Д´)ノ ト .ヽ`Д´) ル (ヽ`Д). ネ ( ヽ`) l ( ヽ ド ヽ( )ノ. サ .ヽ ) イ (ヽ ) ク (Д´ヽ) . ロ (`Д´ヽ ン ヽ(`Д´)ノ ! !
長い 2行にまとめろ
40代無職の人は質問者の邪魔してばかりですね・・・ 困ったものです
ヽ(`Д´)ノ ボ .ヽ`Д´) ッ (ヽ`Д). キ ( ヽ`) ア ( ヽ ゲ ヽ( )ノ. ス .ヽ ) ペ (ヽ ) シ (Д´ヽ) . ャ (`Д´ヽ ル ヽ(`Д´)ノ ト .ヽ`Д´) ル (ヽ`Д). ネ ( ヽ`) l ( ヽ ド ヽ( )ノ. サ .ヽ ) イ (ヽ ) ク (Д´ヽ) . ロ (`Д´ヽ ン ヽ(`Д´)ノ ! !
40代自重しろ
phpのglobって再帰的に取得できたりしないの? glob("mydir/" . "**/Test*.php") ってやったら1階層下のしか取れてない。 rubyのglobは再帰的に下までとったはずだが。
116 :
nobodyさん :2007/11/18(日) 12:43:26 ID:KAZWW8eo
>>114 いや。俺もよくわかる。このまま、40代になったら、こんな事にしか
楽しみを見出せない40代になってそうだ。
ヽ(`Д´)ノ ボ
.ヽ`Д´) ッ
(ヽ`Д). キ
( ヽ`) ア
( ヽ ゲ
ヽ( )ノ. ス
.ヽ ) ペ
(ヽ ) シ
(Д´ヽ) . ャ
(`Д´ヽ ル
ヽ(`Д´)ノ ト
.ヽ`Д´) ル
(ヽ`Д). ネ
( ヽ`) l
( ヽ ド
ヽ( )ノ. サ
.ヽ ) イ
(ヽ ) ク
(Д´ヽ) . ロ
(`Д´ヽ ン
ヽ(`Д´)ノ ! !
117 :
nobodyさん :2007/11/18(日) 12:53:34 ID:KAZWW8eo
派遣に登録にいくたび、ソースもってくんだけど、 俺は学歴ないから(高卒)、ソースで採ってもらうようなものなんだ。 昨日、色々考えをめぐらせたんだけど、ありきたりのじゃ面白くないから 上で書いてあった風俗Webツール作ってもっていこうかな。。 姫の自己紹介とか出勤とか全部自由に登録できる高機能な奴。でも、女性社員の受けは悪いだろうなあ。
そして販売した先の893社長にちょっとしたバグを付け込まれて、 理不尽な言いがかりを付けられて一生ただ働きさせられるのですねw 人生まともに過ごしたいなら893や部落、在日朝鮮人には関わらない方がいいぞw
高機能っつってもなぁ。やってる事は単純だし。
妄想で高機能にしても使えないシステムができるだけ。
121 :
nobodyさん :2007/11/18(日) 13:43:21 ID:0/SvFAMM
質問です。 以下のディレクトリ構造 root -+- hoge01 --- hoge02 +- hoge03 -+- hoge04 +- hoge05 で、root に設置した「change.php」に用いて、全ての下位ディレクトリの パーミッションを一気に変更したいと思っています。 そこで「change.php]に、 while(false !== ($dirName = readdir(ディレクトリハンドル))) { chmod($dirName , 0***) } と書くと、「hoge01」と「hoge03」のパーミッションは期待通りに変更されるのですが、 「hoge02」と「hoge04」、「hoge05」のパーミッションは変更されません。 複数階層以降の下位ディレクトリ全てのパーミッションを 一括変更する方法はありますでしょうか? よろしくご教示ください。 PHPバージョン: 4.4.7
宿題臭いなw
system()でchmod -Rしとけ
>>69 そんなものなのかな。
似たような関数が複数できてしまった場合、クラスに入れていった方が共通部の直しとかきっと
楽なんだろうとか妄想してしまうんだが。
もちろんOOP解っていない自分が無理に使う気はないけど、AJAXだのJSONだのが流行っている
のをみるとOOPできないと幅が狭くなっていく気はしてるorz
125 :
121 :2007/11/18(日) 14:55:53 ID:0/SvFAMM
>>123 レスありがとうございます。
頂いたアドバイスを元に試行錯誤しているのですが、
どうにもうまくできませんでした。
while(false !== ($dirName = readdir(ディレクトリハンドル))) {
system("chmod -R *** {$dirName}");
}
と書いたのですが、パーミッションは期待通りに変更できずにいます。
お手数ですが、再度詳しくご教示のほどお願いいたします。
>>124 プログラムが助長になるようなら使えばいいし、そうでなければあえて使う必要もねーな。
視野を広げたければOOPを勉強すりゃいいだろ。
OOPやらデザインパターン勉強しても、使いどころが分かってない奴多いね。 ここをクラスにできないかな?って試行錯誤するのはいいことだけど、 無理に使おうとしなくても、沢山経験積んでいけばおのずと使いどころが見えてくるよ。
引数の型にstringやintってつかえないんだっけ? function hoge(string x) とか。文字列渡してもstring型じゃねぇって。
タイプヒントは、object型やarray型 (PHP5.1以降) でのみ使用できます。 int および stringのような 通常の型でのタイプヒンティングはサポートされません。
132 :
129 :2007/11/18(日) 17:22:08 ID:???
>>130 サンクス。クラスである型じゃないと駄目って事かな。
自分で定義したクラスは引数指定できるようだし。
string,intはコメントにかいとけってことですね。
133 :
nobodyさん :2007/11/18(日) 17:53:11 ID:9XGZcI1l
ファイルが存在するか調べるのはfile_existsですが、 URLが存在するか調べる場合は何を使えばいいのでしょうか? fopen, file_get_contentsなどさまざまな方法がなくはないんですが、 これだと存在しないときにWarningが出るので、 存在しない場合にfalseを返すような関数ないですか? function url_exists($url) { if ($fp = fopen($url, "r")) { fclose($fp); return true; } else { return false; } } としても当然のごとくWarningが出るので・・・ @で制御するのもいいのですが、@を使わないで出来る方法があったら教えてください。
>>133 file_existsのユーザノートにわんさか書かれてるよ
135 :
133 :2007/11/18(日) 18:01:37 ID:9XGZcI1l
>>134 ユーザーノートとは見落としていました。
curlなんて初めて聞いた関数なので思いもつかなかったです。
早速勉強してきたいと思います。
どうもありがとうございました。
"をPOSTすると勝手に &quot;(半角)にされてしまうのですが、 何が原因でしょうか?
鯖缶
ダブルクォート何かをPOSTしなきゃいい
PHPを使ってるかどうか分からないんだけど、 eBayで出品者と連絡取ろうと思ってeBayのメッセージ機能でメッセージ送ったら、 「'」が「?」に化けちゃう。それも毎回。 ●例 「I can't」→「I can?t」 これって何で?? もちろん文字入力時はIMEをOFFにして半角モードにしてるんだけど・・・。
SQLインジェクション対策だとは思うんだが、本当に全角の「?」なんだろうな?
141 :
139 :2007/11/18(日) 21:51:00 ID:???
あ、ごめん。 「?」じゃなくて「&#39;」の半角ね(^^; 「&#39;」は「?」の実体参照だったのかぁ。 それにしてもなんで「'」が「&#39;」(の半角ね)になっちゃうんだろうか。 >SQLインジェクション対策 ええ?? それはDBに入れるときにやればいいんであって、 HTMLに表示するときにエスケープしても意味ないっしょ。 それとも投稿された生データじゃなくて、エスケープ済みのデータをDBに保存してるんだろうか? だとしたらeBay終わってるな。
142 :
nobodyさん :2007/11/18(日) 23:07:25 ID:7wolHM+i
function categoryName($category_id){ $sql = "select * from category where category_id='$category_id' "; $res = mysql_query($sql,$conn); $row = mysql_fetch_array($res); return $row; } $sql = "select * from bbs"; $res = mysql_query($sql,$conn); while($bbs = mysql_fetch_array($res)){ $category = categoryName($bbs["category_id"]); echo $category["name"]; } ※DB接続部分は省いています として、カテゴリ用のテーブルにアクセスして IDが一致すれば、その読み方を取得して一覧に表示しています。 関数内でDBに接続するコードを書いているので、bbsテーブルの登録数によって 何度もDB接続→データ取得を繰り返しているわけですが、 こういう書き方というのはデータ件数が増えた時に、負荷がかかるのでしょうか? もしそうなら、別のやり方を教えて下さい。
<?php function hoge() { print('test'); } ?> ↑上のファイルを読み込む <?php include_once('aaa.php'); hoge(); ?> ってのと、静的メソッドの違いがわかりません。 <?php public static function hoge() { print('test'); } ?> ↓こうやった場合、上記のパターンとどう違うの? <?php include_once('aaa.php'); Hoge::hoge(); ?> どっちのやり方が普通なのでしょうか?
( ⌒ ) l | / 〆⌒ヽ ⊂(#‘д‘)<誰が禿げやねん!! / ノ∪ し―-J |l| | @ノハ@ -=3 ペシッ!!
>>143 とりあえず動くか試してから出してくれ。そしてちゃんと
>>1 を読んでくれ。
関数にpublic,static修飾子は使えない。
クラスを使う気がないのなら上の書き方が正解。
静的メソッド(クラスメソッド)とついになるのはインスタンスメソッドでクラスの話。
メソッドはクラス内での関数のようなもので、オブジェクトの振る舞いを決めるもの。
一般的な関数とは似て非なるもの。
>>142 SELECT * FROM bbs LEFT JOIN category USING(category_id)
147 :
142 :2007/11/19(月) 01:48:45 ID:???
>>146 すみません、言葉足らずでした。。
複数JOINして、アクセスが重くなっているので、
表示面は
>>142 のようにして分けようと思っています。
その際に、何度もクエリが送信してもいいのか?と思いまして。
>>139 >●例 「I can't」→「I can?t」
俺もeBayで実験してみたら再現した(Firefox2.0.0.9)。
なんだろうね?これ。
検索ボックスから入力した場合には「'」も文字化けしないで表示されるな。
>>147 純粋な興味心から聞くんだけど、
表結合したときと、示してくれたような個別クエリ発行するときと、実行時間にはどれくらい差あるの?
151 :
nobodyさん :2007/11/19(月) 03:35:34 ID:IR8ctjgO
(ルータなどの)グローバルIPアドレスを外部とは一切通信せずに取得する方法ってないですか?
152 :
151 :2007/11/19(月) 03:37:17 ID:IR8ctjgO
プラットフォームは Windows です
ここでする話じゃねえよ プログラム板のネットワークプログラムスレでも池
>>151 ルータがlinuxとかだったら教えてくれるようには出来そうだけど
とにかくルータさんに聞くしかないんじゃね
板違い。最近覚えたての用語使いたいだけの回答者も逝ってよし
156 :
nobodyさん :2007/11/19(月) 07:10:59 ID:NjBKqL/f
trimでの全角空白除去についておしえてください。 EUC環境では次で除去できているのですが (例)$name = trim($_POST['name'], " \t\n\r\0x0B "); ※わかりづらいかもしれませんが、デフォルトの対象文字に全角空白を追加してます。 UTF-8環境で同じコードだと先頭と末尾の日本語が文字化けします。(半角英数字だと正常) 全角空白を文字コードに置き換えて指定するなど試してみたのですが 無視されるなどしてうまくいきません。 ググるとあらかじめ全角空白を半角に置き換えて・・という方法が多いようですが trimで解決されてる方いましたら是非おしえてください。
trimはマルチバイトに対応していないだろうから無理じゃね?
mb_ereg_replace つかえば?
全くの初心者で申し訳ないんですが 日付を年号で出力したいんですけど どこをどう改造すればいいんですかね 平成+漢数字を出力したいです。
161 :
159 :2007/11/19(月) 10:30:53 ID:siEG6swa
ここは PHP のスレな訳だが…
「初心者」って単語はNGワードに登録をしておこうぜ。 そういうのは言語の種類もわからない奴だし。
そもそも日本に於いて年号出力が標準になってないのがおかしいよね せめて出力形式を選択できるようにしておいて欲しいよ 掲示板もブログも そうすれば一々苦労しなくていいのに じゃあCGIスレで質問してくることにします。
165 :
159 :2007/11/19(月) 10:52:14 ID:NjBKqL/f
>>157-158 ありがとうございます。
>trimはマルチバイトに対応していないだろうから
頭の片隅に覚えてたんだけど、EUCでできたので飛んでしまってました。
mb_ereg_replaceでやってみます。
166 :
159 :2007/11/19(月) 10:58:46 ID:siEG6swa
CGIと謂ってもプログラムがpmなので やはりここのスレが相応しいようです。 よろしくお願いします。
167 :
nobodyさん :2007/11/19(月) 11:11:14 ID:ltz9ymV3
submitする時にセッション変数の値を更新したいんですが、どうすればいいんでしょうか? $_SESSION['data'] = 0; クリア <form action='a.php' method='post' onsubmit='aaa()'> <input type='submit' value='送信'> </form> Javascriptのabc()でセットするんでしょうか?でもどうやって?
>>159 このスレは丸投げの質問は受け付けていません
どこをどうしてみたのかを書いてください
ソースを出さないことにはアドバイスのしようがありません
169 :
159 :2007/11/19(月) 13:20:25 ID:siEG6swa
だからどこがPHPなんだよスカタン
cgiの改造依頼はスレ違い 板内に改造依頼スレがいくつかあるでしょ 自分で作る気のない人の質問はここではNG というより散々指摘されてる通りここはPHPのスレであってPerlはお帰り下さい
172 :
nobodyさん :2007/11/19(月) 14:04:21 ID:S2JtxA6n
みんなはメルアド何か登録してる? PHP関連・使ってるエディタとか、PHPに役立ちそうなメルアドあったら教えてください。 他にもWebアプリ全般でもいいです。 よろしく><;
174 :
nobodyさん :2007/11/19(月) 14:13:18 ID:S2JtxA6n
まちがえた。メルアドじゃないや><; MLでもなくて、メルマガのことです><; メルマガに凝ってて><;
メルマガなんてまともに見てる人いるのか・・・ 昔懸賞サイトに登録しまくってスパムのごとく毎日100通以上送られてきた経緯から、 メルマガなんて大嫌いだ。 宣伝行為になりかねないので自分でよさそうなの探して下さい。
MLのPHP-Usersですら読む気がしないのに
登録だけして一切読んでないな。登録した時はwktkしてたのに。
178 :
nobodyさん :2007/11/19(月) 14:36:37 ID:S2JtxA6n
ええええ、みんな読んでないの? 結構おもしろいYO!
printf は出力しますが、 同様の機能で 変数に代入できるものはないでしょうか。
182 :
181 :2007/11/19(月) 16:17:23 ID:???
まちがったprint_rね。
?
>>142 > こういう書き方というのはデータ件数が増えた時に、負荷がかかるのでしょうか?
もちろんそうです。
> もしそうなら、別のやり方を教えて下さい。
>>146 遅くなっている原因を突き止めてからにした方がいいと思います。
一般的にはクエリ発行回数を減らした方がパフォーマンスも上がると思います。
185 :
143 :2007/11/19(月) 18:18:30 ID:???
>>145 さん
ありがとうございました。
なんとなく理解できました。
186 :
尾なし鳥 :2007/11/19(月) 18:47:05 ID:VBgYce8A
全半角混在したデータをmb_strcutを使って一定の文字数で改行を入れようと思ったのですが、期待通りに動いてくれません FreeBSD6.1+PHP5.2.1で文字コードはEUC-JPです とりあえずテストコードを書いてみました <?php mb_internal_encoding ( "EUC-JP" ); $src="xあいうえお"; echo mb_strcut($src,0,6); //(a) echo " <> "; echo mb_strcut($src,6); //(b) ?> (a)については、先頭から6バイト目の「う」の欠片を捨てて「xあい」となりましたが、 (b)は「うえ」となり、最後の「お」がどうしても取れません。(「えお」ならまだわからなくもないですが・・・) echo mb_strcut($src,6,6); や echo mb_strcut($src,6,6,"EUC-JP"); 等でもだめです。 何か勘違いしているでしょうか? それともFreeBSDかmb_strcut()のバグでしょうか?
省略されましたの中よんでなけど mb_regex_encoding
188 :
尾なし鳥 :2007/11/19(月) 19:41:30 ID:VBgYce8A
>>187 回答ありがとうございます。
mb_regex_encoding ( "EUC-JP" ); を入れてみましたが結果同じでした。
PHPのソースコードで1行ごとに実行速度をミリ秒で 出力してくれるソフトとか無いすか? デバッグ文を全部の行に埋め込むのはアレなんで・・・ php.exeで読み込んでる時出してくれるとかそういう 機能があれば・・・
必要なところだけ測れ
192 :
nobodyさん :2007/11/19(月) 21:40:16 ID:OzFCTvWZ
>>192 この程度のものなら5万ぐらいじゃないかね。
本格的に作るとなるとだいぶ高くなるが。
自分で作るとなるとDBの知識が最低でも必要。
もしかして手動CGIwなんじゃね?
予約管理システムとかも込みだったり、 メールが正常に受信したことを知らせる自動送信機能つけたり、 定員超えないようにセッションで予約重複しないように管理したりとか、 必要最低限と思われる機能つけたら軽く十万は超えると思うけどな・・・ 手動部分が多ければ5万で済みそうだけど
196 :
nobodyさん :2007/11/19(月) 22:07:27 ID:EHezjkQL
PHPでのXML宣言について質問です。 サーバーの仕様が原因なのか、echoやprintで記述すると2行目に宣言が記述されてしまいます。 コードの見栄えが悪いしリントで怒られるので、なんとか1行目に記述できないかと探していました。 php_flag short_open_tag Offをhtaccessに記述すれば良いという文章を散見したので実行してみましたが、 それを.htaccessに書き足すと500エラーになってしまいます。 1行目にXML宣言を記述する良い方法は他にないのでしょうか? サーバーはland.to、PHPのバージョンは 5.2です。 どのスレに書き込んで良いかがわからなかったのですが、似たような拘りを持っていらっしゃる方が1番いそうなこちらで質問させて頂きました。 スレ違いでしたらお手数ですが誘導お願い致します。
>>196 おそらく自動広告挿入のせいだろう。
land.toなんて使ったことないがxreaで似たような経験をしたことがある。
htaccessが使えて、手動広告が許されているなら、
LayoutIgnoreURI *
というコードをいれて、手動広告を挿入すればいい。
199 :
192 :2007/11/19(月) 22:58:58 ID:???
うーん、意外と高くつきそうですかね。 5万くらいなら深く考えずに外注でもいいかとおもったのですが 数十万となるとちょっと真剣に考えなくては…。 要は自動か手動かで違いが出るのですよね。 先にあげたものは自動更新っぽいから、見た目の安っぽさとは裏腹に 案外高くつくシステムかも?
>>199 メール見た人が手動で更新しているとしか思えませんが。
さすがにカレンダーは自動生成だと思いますが。
どうせ大した量じゃないんだろうから自力で頑張れ。 自力がきつくなってきたらスクリプトをちとかじればおk
202 :
192 :2007/11/19(月) 23:18:15 ID:???
>>200 数秒で自動更新されるってなっていたのでてっきり自動受付かと思い込んでました。
でもよく見てみれば(よく見なくても)確かにメールで受け付けて
それを誰かサイト管理者側の人が手動更新してるだけっぽいですね。
何となく自作できそうな気がしてきました。
というか、これってCGIつかわず、まさに全部手動っぽいでしょうか…。
何か雛形になっていて、少しいじれば近い物を作れそうなCGI(多少有料でも可能)
はないでしょうか?
更新全部手動なのに、7秒おきに自動更新させるのってどうなんだろうな。 まぁ、どうでもいいけど。 祝日とかも表示できる細かいカレンダーとなると難しいけど、192のような単純なものならググれば出ると思う。 CGI探しは別スレにあった気がする。
更新内容を直に手動で編集したりしないで、 DBに格納して、動的にデータをロードするのが普通。 DBに登録するのは当然手動になるだろうけど、 航空券のように料金先払いのシステムならその作業も自動化できるだろう。 カード決済とかはいると諸費用がかさむけど。
205 :
192 :2007/11/20(火) 00:17:26 ID:???
ちょっと内容が見えてきました。
>>203 さん、そうなんですよね。なぜそんな頻繁に自動更新なのか謎です。
因みにCGI探しの別スレってこの板にありましたでしょうか…。
>>204 さん、CGIのカレンダーに手動でデータを書き込んでいくという感じでしょうか?
.>205 ちょっとあなたには難しいかもしれない。 データベースってなんのことかわからないでしょ? データベースのイメージとして 日付と営業フラグ(1で営業日0で休業日)と最大予約可能数と現時点での予約数が書いた テキストファイルをイメージしてほしい(データの区切りはカンマとする) 2007/11/20,1,100,100 ←2007/11/20は営業日で既に満員ということを示すデータ 2007/11/21,1,100,90 ←2007/11/21は営業日であと10人予約可能ということを示すデータ 2007/11/22,1,100,50 ←2007/11/22は営業日であと50人予約可能ということを示すデータ 2007/11/23,0,0,0 ←2007/11/23は休業日ということを示すデータ このテキストファイルをphpで読み込んでうまく整形して表示する。 カレンダーに手動でデータを書き込む必要はなく、 このデータをいじればいい。 これはテキストだけどデータベースの概念はこれに近い。
全然ちげーよ
データベースとしての概念の説明なんだろ 別に間違ってない csvだってデータには変わりないしな
DBとしては大きな間違いは無いような気がする が、RDBでは無いな
検索機能つけるとか、多人数で共有するとか、条件書いてないとこをみると 一人で手動でできる範疇なんだろ だったら手動でやればいいじゃん それともなにか是が非でもフォームからスクリプトに送って表示させたいってか
インデックスは?二分木探索は?型は?制約は?結合は?ビューは?トランザクションは?集約は?ストアドは?レプリケーションは?
>>212 そういう話をしてるんじゃないんだけどね。
RDBMSでできることではなく、データベースそのものの概念。
データを格納して取り出すという基本的な話。
何でもDBに放り込む癖が付いてると、DB使えない環境だとどうやってファイル読み書き するんだっけと迷うことがある。 が、CSV程度ならテキストファイルに書き出した方が手っ取り早いな。
>>213 んなこと言ったら俺がメモ帳に書き込んだ今夜の献立だってデータベースだよ
それはデータベースじゃなくてただのデータだろ
さすがゆとり言語のスレだな。データベースの定義が各々曖昧だろw それを明確にしてから話進めろ。
DBMSのようにSQLがなくとも PHPを使ってテキストからデータの抽出検索なんていうのはできる そういうことを言ってるんじゃないかと
データベースでできることは、テキストでも同じようなことはできる。 何が違うかというとそれを誰か説明してくれるはずなんだ つずき↓
sprintf('\u%04s', bin2hex(mb_convert_encoding($char, 'UTF-16', 'UTF-8'))); で変換された文字列があるですけど、これを戻すにはどうすればいいでしょうか。
文字列16進数配列に変換してからUTF-8→UTF-16する
223 :
192 :2007/11/20(火) 08:07:51 ID:???
>>206 めっちゃわかりやすい説明ありがとうございます。
概念がわかってきました。
>>211 是が非でもフォームから自動で、とは思っていません。
例と同じような感じで予約をとる仕事なのですが(本業は受付ですが、受付の片手間に予約をとるということです)
予約状況をWEBで示せたらと思っています。
自作するにせよ、外注するにせよ、予約状況を書き込むのはど素人の受付の子なので
簡単に更新できるものがほしいです。
作ってほしいなら専用のスレがあるのでは
225 :
221 :2007/11/20(火) 09:10:30 ID:???
221ですが、文字列16進数配列ってどうやるのでしょうか。 下記のような、文字列をデコードしたいです。 \u307b\u3052\u307b\u3052
226 :
nobodyさん :2007/11/20(火) 09:32:14 ID:6/Z3yWhF
>>197 >>198 日付が変わっていますが、196です。
そうなんですよね、xeraの質問掲示板みたいなのばかりが検索でヒットしますorz
似たようなものだと思って試してみたのですが、ダメみたいでした。
とりあえず手動広告に切替えてみます。
アドバイスありがとうございました。
$hoge = array(); $hoge['a'] = 'aa'; isset($hoge['b']) <- falseを返す is_null($hoge['b']) <- undefined index: bとなる これは、issetは実際は関数じゃなくてキーワードだからうまくいって is_nullは関数だから失敗するという認識で合ってるかな? $_GETとかでフォームに値が入ってくるかどうかわからないときも、 if (isset($_GET['hoge'])) { } で判断するのが良いかな? array_key_exists()は長ったらしいので使いたくなかったり・・・
228 :
nobodyさん :2007/11/20(火) 12:41:33 ID:uBto/nCB
>>214 DB使い始めたころってまさにそんな感じだった。もうfopen解らないよママン。
今ならSQLiteっていう手もあるが。
sage忘れたスマソ
>>227 >array_key_exists()は長ったらしいので使いたくなかったり・・・
つ function ake($key,$search) {
return array_key_exists($key,$search);
}
本当にこんなこと教える本を見たことがある。
関数名を短くして見通しを良くするらしい。
>>228 >もうfopen解らないよ
やっぱ使ってないとそうなるか〜
漏れはPerlやらCやらで小物を作る機会が多いから一応覚えてるお
>>229 C言語で
#define { BEGIN
#define } END
・
・
・
って見通しをよくした例を思い出したw
だってfopenの手続きめんどいんだもの・・・
>>227 isset()は変数がセットされているかどうか。
is_null()は変数がセットされている前提で値がnullかどうか。
もちろんステートメントか関数かの違いもあるけど。
ユーザー入力のチェックはisset()の方がポピュラーかな?
array_key_exists()との違いはセットされていてもnullの場合falseを返す所くらいかな。
今はめんどくさいfopenなんて使わなくとも file_put_contentsなんていう便利な関数があるぜ
fileでいいし
fileでどうやって書き込むのかぜひソースをお見せ願いたいwwwwww
fileは亀田家のボクシング用語や。
238 :
227 :2007/11/20(火) 16:25:09 ID:???
>>229 そんな標準関数か亀田用語か何か分からんようになる略は嫌です・・・
Arrayクラス作って配列系関数全部メソッドにしちゃおうかと考えてる最中。
>>233 なるほど〜。じゃあissetでいきます。
Zend Studioでもissetはキーワード色になりますね。is_nullはならない。
PHPでMySQLのデータの更新をする際なんですが、 $sql = "UPDATE database名 SET data_a='$a_data2' , data_b='$b_data2'............where no = 1" $sql2="UPDATE database名 SET data_a='$a_data2' , data_b='$b_data2'............where no = 2" . . . . $sql200="UPDATE database名 SET data_a='$a_data200' , data_b='$b_data200'............where no = 200" 上のようなSQL文を簡単に書くにはどうすればいいでしょうか。
mysqlスレ逝け
241 :
239 :2007/11/20(火) 17:36:29 ID:???
× $sql = "UPDATE database名 SET data_a='$a_data2' , data_b='$b_data2'............where no = 1" ↓ 訂正) ○ $sql = "UPDATE database名 SET data_a='$a_data1' , data_b='$b_data1'............where no = 1" でした。 どなたかご教授下さい。
mysqlスレ逝けアホ
>>239 それを動的に生成したいだけならfor文使えばいいじゃん
244 :
nobodyさん :2007/11/20(火) 17:48:14 ID:DPtN+/Mb
$ip = $_SERVER['REMORD_ADDR']; $table_name = "access_logs"; $fields_values = array( "id" => $id, "mobile" => $ip, "date" => date("Y-m-d H:i:s"), ); $res = $db->autoExecute($table_name, $fields_values, DB_AUTOQUERY_INSERT); if (PEAR::isError($res)) { die($res->getMessage()); } PEARを使ってデータベースにアクセスログを書き込みたいのですが、 上記のようにすると、「DB Error: constraint violation」と表示されます。 翻訳してみたところ「規約違反」と出たのですが・・・。 id,mobile,dateのフィールドは既に作成してあります。 他に原因が思いつかないのですが、なんでこのようになってしまうのでしょうか?
データベース板いけや
PHP関係ねーじゃん おまえらほんとアホばっかだな
答えられないものは全てDB板におまかせですか
というか全部PHPの基本じゃん。データベース知らなくてもわかるだろ。
>>249 どこがわからないかもっと詳しく言ってごらん。
教えてあげるからさ。
251 :
244 :2007/11/20(火) 18:10:14 ID:DPtN+/Mb
$ipがNULL値だったのが原因でした。 記述箇所は「$ip = $_SERVER['REMORD_ADDR']; 」だったのでどう見てもPHPの問題でした。
>>250 ハァ?俺が質問者じゃないのに知らんわw
出ている質問に答えてやれって言ってるんだよ
>>251 原因が分かるまでどちらの問題か
切り分けできないような質問をもってくるほうが悪い
phpはmysqlと連携することがあたりまえなのにね
あたりまえ(笑)
SQLiteやOracleやPostgreSQLはあたりまえじゃないらしいですw
基本はどれもいっしょなのにね
仕方ないね、MySQLをちょっとかじったことしかないやつが多いから
少なくとも
>>254 や
>>256 が良い例
____ / \ ? / ─ ─\ 何で喧嘩 / (●) (●) \ してるんだろぅ・・・。 | (__人__) | ________ / ∩ノ ⊃ / .| | | ( \ / _ノ | | .| | . | .\ “ /__| | .| | .. | . \ /___ / | | ..| | |___LeVie ___| .lニニニニニ_| OO=======□□l
みんな けんか は やめよう もっと なかよく しよう
>>239 $data_a=array('',$a_data1,$a_data2,・・・・・);
$data_b=array('',$b_data1,$b_data2,・・・・・);
$x=1;
while($x<201){
$sql = "UPDATE database名 SET data_a='$data_a[$x]' , data_b='$data_b[$x]'............where no = $x" ;
mysql_query($sql);
$x++;
}
これでSQL文を200回ループできるけど、arrayで中身を200個も書くのは面倒だな。
これじゃ解答にならないか。もっと簡単な方法があるかもしれない。
>>239 は配列を勉強しろとしか言えないだろ。
あとデータベース名とテーブル名の区別もついてないようだし。
263 :
nobodyさん :2007/11/20(火) 19:16:43 ID:M+R97rrg
$con = mysql_connect("localhost", "root", "root") or die("接続エラー"); mysql_select_db("textdata") or die("データベースセレクトエラー"); $sql = "SELECT name FROM table"; $res = mysql_query($sql, $con) or die("データ抽出エラー"); while($row = mysql_fetch_array($res, MYSQL_ASSOC)) { $row["name"]."<br />"; }
264 :
263 :2007/11/20(火) 19:18:22 ID:M+R97rrg
これ、なにも表示されないんです。 どなたかご指摘ください。 データベースには以下のデータが入ってます id-name-age 1-たなか-22 2-さいとう-33 3-きむら-11 4-たしろ-55
print echo
あwそうか、わすれてましたw うっかり^^;
^^;;;;;;;
268 :
nobodyさん :2007/11/20(火) 19:51:06 ID:M+R97rrg
ついでになんですが、いままでファイル操作しか扱ったことがなく、
データベースははじめてなのですが、
>>263 にもhtmlspecialcharsはつかうべきでしょうか?
データベースを使う点で気をつけるべきことってありますか?
初めて使うならこんなとこで質問してないでMySQLのドキュメントなりなんなり読んどけよ
その通りだな。なんつーか順序が間違ってる。 学校では「わからなかったらせんせいかおともだちにきくんだよ」って教えられたんだろうけど マの間では通用しないルールです。
deleteは負荷がかかるので、delete用フィールドを追加して SELECT * FROM table WHERE delete="1" みたいな使い方をした方が良いよ。 って誰かが言ってた。
マってなんですか?
275 :
nobodyさん :2007/11/20(火) 20:41:07 ID:M+R97rrg
おお!それは掲示板とかでログを消して ifでフラグついたとこは読み飛ばすってことですかね!? その場合、消してないデータは一括で消せばいいってことですか?
>>271 それ、負荷がかかるからじゃなくて、別の意味が大きいだろ。
追記型だとあまり関係ないと思うし。
誰が何を消したか記録しておくとか、間違って消しても復活できるようにとか。
よっぽど大量に発行しない限りは影響ないと思うけどね。
でも正攻法じゃない?
正攻法はあくまでDELETEだろ何言ってんだボケ
279 :
nobodyさん :2007/11/20(火) 21:17:40 ID:2OU8ocC/
MySQLでの質問です。 $conn = mysql_connect('localhost', 'user', 'passwd'); mysql_select_db('database'); $result = mysql_query('select * from table1'); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { var_dump($row); } mysql_close($conn); を実行すると、integerやfloatのデータが文字列になっています。 PHPでは数値型のデータを整数や小数に変換してくれないのでしょうか。 またもしそうだとすると、変換するにはどうしたらいいでしょうか。
281 :
nobodyさん :2007/11/20(火) 21:36:25 ID:iGmLsQsa
質問です。 フォームでチェックボックスの内容を前頁より以下のようにもらいます。 <?php $checkbox = $_REQUEST["chk"]; for($i=0; $i<sizeof($checkbox); $i++){ print "${checkbox[$i]}<br>";} ?> こうすると前頁で選んだチェックボックスの内容が確認画面として表示されるのですが、 この内容をメールで送信したい場合どのようにすればよいのでしょうか? お願いします。
283 :
nobodyさん :2007/11/20(火) 21:56:07 ID:M+R97rrg
すいません教えてください。 データベースに格納するデータはhtmlspecialcharsをしてから格納するべきでしょうか?
お前まだいたの?好きにしろよ
286 :
nobodyさん :2007/11/20(火) 22:27:09 ID:M+R97rrg
ありがとうございます、いちおうサニタイズしてから格納することにしました。
287 :
nobodyさん :2007/11/20(火) 22:33:09 ID:M+R97rrg
お忙しいのに回答くださり真に感謝しております。 たいへん恐縮でございますが最後の質問させてください。 insertでデータを追加したいのですがデータが追加できません。 どなたかご指摘お願いいたします。 $sql = "insert into {$db_table} " . "(text1, text2, text3, text4) " . "values " . "({$data[0]},{$data[1]},{$data[2]},{$data[3]});";←これを下のコメントアウトの部分と置き換えると追加できました。 # ."("頭部", "身長", "腕", "足");"; mysql_query($sql, $con); echo "データを追加しました";
そういうときはecho $sql;とかしてSQL文がおかしくないかチェックしなよ
いつからここは素人のソースをデバッグしてあげるスレになったんだ?
ちゃんとデバッグしろよ はい次
291 :
nobodyさん :2007/11/20(火) 23:07:11 ID:aCUMaMm7
そんなことよりちょっと聞いてくれよ。 ネタじゃなくてマジなんだけど、アパッチとPHPでサーバーやってるんだけど 今までずーっと数ヶ月放置してたのね。だから気が付かなかったんだけど、 ふと自分のサイトを外からアクセスしてみたら、セッションが有効になってないことに気が付いたの。 PHPプログラムを書いた時点では何度も実験したし、プログラムには問題ないと思って きっとphp.iniだろうと思ったの。でも特に記述のミスはなかったし、そもそもPHPのプログラムを書いた時点で有効になってたんだから php.iniも問題ないだろうと考えて、冷静に考えたわけよ。 セッションの保存されるフォルダにデータが入るかどうか実験しようと。 するとそれが無くなってたの。これ隠しフォルダにあるじゃん。 で、それ見たらtempの中にphpのフォルダが無かったんだ。 俺は消した覚えもないし、そもそもこれは隠しフォルダだから自分でもアクセスなんかしないし。 スパイウェア駆除ソフトとかで一緒に消えちゃうのかな。 謎だ。いや、それだけなんだけどね。スレ汚しすまん。 でもセッションが突然効かなくなった人はフォルダ探してみるよいいよ。
対処できない人間がサーバなんてやるな Linuxでも勉強してろ
293 :
nobodyさん :2007/11/20(火) 23:41:32 ID:aCUMaMm7
いや、対処したし。結論出てるじゃん。 OSはwinだけどな。 っていうかLinuxにも隠しフォルダあるの?
ない。
>>291 吉野家ネタかとおもったらマジネタなんだね。
こえーなPHP。
>>280 ありがとうございます。キャストですか。。。
データベースからデータ取ってくるときに型もわかるんだから、どうせならMySQL関数で自動的に変換してほしいです。
>スパイウェア駆除ソフトとかで一緒に消えちゃうのかな。 こんなこといってるやつが鯖管なんて恐ろしい時代だな
>>297 禿同。スパイウェア駆除ソフトはセッションごっそり消すからな。恐ろしい。
>>297 スパイウェアが消すってそんな一般的な知識なんか・・・しらんかった
では、どういう理由が考えられるの?
レベル低っくw
298はともかく297はしったかもなにもおそろしいっていってるだけなのに ムキになっちゃうなんてご本人だからですか? さらりと流せばいいのにご苦労さまです。
無知で無能なゴミカスが暴れまわってるね
自己紹介スレじゃないからね
昨日、車にぶつけられちゃったんだよね。
308 :
nobodyさん :2007/11/21(水) 03:25:56 ID:84PbwpMo
PHP5+smartyで register_prefilter,register_postfilter,register_outputfilter を設定したいのですがregister_outputfilter以外はちゃんと動作しないようです。 $smarty->register_prefilter('prefilter'); $smarty->register_postfilter('postfilter'); $smarty->register_outputfilter('outputfilter'); function prefilter($tmp, &$snarty) { $tmp .= '<br>---pre----<br>'; return $tmp; } function postfilter($tmp, &$snarty) { $tmp .= '<br>---post----<br>'; return $tmp; } function outputfilter($tmp, &$snarty) { $tmp .= '<br>---output----<br>'; return $tmp; } こんなファンクションを通しているのですが<br>---output----<br>しか追記されないのです。 仮に $smarty->register_prefilter('hoge');//存在しないfunction $smarty->register_postfilter('hoge'); $smarty->register_outputfilter('hoge'); としたところregister_outputfilterだけがエラー出力されました。 こんな症状なのですが原因が分かる方いらっしゃいますでしょうか?
>>294 概念的には.つけたら隠しフォルダじゃ?
310 :
nobodyさん :2007/11/21(水) 06:20:23 ID:2cD4jVxk
includeの使い方を教えて下さい。 print 'include_path = ' . ini_get('include_path') . "<br>\n"; print 'dir = ' . dirname(__FILE__) . "<br>\n"; include_once(dirname(__FILE__) . "/inculudetest.php"); includetest.phpは同じフォルダにあります。で、表示は下記です。 include_path = .;C:\php\pear;c:/php/includes;c:/php/pear dir = C:\Program Files\Apache Group\Apache2\htdocs\sample\pati Warning: include_once(C:\Program Files\Apache Group\Apache2\htdocs\sample\pati/inculudetest.php) [function.include-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\sample\pati\2test.php on line 465 Warning: include_once() [function.include]: Failed opening 'C:\Program Files\Apache Group\Apache2\htdocs\sample\pati/inculudetest.php' for inclusion (include_path='.;C:\php\pear;c:/php/includes;c:/php/pear') in C:\Program Files\Apache Group\Apache2\htdocs\sample\pati\2test.php on line 465 それでini_setでなんとかなるかと思い、やってみたのですがini_set("include_path","●");の●に何かなんと記述すればいいのか分かりません。 ini_setを使うという考え方が間違っているでしょうか?もし合っているのなら、●になんと記述すれば良いのか教えて下さい。
なぁ…今は義務教育の中に英語も含まれているはずなんだが、 なんで、こんな事聞いてくる奴がいるんだ?
312 :
310 :2007/11/21(水) 06:29:54 ID:???
>>311 ありがとうございます。おかげさまで解決しました。(恥)
ゆとり教育の成果を垣間見た瞬間に立ち合った!
ゆとりって言葉を使って自分を優位に見せたいだけのザコなんだよ
ユトリの珍味
ゆとりらーめん新発売
phpMyAdminについての質問はどこですればいいですか?
319 :
223 :2007/11/21(水) 10:31:42 ID:???
>>224 その専用スレすらわからない…。
この板にCGI探しスレありましたでしょうか?
320 :
318 :2007/11/21(水) 10:38:06 ID:47RXM9HF
質問場所がわからないのでここでします。 phpMyAdminを使ってCSVファイルのインポートを行おうとしたのですが、 『CSV 入力のフィールド数が不正です (行: 1)』 と表示され、正常にインポートされません。 CSVの文字コードはEUC-JP MySQLも同じEUC-JP フィールド区切り記号『,』 フィールド囲み記号『"』 元のcsvファイルを確認しても、mysql側とフィールド数は一致しており、問題はないように見受けられました。 phpMyAdminのバージョンは2.11.2.1です。 宜しくお願いします。
>>320 データを追加したあとにフィールド増やさなかった?
322 :
nobodyさん :2007/11/21(水) 11:17:03 ID:47RXM9HF
>>321 追加して、まずいと思ってフィールド消しました
それだ!
どうすればインポートできるのでしょうか
>>324 数あわせばいいだけじゃないの?
もう一度確認してみ。
327 :
308 :2007/11/21(水) 11:56:20 ID:???
情報少なくてすみませんがお願いします
>>308 残念、ここは低級者しかいないのでテンプレートのソース読める香具師はいません
その低級者に叩かれた奴が必死に何か言ってますね
330 :
319 :2007/11/21(水) 12:30:27 ID:???
>>329 はい?叩かれてないけど…
意味不 誰かと勘違い?
これだから低級は(´ー`)y-~~
>>320 データをいれて、あとからフィールド数をいじるのは問題があるから
一からフィールドを作り直してデータを入れなおせ
>>328 マニュアルのサンプルを見たら
原因はすぐに分かったけど
めんどうだから言わないだけだよw
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww 初心者乙wwwwwwwwwwwwwwwwww
>>308 $tmpを上書きしてるんだから表示されるものがひとつに決まってるでしょ。。。
「.=」の意味が分かっていない初心者がしゃしゃり出てきました
337 :
333 :2007/11/21(水) 13:32:23 ID:???
ええと、.=で連結されたと思ったデータはファンクション内でしか有効になっておりませんよ? よく読んでますか?あなた
しゃしゃりでてきた馬鹿が食い下がっております ナニを根拠に「ファンクション内でしか有効になっておりませんよ? 」なんてことを??
君は反論したいのなら言いたまえ。 何を否定したいのかさっぱりわからん。 わかるように説明してくれたまえ。
「馬鹿」はNGワードに指定したほうがいい
>>340 $tmpは結合後にreturnされてるじゃん…
>>308 問題は「存在しないfunctionでもエラーを返さない」ってとこだと思うよ
Smartyを一回入れなおしてみたら?
原因は分からずじまいになるけど
335 名前:nobodyさん[sage] 投稿日:2007/11/21(水) 13:06:55 ID:???
>>308 $tmpを上書きしてるんだから表示されるものがひとつに決まってるでしょ。。。
338 名前:nobodyさん[sage] 投稿日:2007/11/21(水) 13:33:43 ID:???
ええと、.=で連結されたと思ったデータはファンクション内でしか有効になっておりませんよ?
よく読んでますか?あなた
>>335 =
>>338 >>335 =
>>338 >>335 =
>>338 >>335 =
>>338 >>335 =
>>338 …(´д)ヒソ(´д`)ヒソ(д` )
なにこの必死なヒト
,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; $tmpを上書きしてるんだから ヾ;;;ハ ノ .::!lリ;;r゙ 表示されるものがひとつ… `Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f 俺にもありました ~''戈ヽ `二´ r'´:::. `!
あらあら、あおることしかできないのかな? それともソースも読めない素人ちゃんですか? $tmpの値が連結されないのがわからないんですか?w
PHPスレって煽る暇人多いね。
無駄な話みるので失笑を買う。
まあ元質問者はどこが悪いかを聞くより、調べ方を聞くべきだな。
元?
じゃあ俺、元回答者な。
レベル低っくw
,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; ヾ;;;ハ ノ .::!lリ;;r゙ レベル低っく … `Z;i 〈.,_..,. ノ;;;;;;;;> ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f ~''戈ヽ `二´ r'´:::. `!
>>353 じゃあ、お前のレベルの高さを示してくれw
356 :
308 :2007/11/21(水) 17:09:55 ID:25lXcldy
返レスおくれてすみません。
>>337 さん
確認ありがとうございます。
特にそのソース自体は問題ないのですが動かないのです。
>>342 さん
Smarty.class.php
Smarty_Compiler.class.php
はSmarty 2.6.17をダウンロードしてきて入れなおしましたが変わりませんでした。
Smarty_Compiler.class.phpの2168行目とかをダンプして調べてみます。
ちょっと名前忘れたんですけど、 perlやrubyにある(?)安全なeval(safe eval?)の PHP版ってないですかね? データベースにユーザーが定義できる条件式という項目を作ろうと 思っているんですけど、その項目に危険な命令(たとえばファイル削除)を 入れられたら困るんで、最低限の計算式・指定の関数だけ実行できるevalが ほしいのですが。 もしくは、それができるPHP内スクリプト言語でも可。
バリデーションしろ
360 :
nobodyさん :2007/11/21(水) 20:05:51 ID:Tisg2A2C
色んな種のイラストがある場所知らないですか? 種から芽と根が出るgifもさがしてます
PHP関係なさすぎワロタ
mod_rewriteで全てindex.phpを受け口にしようとしてるんだけど、 POSTデータの受け渡し方がわかりません・・・ フレームワークとかではどうしてるんでしょう?
普通に受け取ればいいだろが
フレームワークとかどんだけ大きいんだよ
367 :
364 :2007/11/21(水) 22:44:58 ID:???
うお、Zend Studioのデバッガが取れてないだけだった・・・ そうか普通にPOSTデータもリライト先に送ってくれたんだね。 うーん、これはこれでどうすべきか・・・
368 :
364 :2007/11/21(水) 22:50:13 ID:???
すんません、Zendも悪くありませんでした・・・ 風呂でチンコ洗って寝ます。 せめてチンコだけはフレームワーク並に大きければ救いがあったんですが。
369 :
nobodyさん :2007/11/21(水) 23:35:46 ID:ZEFNTxNm
非常に困っているのでどなたか力を貸してください。 サーバ;apache_2.0.59-win32-x86-no_ssl.msi PHP5 MySQL:mysql-5.1.22-rc-win32 症状は、"ほげほげ"の部分に"あ"とかを入力すると文字がインサートされるのですが、 "ほげほげ"を入れると何も入りません。 文字化け問題はよく散見できるのですが、文字が入らないといったエラーは見つけるこ とができなかったので、どうすることも出来ず困っています。 尚、全ての文字コードは character_set_systemがutf8でそれ以外は全てeucに統一しています。 <html> <head><title>データインサート</title> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> </head> <body> <?php mb_internal_encoding("EUC-JP"); $con = mysql_connect("localhost","roooot","aaaaaaa"); mysql_query("SET NAMES EUC-JP"); mysql_select_db("cart",$con); $dat = "ほげほげ"; $dat = addslashes($dat); $sql = "insert into kokyaku_info(name)values('$dat')"; $res = mysql_query($sql,$con); ?>
キー重複か型が違う
371 :
nobodyさん :2007/11/22(木) 00:12:13 ID:d6OHwmCn
>>370 プライマリーキーは指定していません。
型はテーブルを作ったときにvarchar(100)を指定しました。
create table kokyaku_info(name varchar(100));
じゃmysql_errorでも出力すれ
373 :
nobodyさん :2007/11/22(木) 00:45:17 ID:d6OHwmCn
>>372 さんアドバイスありがとうございます。そういうエラーの出力方法があるとはしりませんでした。
<?php
mb_internal_encoding("EUC-JP");
$con = mysql_connect("localhost","root","omaemona");
mysql_query("SET NAMES EUC-JP");
mysql_select_db("cart",$con);
$dat = "開\発";
$dat = addslashes($dat);
echo mysql_errno($con).": ".mysql_error($con)."<BR>";
$sql = "insert into kokyaku_info(name)values('$dat')";
echo mysql_errno($con).": ".mysql_error($con)."<BR>";
$res = mysql_query($sql,$con);
echo mysql_errno($con).": ".mysql_error($con)."<BR>";
?>
としてみたところ、以下のエラーが返されました。
0:
0:
1366: Incorrect string value: '\xB3\xAB\\xC8\xAF' for column 'name' at row 1
だそうです。
自分で解決しようとする気にはならんのね。死ねば?
376 :
nobodyさん :2007/11/22(木) 00:53:20 ID:d6OHwmCn
エラーの文章で色々しらべたのですが、どうやら文字コードの問題らしいですが、解決方法が見つかりません。 やはり文字コードが違うということなのでしょうか?
試してから聞け
$dat = "開\発"; これじゃねーの? $dat = "開\\発"; とかしてみれ
379 :
nobodyさん :2007/11/22(木) 01:04:51 ID:d6OHwmCn
>>387 アドバイスありがとうございます。早々試してみましたが、うまくいきませんでした。
英語の意味的には不正確な文字列を挿入したために出たエラーと解釈しても良いでしょうか?
しかし、文字コードは全て統一しているのにどうしてこのようなエラーがでてしまうのでしょうか
380 :
nobodyさん :2007/11/22(木) 01:15:11 ID:d6OHwmCn
文字コードをデフォルトのラテンでやると上手く文字が挿入できましたが、 なぜEUCではだめなのでしょうか?
ならラテンでいいだろ たぶんmy.cnfのデフォルト設定がsjisになってるからじゃない 文字化けとかの場合はujisにすれば使えるけど、関係があるかは知らん
カラムの照合順序がlatinになっているから。 頼むからこれで最後にしてくれ。
,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; ヾ;;;ハ ノ .::!lリ;;r゙ レベル低っく … `Z;i 〈.,_..,. ノ;;;;;;;;> ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f ~''戈ヽ `二´ r'´:::. `!
わざわざ自己紹介しなくていいよ
,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; 君たちどんだけレベルが低いんだよ・・・ ヾ;;;ハ ノ .::!lリ;;r゙ 過去の産物で必死になるのはいいが、 `Z;i 〈.,_..,. ノ;;;;;;;;> ロジックはどんどん日進月歩してる。 ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f MITのレポートなんか読んだことないだろwww ~''戈ヽ `二´ r'´:::. `!
はいはい 脳内板に【超上級者】PHP高度な質問スレその1【玄人歓迎】でも立ててやってね
マジで高度な質問用スレ作っといたほうがいいかもな。誘導できるし。
過疎るのが目に見えてる。 結局、自称上級者(笑)はココに戻ってくるのさ。
PHPなんて実際には触ったこともない部外者もいます 俺俺
>>380 skip-character-set-client-handshake
391 :
nobodyさん :2007/11/22(木) 07:53:47 ID:1BRgOth3
画像ファイルにうめこまれたPHPスクリプトがあるとします。 これをチェックするにはどうしたらよろしいでしょうか?
Content-Type:
393 :
nobodyさん :2007/11/22(木) 08:16:37 ID:1BRgOth3
Content-Typeは信用できるものなんですか?
実行したくないなら実行しなければいいんじゃね?
何言ってるかワカランな。この質問者は Webシステムでクライアントから送られてくる画像ファイルの事言ってるのか、 それとも、スタンドアロンでの事なのか、 結果的に画像ファイルをどう処理したいのか、 全然書いてないじゃん
こんにちは こんな事をしたいのですが、良い作りが思いつきません 火曜日ごとに1106.jpg 1113.jpg 1120.jpg 1127.jpgと更新するサイトがありまして その画像をその日の午後になったら取得したいのですが… time()にたいして一番近い火曜日の時間を決定するのはどんな式がいいでしょうか? forでtime()から60*60*24引いて曜日検査のループ?
397 :
nobodyさん :2007/11/22(木) 08:36:52 ID:7QpoLgnt
こんにちは こんな事をしたいのですが、良い作りが思いつきません 火曜日ごとに1106.jpg 1113.jpg 1120.jpg 1127.jpgと更新するサイトがありまして その画像をその日の午後になったら取得したいのですが… time()にたいして一番近い火曜日の時間を決定するのはどんな式がいいでしょうか? forでtime()から60*60*24引いて曜日検査のループ?
>>397 画像を取得するようなPHPなり何なりを書いて
cronで毎週火曜に回るように設定すれば終わり
399 :
nobodyさん :2007/11/22(木) 08:50:04 ID:1BRgOth3
すみませんでした、補足します。 画像アップローダーです。 不特定ユーザーが画像をアップロードできるため、 攻撃コードをしくまれた画像をはじきたいと考えてます。
>>399 不特定ユーザーがアップする
攻撃コードをどうやって解析するつもりだ?
思いつきません。 やはり対応はできそうにないですよね
402 :
nobodyさん :2007/11/22(木) 09:27:23 ID:7QpoLgnt
>>398 レンタルサーバーなので
phpだけで実装したいのです・・・
ふと思ったんだけど、質問スレって初心者しかいないんじゃないかと思う。 他の板もそうだけどさ。 上級者は質問スレなんて見ないよな。見る必要ないし。 お前らもこんなところで質問してないでgoogleで回答やヒントを検索した方が早いと気が付いた22才の秋。 さて、この次にレスをする人はニート。 ↓ ニート ↓
>>397 火曜日の月日がファイル名であるなら、
今日の日付と曜日を取得して、火曜日に変数をセットしてゲットすりゃいいじゃん
つーか
>>397 は
>forでtime()から60*60*24引いて曜日検査のループ?
これを
>>398 の返事より前に試して解決済みなんだろうw
406 :
nobodyさん :2007/11/22(木) 10:20:21 ID:7QpoLgnt
>>405 と、今試してみて動きました。
毎回ターゲットのサイトのソースを取ってきて、そこのurlを取って来れば?
なんて思ったのですか悪手ですよね
//w = 2 火曜日
if( date("w",time()) != "2")
{
//現在秒数
$time_count = time();
while( date("w",$time_count) != "2")
{
$time_count -= 60*60*24;
}
echo '<img src="
http://??? '.date("md",$time_count).'.jpg">';
}else{
echo '<img src="
http://??? '.date("md",time()).'.jpg">';
}
407 :
nobodyさん :2007/11/22(木) 10:22:43 ID:7QpoLgnt
外側のifいらないですね…ありがとうございました。
408 :
nobodyさん :2007/11/22(木) 10:45:44 ID:sPAH13/5
pearがインストールできない客先のサーバなどで、 pearを使いたい場合はどんな方法がありますか?
>>408 URL直下にならないとこに使いたいPEARをUploadして
htaccessなどでinclude_pathを指定してやればいいんじゃね?
インストールといっても展開だけだからな
408ではないけど、URL直下において、その中にhtaccessでdeny allにするのは セキュリティ的に問題ありですか?
>>410 おそらく問題はないと思うが確実ではない
URL直下にしか置けない場合はそれでいいと思う
>>408 いくらインストールしてもサーバに必要なモジュールがなければpearなんて使えねえぞ
413 :
nobodyさん :2007/11/22(木) 11:20:53 ID:ucDTt70g
Test("example","test","hogehoge"); function Test(){ } これで、受け取ったデータを配列に格納する方法ってどうやるんでしたっけ 度忘れしてしまいました
414 :
nobodyさん :2007/11/22(木) 11:35:00 ID:8EI8IvP2
自分自身にPOSTするプログラムで処理に20秒ほど時間がかかるのですが、 処理中に別人が違う値をPOSTしたらどうなりますか? また、もし問題がある場合、どんなキーワードを調べれば良いですか?
>>414 別々だから問題ないよ
外部ファイルに書き込みとかなければ
そんときゃロック
>>413 Test("example","test","hogehoge");
function Test($a.$b.$c){
$a...
}
417 :
414 :2007/11/22(木) 11:39:39 ID:???
>>413 array("example","test","hogehoge");
>>414 アパッチのアイドルが何とかするから気にするな
だめならサーバーが遅くなるか死ぬ
POSTで20秒もかかる処理があるほうが問題
419 :
413 :2007/11/22(木) 11:40:40 ID:???
>>416 書き方がわるかったみたいです・・・。
func_get_args()で自己解決できました。
有難うございました。
420 :
414 :2007/11/22(木) 11:51:30 ID:???
>>418 で、ですよね(汗
それどころかset_time_limit(60);にしてたりして・・・
421 :
nobodyさん :2007/11/22(木) 12:16:42 ID:ucDTt70g
PEARのDBを使っているのですが、 MySqlからPostgreSQLに移行させる場合はどのように手順を踏めば良いでしょうか DNSをmysql://〜をpgsql://〜にするだけで良いのでしょうか?
>>421 逆に質問させてくれ。おまえはなぜpearを使うのだ?
現在実行中のスクリプトのパスって どうやって取得するんですかね? カレントパスではないです。
424 :
423 :2007/11/22(木) 13:36:56 ID:???
$_SERVER['SCRIPT_NAME']ではないです。 CakePHPなのですが、$_SERVER['SCRIPT_NAME']は /app/webroot/index.php となっていました。 これではなく、index.phpから呼ばれていった ○○クラスが入っているphpファイルです。
426 :
423 :2007/11/22(木) 13:38:12 ID:???
__FILE__ これか・・?
427 :
nobodyさん :2007/11/22(木) 13:43:23 ID:ucDTt70g
430 :
軟式PHP :2007/11/22(木) 13:58:48 ID:???
いいえ、ケフィアです。
431 :
nobodyさん :2007/11/22(木) 15:23:44 ID:t/zyhRCZ
インストール時に--with-mysqlをするには mysql-develが必要ですが、 mysql-develのバージョンはとりあえず一番新しいものを入れておけばいいのですか? 新しいmysql-develで 古いmysqlサーバにも 問題なく接続できるのでしょうか?
試してから言え
古いmysql-develを組み込んだPHPでも 新しいmysqlに接続できるよな… どういう仕組みなんだろう?
fgetsとかfpassthruってEOFに当たるまでのデータを返すとのことですが 0バイトのファイルでいきなりEOFになるような場合だと 返ってくるのは空文字なのかそもそもエラーが出るのかどちらでしょうか?
使うライブラリ名(mysql.soとか?)と関数名が同じなら呼べるし、 仕様が変わってなければそのまま動くでしょ。
mysql1.0ってまだある?
func_get_args()ってどんな時につかうんだ?
最近のレンタルサーバーでPHP5、MySQL使えるとこって mysqliも使える物かな・・・
個別にお問い合わせ下さい
441 :
nobodyさん :2007/11/22(木) 16:08:46 ID:ucDTt70g
$str = '西鴻池町一丁目'; $preg = '/^(.*)([一二三四五六七八九十〇]丁目)$/'; preg_match($preg, $str, $match); print_r($match); として、○丁目というのを取得したいのですが、 これで取得するとなぜか、 Array( [0]=>西鴻池町一丁目 [1]=>西鴻池町・・ [2]=>・丁目 ) のように文字化けします。 preg_matchで文字コードを指定してマッチするような引数はないみたいですが、 どうやって文字化けを防ぐことができるのでしょうか。 ちなみに上記はUTF-8を使用しています。 EUC-JPで試してみましたが同じところが文字化けします、。
/uにすると幸せになれるかも?
443 :
nobodyさん :2007/11/22(木) 16:12:27 ID:ucDTt70g
>>442 ありがとうございます、幸せになれました
これはマルチバイト対応なのですか
UTF-8のみか・・・気をつけて使わないと・・・
446 :
nobodyさん :2007/11/22(木) 16:39:46 ID:sPAH13/5
>>409 どうもありがとうございます。
なぜ直下じゃだめなんでしょう??
448 :
nobodyさん :2007/11/22(木) 16:51:43 ID:sPAH13/5
>>447 おおっと、見落としてしまってました。すみませんでした。
「サーバに必要なモジュール」とは例えばなんでしょうか?
今、PEARのサイトにいって、適当なものダウンロードしてみて解凍してみたんですが、
XMLファイルしか入ってなかったです。phpファイルが手に入ると思っていたんですが・・・。
mysqlのbegin,commit,rollbackってmysql_unbuffered_queryでやっちゃだめ? mysql_queryじゃないとだめなのかな。
>>448 PEARがあればなんでもできるってわけじゃないんだぞ・・・
サーバにインストールされたモジュールを確認してからにしろよ。。
ワラタ
457 :
print "バカ"; :2007/11/22(木) 21:01:26 ID:xhtR9bCY
if ($a == $b || $a == $c)
459 :
print "バカ"; :2007/11/22(木) 21:21:53 ID:xhtR9bCY
HTTP_REFERERに入ってるものを確認してみろ
>>461 たしかにNotice: Undefined index: HTTP_REFERER inってエラーがでます。
そういうことだ
根本的なことまちがえてました ^^; HTTP_REFERER じゃなく SCRIPT_NAME でした・・・・
だからID無しに構うなって言ってるのに・・
つか1すら読んでないしなこいつ
質問者本人はおもしろいと思って書き込んでるんだから 生暖かい目でみろよ
469 :
nobodyさん :2007/11/23(金) 01:43:42 ID:C6lkXyua
PHPのセッション管理をしようと思っているのですが、 セッションでオブジェクトを正しく保持することができません。 下記のような単純なプログラムでもダメです。 (結果はいつも同じ”hello, 1 times. ”となってしまいます。) <?php class testFoo { var $count; function testFoo($i) { $this->count = $i; } function inc() { $this->count++; } function hello() { $this->inc(); echo("hello, " . $this->count . " times.\n"); } } session_start(); if (!isset($obj)) { $obj = new testFoo(0); session_register("obj"); } ?> <html> <h1> <?php $obj->hello(); ?> </h1> </html> PHPの設定で何か不足しているのでしょうか? 環境:CentOS5, Apache2.2.3, PHP5.1.6 よろしくお願いします。
470 :
469 :2007/11/23(金) 01:48:21 ID:C6lkXyua
469の補足です。 セッションの格納先になっているディレクトリ /var/lib/php/session/ を見ても一切ファイルは生成されていません。
それが問題じゃーん
てかすまん、まともにソース読んでなかったけど session_registerで登録したセッションの値はどうやって使うんだ?自動的に展開されるのか? 非推奨関数だし普通にやればいいんでないね
>>469 マニュアルから引用
>register_globals が有効な場合、全てのグローバル変数はセッション変数として登録するこ とが可能で、
>セッション変数は対応するグローバル変数として回復されます。
ただし>473の言うようにsession_registerは使うな。
476 :
nobodyさん :2007/11/23(金) 08:55:04 ID:pcPMqEAE
extentionをshared extentionに出来るかできないかは 実際に指定してみないと分からないですか?
DateTimeってgetYear,getMonthとかのメソッドないんだね。 UNIXタイムスタンプ取得もできない・・・ 日付に関する情報をカプセル化したクラスというより、 日付計算、整形などのユーティリティクラスって位置づけとおもったほうがいい?
>>477 そんくらい自分で判断しろ。もしくはドキュメントを読め。
479 :
nobodyさん :2007/11/23(金) 14:41:51 ID:dy8jwYb7
全くの初心者ですが、質問させてください。 いま、gmpというものを使いたくて、マニュアルを見ているのですが、意味が分からず困っています。 インストール手順というところで、オプション --with-gmp を使用することにより〜とありますが、 「PHP オプションとは」や「PHP インストール オプション」、「PHP オプション」や「PHP --with-gmp」で検索しても 一向に意味が分かりません。 GMPに限らず、もっと基本的な「オプションを使用する」の方法や意味、解説などがなされているサイトなどはありますでしょうか?
479 があぼ〜んになってるなw
482 :
479 :2007/11/23(金) 15:01:34 ID:???
ありがとうございます。レンタルサーバーのphpinfo()のConfigure Commandに記載されていなかったのですが 使えないという事ですね。
うん
484 :
479 :2007/11/23(金) 15:17:08 ID:???
ありがとうございました。
485 :
nobodyさん :2007/11/23(金) 16:30:33 ID:aJzRS5bo
php4.x にてSQLite(PEAR経由)データベース内のテーブルリストを取得する 方法はありますか?
486 :
nobodyさん :2007/11/23(金) 16:43:55 ID:aJzRS5bo
自己解決しました。
show tables実行できないの?
入力された住所が存在する住所かどうかって調べるクラスないですか? 〜区町村までの住所です。
携帯でセッション使えない話聞いたんですが セッションの引き回しにURLかフォームを使わないといけない情報を見つけたんですが、 セッションIDをサーバに保存してIP(携帯であればIPは一意?)でセッションIDを呼び出す 方法って王道ですか?セッションIDを引き回さない方法でもっといい方法ありますか?
携帯のIPなんて変わりまくりだろw
,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; 携帯のIPなんて ヾ;;;ハ ノ .::!lリ;;r゙ 変わりまくり… `Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f 俺にもありました ~''戈ヽ `二´ r'´:::. `!
携帯「電話」であればIPアドレス持っているわきゃないな。電話番号という立派な識別子があるんだから。 端末固有番号でも使えばいいんじゃね?
携帯がwebにアクセスする場合は間にゲートウェイが挟まれる。 しかもゲートウェイは複数存在し同じ端末からでもアクセスごとのゲートウェイが一意とは限らない(負荷分散のために)
携帯のIPはアクセスしている基地局がつながっているエリアプロキシで変わるな 判別したけりゃ固体識別番号使え
,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; ヾ;;;ハ ノ .::!lリ;;r゙ level ひっくw・・・・ `Z;i 〈.,_..,. ノ;;;;;;;;> ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f ~''戈ヽ `二´ r'´:::. `!
またAA好きの小学生が沸いてるな
,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; ヾ;;;ハ ノ .::!lリ;;r゙ ちょっと回答者のlevelが低くないかい?w `Z;i 〈.,_..,. ノ;;;;;;;;> manualさえろくに理解してないIQの低(ry ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f ~''戈ヽ `二´ r'´:::. `!
↑中二病
503 :
nobodyさん :2007/11/24(土) 06:22:21 ID:6dZP+8ef
自然数のべき乗について質問です。 $sizen = exp(-int); $sizen = bcpow(exp(1),"-int"); であると、どちらも同じを返してくれますが、 $sizen = exp(-float); $sizen = bcpow(exp(1),"-float"); にすると、値が違ってしまいます。 マニュアルではexp()の方は確実にfloatで良いと分かるのですが、bcpowも左オペランドには小数点ありの文字列を使用しています。 値が違うという事は右オペランドには小数点使ってはいけないのでしょうか?
2chの全スレッドの最新レス日時を取得したいんですが、 最終レスを表示して取得する方法しかないんでしょうか? スレが43万あるんで負荷を抑えたいのですが、 phpでどうにかする方法ありますか?
どうにか出来ても負荷が掛かるので止めたほうがいいです。 板単位なら構わんだろうけど、全スッドレはちょっとヤりすぎ。
dat に対して HEAD リクエスト、Last-Modified じゃ駄目なのか?
>>506 それが一番付加が少ないかな
でも勢いのあるスレで最終レス時間取得しても意味ないけどね(レスポンス取得時にはすでに次のレスが入ってたり)
つーか使い時がわからんなあ
>>504 特定のスレッドならまだ分かるけど、全スレッドの最終書込時間調べて何になるのか興味ある
ゴミサイトを作ろうとしている予感がする
subject.txt と絡めれば各スレッドの勢いを調べられるね。
511 :
nobodyさん :2007/11/24(土) 10:56:35 ID:/CIDP61k
2ちゃんに投稿する際、以下のように直接投稿しようとすると「ERROR:referer情報が変です。」となります。
リファラを送るにはどうしたらいいでしょうか?
httpクライアントを自作してリファラの偽装をするしかないのでしょうか?
http://pc11.2ch.net/test/bbs.cgi ?bbs=php
&key=1195204145&time=1104688508
&submit=%8F%91%82%AB%8D%9E%82%DE
&FROM=test
6mail=sage
&MESSAGE=test
↑わかりやすいように改行して表示しました。submitは書き込むをURLエスケープしました。
Webアプリ自体が実用性から言えばほとんどゴミ。
>>511 12ちゃんの仕様を調べる
2)rep2を解析する
好きな方を選べ
できるよ
517 :
nobodyさん :2007/11/24(土) 11:46:26 ID:/CIDP61k
嫌です。 リクエストヘッダすら晒さない情報小出し厨には教えたくありません。
>>518 言ってることが難しくてよくわからないです・・・
>>511 そもそもGETじゃ無理
POSTで送るのは基本だろ
523 :
nobodyさん :2007/11/24(土) 12:31:28 ID:/CIDP61k
基本的なことから勉強して出直してきます・・・ 答えてくれた人ありがとうございました
グローバル変数の動的定義は $_GLOBAL[$name] = $value; でできるけど、ローカル変数の動的定義って eval('$name = ' . "'myname'") みたいにevalしか手はないかな?
525 :
503 :2007/11/24(土) 12:54:55 ID:???
もしかして自分、なにか根本的に間違ってますか?
>>522 とりあえず釣かもしれないけど、
ばーかって言っておきますね。ばーかw ばーかw
528 :
524 :2007/11/24(土) 14:08:24 ID:???
>>526 そういうことでなくて・・・
連想配列に要素がいくつか入ってて、キーをローカル変数名として、
任意のタイミングで動的に定義したいということです。
もしかしてevalよりパフォーマンスの良い方法があればと思った次第。
>>527 GETで渡した値を$_POSTで取り出せるのか?
$_POST = $_GET; するとかw
$_REQUEST でいいだろ。とマジレスw
レベルたっかwwww
上級者の解答はまるで理解できないなw
,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; ヾ;;;ハ ノ .::!lリ;;r゙ $_POST = $_GET; `Z;i 〈.,_..,. ノ;;;;;;;;> ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f ~''戈ヽ `二´ r'´:::. `!
>>537 馬鹿って言ったね?父さんにも言われたことないのに
539 :
nobodyさん :2007/11/25(日) 00:35:57 ID:LIXqHyWb
ある文字列中に全角文字(漢字含む)が含まれているかどうかを調べ、 もし含まれていたらその全角部分だけを抜き出すことって出来ますでしょうか?? たとえば、 $test = "abcあいえうおdef漢字fhi"; という場合、$testの中から「あいうえお」と「漢字」だけを取り出したいのです。
>>539 ん〜〜、逆に半角文字だけ抜き出すとかどう?
>>540 正規表現でやると恐ろしくマンドクセー気が。
[^一-龠]でいいじゃん。 mbsubstr/mbstrpos/mbstrrposの絶妙な組合わせ、そんな面倒じゃないだろ
545 :
nobodyさん :2007/11/25(日) 08:20:52 ID:GkPF2+Rp
名前と写真を登録するフォームがあって、名前はinput type=textで、 写真は参照フォームから入力するとして、 記入ページ→確認ページ→実登録ページ って流れだとすると、実登録ページまで どうやって写真(.jpgのファイル名)を引き回せばいいんですか?
サーバーの適当なテンポラリにでも置いておけば? って、PHPとは全く関係がありませんね!
547 :
528 :2007/11/25(日) 09:17:42 ID:???
空砲を上に向けて撃ったっていうけど、 その実弾が地上に落下したときに人に当たったらどうするの?
PHPとは全く関係がありませんね!
>>548 >空砲を上に向けて撃ったっていうけど、
>その実弾が地上に落下したときに人に当たったらどうするの?
空砲には弾頭がないと思うんだが。
>>545 確認ページにPOSTされた段階でユニークなファイル名作って、
その1.
しかるべき場所に移動&DB登録。実登録時にフラグを立てる。フラグが立ってないものを定期的に消す。
その2.
Webから見えるテンポラリフォルダ作って、そこに移動。テンポラリフォルダを定期的に掃除。
実ファイル名は名前などと一緒にセッションや、hidden(シリアライズしたりして)持ち回せばよい
>>551 全くその通りですね。上級者さんかっこよすぎます。
確認ページでローカルのを表示させるようにするのはダメなのかな。
>>556 ありきたりの形容詞は要らない。
問題は、ローカルとリモートでの動作乖離だろ。
Level たっかw
560 :
nobodyさん :2007/11/25(日) 15:08:13 ID:mmjJDucQ
鯖落ちてるね
質問です。 <?php $uploadfile = "/Users/hogehoge/Sites"; if (!isset($_FILES['user']['name'])){ echo <<< _EOD_ <html><body> <form enctype = "multipart/form-data" action= "{$_SERVER['PHP_SELF']}" method="POST"> <input type = "hidden" name = "MAX_FILE_SIZE" value = "1000000"> アップロードするファイル: <input name = "user" type = "file"><br> <input type = "submit" value = "送信"> </form> _EOD_; } else { print "<pre>¥n"; print_r($_FILES); print("</pre>¥n"); if (move_uploaded_file($_FILES['user']['tmp_name'], $uploadfile)){ passthru("/bin/ls -l $uploadfile"); } else { print("駄目です¥n"); } } ?> というプログラムで、 Warning: move_uploaded_file(/Users/hogehoge/Sites) [function.move-uploaded-file]: failed to open stream: Is a directory in /Users/hogehoge/Sites/upload.php on line 16 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/private/var/tmp/phpl9YY9x' to '/Users/hogehoge/Sites' in /Users/hogehoge/Sites/upload.php on line 16 というエラーが出ます。 どのへんの設定を見直せば良いでしょうか?
failed to open stream... 英語も読めない 1も読めない まず読むと言うことが出来るように意識の設定を見なおせばいい
<わからない五大理由> 1. 読まない ・・・説明書などを読まない。読む気などさらさらない。 2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。 3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。 4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。 5. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする
簡単な英語も読めない人はプログラムに手を出して欲しくない
それは英語のできない俺に対する侮辱ですね。 デバックエラーには聞き慣れない単語が多いので面倒なのよ。
俺なら翻訳にかける 実は意外とあれでエラーの原因がわかったりもする
>>567 …侮辱なのか?日本語もよくわかってないんじゃ?
エラーメッセージなんてそのままぐぐれば回答でるし
※ここは自称回答者のストレス解消のオアシスです
エラー行だけでだいたいわかるけどなあ。 PHPはテキトーでも動くからエラーが出ない不具合のほうが多くて困る。
572 :
nobodyさん :2007/11/26(月) 11:56:13 ID:E5gL//e5
$data = file('today.csv'); $key = array($data); print "$key[0]"; すんません、これではまったく書き出しませんがどこがわるいのでしょうか? マニュアル見てもどうもわかりません。おねがいします。
>>572 today.csvに入っているものがわからんから何も言えない
あと、file()関数の返り値が何かを調べたほうがいい
【today.csvの中身】 1<>2<>3 4<>5<>6 【コード】 $data = file('today.csv'); print $key[0];
【today.csvの中身】 1<>2<>3 4<>5<>6 【コード】 $data = file_get_contents('today.csv'); preg_match_all("/^.*$/",$data,$match); print_r($key);
>>574 受け取っている変数名と出力する変数名が違ってる
まちがえた訂正 【today.csvの中身】 1<>2<>3 4<>5<>6 【コード】 $data = file_get_contents('today.csv'); preg_match_all("/^.*$/",$data,$key); print $key[0][0];
579 :
nobodyさん :2007/11/26(月) 12:03:36 ID:E5gL//e5
>>573 today.csv の中身はテキストベースで "1","2","3"
返り値もいっしょです。
$data = file('today.csv');
$key = array($data);
print "$key[0]";
で1を表示したいのですが、、、 array としか表示しません
>>579 $key = array($data);
これは何の処理してるわけ?
まちがえた訂正 【today.csvの中身】 1<>2<>3 4<>5<>6 【コード】 $data = file_get_contents('today.csv'); $key = explode("<>", $data); print $key[0];
>>582 ありがとうございます、まさしくそれです。
>>579 2次元配列になってるから
arrayとしか出ない
配列でよくわからんときはとりあえず
print_r()を使え
585 :
nobodyさん :2007/11/26(月) 12:50:10 ID:E5gL//e5
みなさんありがとうございます。 簡単なことなのでしょうが、どうも私には敷居がたかいようです。 いろいろとやってみましたが・・・ 近づいてはいるとおもうのですが。 $data = file_get_contents('today.csv'); print_r($data); で 1,2,3 と表示されます。たとえばこれの3のみを表示させる場合、 $data = file_get_contents('today.csv'); $key = explode(",", $data); print $key[2]; としてもダメなんですが?? 根本がまちがっているのでしょうか?
どこがどうダメなんだよ 回答者に理解できるように伝えろよ
587 :
nobodyさん :2007/11/26(月) 13:00:10 ID:E5gL//e5
>>586 はい、
$key[0] => 1
$key[1] => 2
$key[2] => なにも表示されない
こんな現象です。
配列の意味が分かってない悪寒
590 :
nobodyさん :2007/11/26(月) 13:12:57 ID:E5gL//e5
解決しました! 吐き出したデータ 1,2,3 の3の次に カンマをいれるようにしたら3が表示されました。 ありがとうございました ^^
配列に意味なんてあんのかと
はいれつと ぱいれーつって 似てるよな?
PHPエディタ使ってるんだが、 複数のプロジェクトを操作するのに複数起動しないといけないのがダルイんだが タブ式でプロジェクトを切り替えれるようなソフトないかな
複数のプロジェクトを同時に操作する機会ってそんなに多いのか?
>>595 まぁ、中小のシステム開発会社ならそうかもしれないけど、
大手のプロマネなら同時に複数のプロジェクトを操作することはあるよ。
IBM○とかなら、同時に100件のプロジェクトをマネージメントするしね。
>>595 片方でライブラリを作成しつつ、
もう片方でメインのプロジェクトを作成しているんだが・・・。
後々それを連結させたりする
598 :
595 :2007/11/26(月) 15:47:27 ID:???
個人でもサイトの二つ三つつくるやん。
同時に100件のプロジェクトをPHPエディタ使って操作するのか、へー
601 :
nobodyさん :2007/11/26(月) 16:16:16 ID:44rE22LJ
>>408 ですが、
>>452 の意味がわかりません。
PEARをインストール無しで(FTPソフトだけ使って)使うことって可能なんでしょうか?
あれ?半角スペースにも文字コードの違いってあったのか
>>590 ひとまず
var_dump
print_r
で自分で値を確認してデバッグできるようになったほうがいい
>>601 別にコンパイルして使うようなもんじゃないからパスを通せば使えるでしょ
モジュールはPHPのconfigure optionで指定していないと使えないようなのに
依存しているようなライブラリだと使えないってことだと思う
ところで解凍してもxmlファイルしか出てこないのは解決したのか?w
606 :
nobodyさん :2007/11/26(月) 18:32:48 ID:zbgvxEWX
エラーが出ても処理の実行を止めないような設定とかありませんか?
608 :
nobodyさん :2007/11/26(月) 18:43:09 ID:zbgvxEWX
>>607 URL直下においていないスクリプトのエラーを確認したいので、
ob_startでエラーを表示させず、ob_get_contentsで書き出したいなと思っています
print nl2br(print_r($unko,1));
fatalエラーはハンドリングできないよね(´・ω・`)
614 :
nobodyさん :2007/11/27(火) 00:18:52 ID:wSkSg8Vd
index.php?hensuu=hoge ではなく index.php?hoge だった場合 hogeの値をどうやってGETすればよいのでしょうか?
>>614 $_SERVER["GET_AND_POST"];
GETとPOSTの違いをサルにもわかるように せつめいしてください。
>>614 var_dumpでもしてみりゃ一目瞭然じゃないの
618 :
614 :2007/11/27(火) 00:41:11 ID:wSkSg8Vd
>615,617 ありがとうございます でも、わんかねえええええ
mod_rewrite
>>618 "値"は空でしょ、その場合
お前さんがやってるのを明示的に使うのもあるけど、
それが何なのかを知るのはまだ早すぎるってとこだろ
621 :
nobodyさん :2007/11/27(火) 01:44:48 ID:Rl8Ir33j
先月から、わけの分からないホストからアクセスがあるのですが、 phpでheader関数で404を返していたのですが、phpじゃなくて .htaccessで除外する方法ありますか? ss155.dal0.gigablast.com ss157.dal0.gigablast.com ss161.dal0.gigablast.com よろしくお願いします。
622 :
nobodyさん :2007/11/27(火) 01:50:05 ID:Rl8Ir33j
ちなみに、こう書いてみたのですが、スルーされてしまいました。 order allow,deny allow from all deny from .gigablast.com
>>621-622 昔はこの板に.htaccessの偉い人ってスレがあったはずなんだが
もうないようだな
web製作板にそれ系のスレがあるからそこかな
>>621 .htaccessが使えるようになってない。
とかいうことは、さすがにありませんよね?
InfoRelay Online Systems, Inc. INFORELAY-NETBLOCK01 (NET-66-231-176-0-1) 66.231.176.0 - 66.231.191.255 Gigablast, Inc. INFORELAY-GIGABLAST-SJC1 (NET-66-231-189-0-1) 66.231.189.0 - 66.231.189.255 order allow,deny allow from all #deny from 66.231.176.0/20 deny from 66.231.189.0/24
627 :
626 :2007/11/27(火) 02:15:45 ID:???
下がだめなら上を試してみて
628 :
nobodyさん :2007/11/27(火) 02:43:29 ID:Rl8Ir33j
>>624-627 即レス、本当にどうもありがとうございました。
アクセスログが、このホストばかりなのでうんざりしていました。
>>626 さんの方法で試してみます。
その方法があるとは、気付きませんでした。どうもありがとうございました。
別に遮断する必要もねーと思うがな ただのbotだし
baiduなんて問答無用でシャットアウトだぜ
631 :
nobodyさん :2007/11/27(火) 10:43:49 ID:N1gFdFz8
へ?
>>631 ごくごく普通に parse_url してから split して、その文字列の範囲を調べて、
日本語コードあるいは ascii キャラクタ以外なら urlencode でいいんじゃない。
>>631 つーかそれってどういう状況?
最近のアマゾンのURLみたいな感じか? あれ全角日本語混じりでウザいんだけど。
>>633 parse_urlってmb系じゃないよな。
全角文字と半角文字が混じってたら上手くパース出来ないんじゃネ?
>>634 お前のレスの方がアマゾンより100倍ウザイ。
636 :
nobodyさん :2007/11/27(火) 11:39:48 ID:rP9v1OMr
PECLを学習しようと思っております。 phpやpearのように日本語のマニュアルを置いてあるアドレスご存知の方教えてください
とおもったら公式に乗ってましたね。失礼いたしました。
>>634 ブラウザが勝手にデコードしてるだけだろ
ソースはちゃんとurlencodeされてる
はい?w
640 :
nobodyさん :2007/11/27(火) 12:48:52 ID:fQMJu984
フォームで検索されたキーワード(tag)をtag.txtに格納したいのですが、 まったく動作しません・ <?php $fp = fopen('tag.txt', 'w'); $str = $_POST['tag']; fwrite($fp, $str); ?> どこがまずいのでしょうか?
とりあえず質問の仕方を変えるべきだと思う その質問ではエスパーでない限り答えようがない ・どのように動作しないのか ・格納する$_POST['tag']には値が入っているか(echoなどで調べられる) まずいのは質問の仕方だと思う
642 :
暗黒元帥 :2007/11/27(火) 13:01:03 ID:vaK6WH4m
俺って偉いの?
643 :
nobodyさん :2007/11/27(火) 13:02:49 ID:fQMJu984
>>641 <?php
if(isset($_POST['tag'])){
$fp = fopen('tag.txt', 'w');
$str = $_POST['tag'];
var_dump(fwrite($fp, $str));
}
?>
でbool(false)となります。
ほんと要領悪いのってとことん悪いのな。 マニュアル見たり問題を分割して考えたりしないのかよ。
<?php if(isset($_POST['tag'])){ echo $_POST['tag'];←ここで値が表示されてるのかチェックしろ $fp = fopen('tag.txt', 'w'); $str = $_POST['tag']; var_dump(fwrite($fp, $str)); } ?>
<?php if(isset($_POST['tag'])){ if ($fp = fopen('tag.txt', 'w')){ echo "ファイルをひらきました"; } else { echo "ファイルがひらけません"; } ?> これの結果をみせろ!
>>645 echo $_POST['tag'];←ここで値が表示されてるのかチェックしろ
ちゃんと検索タグが表示されます。
セーフモードは?OSは? いちいち言わせるなクズ さっさと書けや
safemode [on] os windows です
651 :
nobodyさん :2007/11/27(火) 13:24:53 ID:8IH2G2KM
おまえらって なんだかんだいっても、やさしいな
自分が充分に分かりそうな範囲だから教えてるだけじゃないの。 これが少し知らない事になると途端に荒れだす。
>>650 スクリプトを処理してるときにロックとかしてないよな?
ロックしてるときにテキストエディタで書き込むファイルを開いてたりしてねえだろうな
654 :
nobodyさん :2007/11/27(火) 14:40:42 ID:fQMJu984
>>653 それでした・・・・
ありがとうございました。
655 :
IT土方 ◆5m1CB.BcLA :2007/11/27(火) 14:45:42 ID:s8Xdilbo
>>89 昔職場でそんな話題が出てたのを思い出した&最近XEADなんてモノを見つけて遊んでいるので、サクっと設計してみた。
スケジュール表組むだけだと本当に「HTMLエディタ覚えろよ」になるので、一応は嬢が自分でスケジュールが申請できるようにしてみたが……。
コミコミなら50画面近くイクな、これ(苦笑) 確かに設計から始めたら「最低300万」だわ。
固めて60KBくらいになったが、誰か見てみる?
冷やかしてやろうというお方はUPローダーの紹介ヨロシク。
>>655 要求仕様も分からないのに画面設計って・・・エスパーですか?
>>655 おまえの無能さを指摘してやるから早くUPしろ
>>658 それよりも、要求仕様なしで作った雛形を見て、
>>657 が、どの程度風俗通いをしているかを
見極めてみたいと思いませんか?
660 :
659 :2007/11/27(火) 15:41:50 ID:???
661 :
nobodyさん :2007/11/27(火) 15:45:53 ID:OQsEuWQD
ねえ、なんでPHPって変数に$を付け忘れてもコンパイルエラーにならないの? 他のソースで定数名として宣言されてるからかもしれないって言う理由かもしれないけど 他の依存ソースもみてくれりゃいいじゃん。Javaから移ってきたんだけど $つけ忘れのエラーが多くて、困るんだよ。どうしてそんくらいのことしてくれないのかな?コンパイラは。
javaみたいな曖昧な言語じゃないから
663 :
661 :2007/11/27(火) 16:13:19 ID:OQsEuWQD
>>662 ちゃんと答えてください!やはり、PHP厨のできはその程度なんですか!
>>663 お前の頭が悪いから付け忘れるだけじゃないのか?
Javaスレから来ました できの悪い661がご迷惑をお掛けしました。
>>661 俺なんて頭よすぎるから、VBで「;」つけてたが
エラーではじかれた。
きめぇコテ
とりあえず乙としか言いようがない しかし仕事を奪うようなことはしちゃならんよ、業界人として。
javaかよw フレームワークだけで作ったのか
>>661 字句解析時に$が付いてりゃ変数として、
なけりゃ定数の名前やら関数名やらと一緒に分類される。
そして定数やら関数は実行時に定義される。
なのでパースが終わった時点ではまだエラーを出せない。
ポカミス減らしたかったらIDEに頼ろうぜ。
そろそろうぇb制作の談話スレの住民どもはスレ違いの話はするな
なんかすごそうだが何がなんだか俺にはわからんぜ・・・ これがSEってやつか?
IT土方を上手く煽ったりおだてたりして風俗システムをうpさせて まんまと盗もうとしてるバカが多いスレはここですか?
こんなのも分からんとかどんだけwww馬鹿コテが調子に乗るからそういう事言うな。
たのむからこれ以上はSOHOスレでやってくれ
>>671 xslは見てません。htmlだけ見させてもらいましたw
インターフェイスは、結局はPHPで動的に吐かせることになるわけだし、あえて突っ込む必要も無いのだが、
マスタ表示テーブルはページングのためのリンクが必須。
システム面に関しては、従業員管理に携帯電話固有番号があるあたり、モバイル意識してるとは思うが、
モバイルの簡易ページが後々必要になりますな。
催促のメールは、ちょっとやりすぎ感が否めない感じ。でも悪くは無い。
シフト入力は1週間単位では少ない気がする。俺なら2週間単位。
ありきたりすぎて全体的に見ても、そんなに冷やかしどころは無いよ。
メシ前のいい暇つぶしでした。以上。
ありがとうございました。早速外注のプログラマに当店用にモデレートしてもらいます。 今夜は旨い酒が飲めそうです ^^
クンクン
プログラミングってやったことないんですけど何から始めればいいですか
プログラミングでぐぐるとこからはじめてください
まだググってなかったです ありがとうございました プログラミングってやっぱ難しいんですねwikipedia読んだだけでもさっぱりでした
687 :
ソープ店長 :2007/11/27(火) 20:23:56 ID:???
いただきました。
Thank you so much
689 :
デリ店員 :2007/11/27(火) 20:26:32 ID:???
これで独立できそうです。ありがとう!
警告です、スレ違いの話はやめましょう
警告ですって何様ですか?ひろゆき風情ですか?
$tes1 = mb_convert_encoding(file_get_contents(記号が載ってるサイト), 'UTF-8', 'auto'); で、得られた結果をそのままprint_rすると、きちんと表示されるのですが、 その中から「〜」を消したい場合、どうすればいいですか? print_rで表示されたソースを見ると、「〜」の部分が?となっています。 $tes1 = str_replace("〜","",$tes1); としてもなりません。
mb_
694 :
692 :2007/11/27(火) 21:04:03 ID:???
>>693 マルチバイトでしたね。ありがとうございます。
ところでmb_というのはmb_replaceとか、mb_str_replaceの事ですか?
マニュアルにはなくて…
また、こういった記号がいくつかあるのですが、どう対応するのが一般的でしょうか?
最終的には$tes1から条件に従って文字列(複数)を抜き出し
if($tes1=="?となってしまう記号を含んだ文字列"){
としたいのです。
695 :
692 :2007/11/27(火) 21:25:20 ID:???
追記 urlencodeして比較すると上手くいきます。 どういった理由でソースにこういった?表記がなされるのでしょうか? エンティティかと勝手に思ってたんですが、デコードしてもならないし…
696 :
692 :2007/11/27(火) 21:48:03 ID:???
自己解決しました
697 :
692 :2007/11/27(火) 21:55:32 ID:hIC2+TtK
>>696 ごめんなさい。IDだしてませんでしたね。
ところで、自分の質問の仕方ですが、何か悪かったですか?
/hoge/日本語 → /hoge/%93%fa%96%7b%8c%ea%0d%0a /日本語/hoge → /%93%fa%96%7b%8c%ea%0d%0a/hoge /hoge/hoge/日本語 → /hoge/hoge/%93%fa%96%7b%8c%ea%0d%0a みたいに 日本語部分だけにURLエンコードをかけたいのですが、 どんな方法があるでしょうか?
志村〜
702 :
nobodyさん :2007/11/28(水) 06:09:31 ID:pNrSaAxO
全く同じ動作をしたい2つのメソッドがあるのですが2つ同時に定義することって不可能ですか? function toString() { return $this->str; } function __toString() { return $this->str; } これを function toString() or __toString() { } みたいなかんじで・・・ 普通同じ動作をするメソッドが2つ以上あるっていうのはおかしいでしょうか?
おかしいです。
何がしたいのかわからん
705 :
nobodyさん :2007/11/28(水) 06:29:31 ID:pNrSaAxO
ようは、__toString()に書いた場合、 print(new Integer(500)); こんな感じに呼び出されますが、 toString()に書いた場合、 $object = new Integer(500); print($object->toString); こんな感じで呼び出します。 どっちがいいのでしょうか?・
706 :
nobodyさん :2007/11/28(水) 06:39:28 ID:pNrSaAxO
ちょっと言葉と質問の仕方がおかしかったですね。 >こんな感じに呼び出されますが、 ではなく、こんな感じでも呼び出すことができますがに訂正。 toString()に書いた場合、 $object = new Integer(500); print($object->toString()); という風に呼び出し、 マジックメソッドである__toString()に書いた場合、 上記の方法以外にも インスタンス化したときにprint(echo)すれば呼び出すことができますが、 print(new Integer(500)); どちらがよいのでしょう? 見てもらえば想像できると思いますが、IntをStringとして返すメソッドです。
中で実行すれ
708 :
nobodyさん :2007/11/28(水) 12:04:23 ID:jXo0ZF63
PHPでのオブジェクトはマニアだけの世界だよね
へ?なんで?
>>673 >>675 これ設計ツール(苦笑) まだコードは一行も書いてない。
でもやっぱPHPになると思うよ。このくらいならちょうどいいでしょ?
>>677 ただのIT土方だ(笑)
>>678 商売なんかするか、この程度のことで(笑)
>>681 コメント感謝。
やっぱページングはいるか。まぁこの程度のツールで20人も30人も管理しないとは思うが。
簡易ページは……作ってはいるんだけどね。auだと全角空白がズレるのさ。等幅ぢゃないのかね。
入力単位を一週間にしたのは直感優先。
やっぱりカレンダーから入力するならああだろうと思ったんだけど、他に何かイイ方法ある?
「ありきたりすぎて」は誉め言葉と受け取っておこう。狙い通りだ(笑)
>>682 >>687-689 やれるモンならやってみろ(笑)
>>710 質問スレだから続きやりたいならスレ立ててやれ
親クラスのメソッド内で、具象クラスの名前ってわからないもん? class B extends A だった場合、Aのメソッド内でホントはBですって知りたいんだけど。 やりかたわからんので、BのコンストラクタからAのコンストラクタ呼ぶときに __CLASS__を渡してAのメンバに保存してるのだが。
親が子を意識しなきゃならん時点で失敗だな。 やり直し。
>>702 基になるメソッドを決めて
他のメソッドから呼び出すようにするのがいい。
toString を明示的に呼び出すか __toString を暗黙的に呼び出すかは
自分らで決めるコーディング規約次第だな。
>>712 get_class($this);
715 :
712 :2007/11/28(水) 14:12:16 ID:???
あーいや、そういう破綻したダウンキャストとかじゃなくて、 AにcopyFromAssoc($param)ってメソッドがあって、 連想配列$paramの内容に従ってメンバの値を埋めることをしたい。 JavaのBeanUtils::copyProperties()みたいなこと。 なのでAのcopyFromAssocで具象クラスがわかれば、 ReflectionClassとinvoke()駆使できるんだが。
716 :
712 :2007/11/28(水) 14:13:46 ID:???
>>714 おおおお?一生懸命さがしたのに、なんでさっき気づかなかったんだ・・・
ともかくありがとん。
717 :
nobodyさん :2007/11/28(水) 14:13:46 ID:1+zqVeOG
ディレクトリを作りたくて、 /testphp/mkdir.php 中に <?php mkdir ("testdir", 0700); ?> って書いて実行したんだけどうまくいきません イメージでは/testphp/testdir/ っていう ディレクトリが出来るつもりだったのですが、、 どこがまずいでしょう? 環境はphp5 apache2 です
realpathで絶対指定は?
719 :
nobodyさん :2007/11/28(水) 14:27:43 ID:1+zqVeOG
>>718 ありがとう 以下のように試してみましたが…
<?php
$thisPath = realpath('./');
$mk = mkdir($thisPath."testDir", 0700);
mkdir($thisPath."testDir", 0700);
echo "ディレクトリできたかな? > ".$mk;
?>
反応ないです、出来てません 何でかなぁ
一応きくけどセーフモードかかってないよね?
721 :
717 :2007/11/28(水) 14:33:15 ID:1+zqVeOG
>>720 ごめんなさい、セーフモードってなんですか?
osはwindowsXPです
723 :
717 :2007/11/28(水) 14:45:00 ID:1+zqVeOG
>>722 本当にありがとうございます (windowsのセーフモードかと思って調べてました)
しかし、phpinfoの結果ではsafe_modeオフになってます
safe_mode - Off - Off
safe_mode_exec_di - no value - no value
safe_mode_gid - Off - Off
safe_mode_include_dir - no value - no value
根本的に
>>719 のコーディングに問題があるんでしょうか
>>723 そのディレクトリはhttpdの動作してるユーザーで書き込み可能なのか?
725 :
717 :2007/11/28(水) 15:33:34 ID:1+zqVeOG
>>724 返事遅れてすみません
書き込み可能かどうかはわかりません。どうしたら確認できるんでしょうか?
自分のマシンの中で動かしてるサーバなら大丈夫って問題じゃないのですね
windowsのセーフモードかと
>>725 ためしに、適当なとこにフォルダ作って、プロパティのセキュリティで
Everyone が書き込みできる許可があるか確認して
そこをフルパス指定してみては?
エラーのトラップコードを書こうとしているのですが、 異常が発生した時に、エラーの呼び出し元のクラス名を知る方法はないでしょうか? あるクラスのあるメソッドを1000箇所を超える箇所から呼び出されているのですが、 そのメソッドで不具合が発生した際に、どこから呼び出されているか分からずに苦労しています。 宜しくお願いします。
729 :
nobodyさん :2007/11/28(水) 16:20:43 ID:KISMRzgZ
728です。すみません。ID出すの忘れてました。
730 :
717 :2007/11/28(水) 16:27:30 ID:1+zqVeOG
>>726 windowsのセーフモードかなぁと思って、 msconfigでBOOT.INIを見てみたら、
セーフモードにチェックははいってませんでした。(確認の仕方が間違ってるかもしれないですが)
あと、rmdirを試してみたら、これもうまくいきません
…ですが、今マシン何度か再起動してみたら、さっき出来てなかったディレクトリが
出来てました。さっきは何度も最新の状態に更新しても出来てなかったのに
それに今別名のディレクトリを新しく作ったら、今度はすぐに出来ました。
何も設定変えてないんですが。今度はうまくいった原因が不明です
一番ツマランオチになってしまってすみません いろいろ勉強になりました 皆さんありがとう
731 :
nobodyさん :2007/11/28(水) 16:36:13 ID:ECuSXzPA
ファイルをコピーするphpを作成しているんですけど、うまくいきません。以下のように作りました。 <html> <head> </head> <body> <?php exec('/bin/cp /var/www/html/aaa.txt /var/www/html/bbb.txt'); ?> </body> </html> なぜかbbb.txtが作成されません。 よろしくお願いします。
copyでやれ
/var/www/html/ のパーミッションは?
735 :
731 :2007/11/28(水) 16:59:06 ID:jgnr6sNp
>>733 fedora core 6です。
copy関数使用すれば作成できました。続けて質問で申し訳ないが、
spamassassin(メールフィルタリングソフト)を起動させるphpの作成も行っていて、
端末で/etc/rc.d/init.d/spamassassin startと打てば起動するので、
<html>
<head>
</head>
<body>
<?php
exec('/etc/rc.d/init.d/spamassassin start');
?>
</body>
</html>
と作成したのですが、起動できませんでした。 よろしくお願いします。
736 :
731 :2007/11/28(水) 17:16:10 ID:jgnr6sNp
spamassassin はrootで起動する必要があったりしない? spamassassin のオーナーとパーミッションは? あとセーフモードとか
739 :
731 :2007/11/28(水) 17:53:55 ID:ECuSXzPA
rootで起動する必要があります。 spamassassinのオーナーはrootでした。 safemodeはoffでした。 sudoを使えばいいのかなとは素人ながら思いますが・・・。 よろしくお願いします。
んー、、、まあsudoでいけると思うが。 実行ユーザーがapacheとして、visudoで apache ALL=NOPASSWD: /etc/rc.d/init.d/spamassassin start とかいれて、 exec('/usr/bin/sudo /etc/rc.d/init.d/spamassassin start'); とかか? まあいろいろやってみて
742 :
nobodyさん :2007/11/29(木) 00:24:05 ID:QqrQD8Do
02<>かきくけこ 03<>さしすせそ 01<>あいうえお --------------------- ↑と書かれているファイルを「file関数」で開いてソートしてまたファイルに書き直す、 といった処理をしたいのですが、どうしても挙動がおかしくなってしまいます・・・ 理想としては↓ --------------------- 01<>あいうえお 02<>かきくけこ 03<>さしすせそ --------------------- と、いう風にファイルに書き直されていたらいいのですが、なぜか↓のようになってしまう時があります。 --------------------- 01<>あいうえお 02<>かきくけこ03<>さしすせそ --------------------- $sort_ary = file("data.cgi"); sort($sort_ary); $file=fopen("data.cgi","w"); foreach($sort_ary as $data){ fputs($file,$data); } fclose($file); そのソースの一部なのですが、何か突っ込みどころがあったらお願いします。
>>742 02<>かきくけこ03<>さしすせそ
みたいになる行の、この例で言うと02<>かきくけこ ってさ、
ファイルの一番最後に書かれてる行だったりしない?
そしたら改行がなくてそうなっちゃう場合はおおいに考えられると思うんだが。
745 :
nobodyさん :2007/11/29(木) 00:40:09 ID:NeePXSbk
PHPでdaemon作りたいんですが 作り方を教えてください
>>742 データの1行ごとに改行コードはちゃんと入ってるんだろうな?
最終行だけ改行いれてないおちとかないよな
>>742 よく見たら、forearchで回す回数だけファイル操作してんじゃねえよバカ
>>749 こんな簡単にできるんですね
ありがとうございました
文字列の反復を禁じるいい関数ありますか? 例えば 1,1,1,1,1,1,2,2,2,2,3 を 1,2,3 のように整形したいのですが。
753 :
nobodyさん :2007/11/29(木) 01:23:11 ID:5Kv1f9ef
includeファイルで計算した結果を表示するときに、一番上にスペース(改行されてるっぽい)が開いてしまうのですが、何故でしょうか? また、対策はありますか?
>>753 <? php
なにか
?>
//<--ここ
<? php
なにか
?>
みたいな状態になってんじゃね?
>>754 ごめんなさい、ちょっとよく分かりません…
<body>
<?php
if($hyouzi == 1){
include_once(test.php);
echo "$data";
}
?>
</body>
test.phpは最終的に$dataには<table>データが入るのですが、実際に表示されたソースをみると
?
<table>ほにゃらら</table>
となって、ブラウザ上では<table>ほにゃらら</table>を直接書いたときに比べ1行分の隙間があります。
>>755 ブラウザのバグってことないよな?
いろんなブラウザで試してみ
>>742 $sort_ary = array_map('trim', file("data.cgi"));
sort($sort_ary);
if($file=fopen("data.cgi","w")) {
fputs($file, implode("\n", $sort_ary));
fclose($file);
}
>>752 echo implode(",", array_unique(explode(",", "1,1,1,1,1,1,2,2,2,2,3")));
? <--これ <table>ほにゃらら</table> 「これ」が出てるんなら、エスパーするとUTF-8のBOM。 BOMなしで保存するとでなくなる。 BOMだったら、ブラウザによって表示されたりされなかったりする。
BOMはテンプラに入れとくべきだな
>>759 utfじゃりません。
UTFサインはもちろんBOMなしで保存してます。
762 :
nobodyさん :2007/11/29(木) 01:54:24 ID:QqrQD8Do
>>757 本当、ありがとうございます。
助かりました・・・
>>761 んじゃtest.phpのソース晒さんことにはわからんな
レベル ひっくw
>>765 きょうは一段と反応早いなおまえw
はりこみ乙w 腹イテーーーーーーーーーーーwww
意味不明 妄想乙
さっさと作るなり移動するなりしろってな。やってもらわないと何もできんのね。
すいませんfp = fopen('data.txt', 'r+'); の一番最後の文字列をピックアップしたいのですが、どうしたらいいでしょうか? arrayならarray_pop($fp)でうまくいくとおもいますが。。
773 :
755 :2007/11/29(木) 04:19:37 ID:5Kv1f9ef
>>756 バグかどうかは分かりませんが、win98+flash9なのでfoxが使えず、あまり検証できません。
ところで、それはIE6全てで発生するバグと言う意味なのか、それとも自分のIE6のみで起こるのか?という意味なのでしょうか?
>>759 そうです。ブラウザの表示では「?」はありませんが、ソースを見るとそうなってます。
>>761 あの…えと…どなたでしょうか?汗
という訳で再度ID表示。意識失ってましたので、明日BOMとやらを調べてみます!
>>773 BOM = バカだろオマエ
調べなくていいよw
>>758 ありがとうございました。参考になりました。
ただ、array_uniqueだと重複文字列が全部整理されてしまいますが、
1,1,1,1,1,1,2,2,2,2,3,1,1,1,1,1,1,2,2,2,2,3,1,1,1,1,1,1,2,2,2,2,3
だと 1,2,3に整理されると思うのですが、
これを 1,2,3,1,2,3,1,2,3という風に横同士で並んでるのだけ整理したいのですが、
どうしたものかと悩んでいます。
>>776 すいません。今から横で寝てる彼女とおマンコするので作れません。
終わるまでに作っといてもらえますか? 10分もかかりませんからw
うわぁ・・・人間として最低だこいつ・・・
>>773 http://ja.wikipedia.org/wiki/UTF-8#.E3.83.90.E3.82.A4.E3.83.88.E3.82.AA.E3.83.BC.E3.83.80.E3.83.BC.E3.83.9E.E3.83.BC.E3.82.AF.E3.81.AB.E3.81.A4.E3.81.84.E3.81.A6 >>775 echo preg_replace('/(.,)\\1*/', '$1', '1,1,1,1,1,1,2,2,2,2,3,1,1,1,1,1,1,2,2,2,2,3,1,1,1,1,1,1,2,2,2,2,3' . ',');
781 :
775 :2007/11/29(木) 06:30:02 ID:???
>>779 ありがとうございます。正規表現は思いつきませんでした。
782 :
nobodyさん :2007/11/29(木) 07:38:33 ID:4PzhnTZW
dbのテーブルに何か情報を新規登録したとき、(テーブルが一行増えたとき) その増えた行のidを取得する方法ってないですか? 登録→登録したパラメータを使ってwhereとlimitでSQL文再発行して取得 というやり方なら確実でしょうが、なんか頭悪いというか、もっとやりようないかなって 気がします
その方法じゃパラメータが重複したときにidが2つ3つ戻ってくるから駄目。 auto_increment属性を持ってるだろうから、mysql_insert_id()を呼ぶことで最後に生成されたIDを取得できる。
DBは、ここではMySQLしか認めないみたいですよw
当然だろ? AMPがこのスレのデフォだぜ
787 :
nobodyさん :2007/11/29(木) 09:46:12 ID:3vJQn9oy
一ヶ月あれば余裕。余裕あり過ぎか。 鯖借りて5000円/一年くらい
>>786 Windows厨発見
LAMPなら聞いたことがあるけどなw
> Windows厨発見 > LAMPなら聞いたことがあるけどなw
>>788 とか言っているやつに限って
実際にやらせたらなんだかんだ文句をつけて
一ヶ月では終わらない法則
デバッグのためにわざわざLinuxインスコするのはバカ
Linuxが使えないバカがキター
linuxを使う気持ちはよく分かるが、至上主義な人ってキチガイだな。
797 :
nobodyさん :2007/11/29(木) 10:33:11 ID:UweWnTq0
くだらない質問すぎて申し訳ないのですが、UNIX秒から西暦の日付に 表記をフォーマットするにはどうしたらよいのでしょうか。 西暦→UNIX秒なら簡単に見つかるのに、なぜか逆が見つからなくて・・・。
使えないとかアホか いまどきのLinuxなんてインストールからシステムのアップデートもWindowsと一緒だろうが
mktime
ブラウザ上で表示中のページに同サイト内で関連する ページをリスト表示するにはどうしたら良いのでしょ うか? Google Ajax Search API を使えばできますか?
802 :
nobodyさん :2007/11/29(木) 10:51:20 ID:HTBoD0WS
strtotime
>>755 <body>
<?php
釣りですか?
804 :
nobodyさん :2007/11/29(木) 11:13:28 ID:UweWnTq0
$kekka=date( 'Y年m月d日', $unixtime ); こうですか!わかりません!
>>798 インストールは出来るがその後が使いこなせない
うそつけ パーソナルデスクトップとしてLinux導入してるとこも多いのに Windowsが使えてLinuxが使いこなせないなんてことはない デバッグ環境作るだけなのに自己満足のCUIで構築するバカもいないだろう
いまどきlinuxをCUIでインストールするのは鯖屋ぐらいにしかメリットないな
WebProgを動かすのは鯖が多いんじゃ?
>>806 そういう使い方は考えていなかった
LAN内でLinux鯖たてるってことじゃないのね
NGワード:Linux
814 :
782 :2007/11/29(木) 12:21:03 ID:???
>>783 ありがとうございます 試してみますね
>>784 DBの種類ごとに動作が変わるような問題だと思いませんでした すみません
NGワード:Win
例えば $hoge = a; $output = `ls -$hoge`; みたいなことをしたいのですが、変数が展開されません。 何か良い方法はないのでしょうか?
◆質問する時の注意 ・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ) これ読めないやつ多いな
>>818 まともに回答したいやつもID表示させたほうがいいな
そうすれば、ID:???をNGにできる
強制ID表示の仕様にならないかな
821 :
nobodyさん :2007/11/29(木) 13:32:38 ID:5JTcagKP
pecl について質問です。 特段の変更無く PHP をインストールした場合、pecl は勝手にインストールされるものですか? それとも、設定の変更や、PHPとは別に後で追加する必要があるものですか? (PHP 5.2.4、Apache/2.2.6、FreeBSD 6.2-RELEASE)
<わからない五大理由> 1. 読まない ・・・説明書などを読まない。読む気などさらさらない。 2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。 3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。 4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。 5. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする なんで自分で調べようとしないかなぁ
web制作板へカエレ
さて、本題に戻りましょう・・・
本題ってなんだっけ?
>>821 自動で入った気がする。
漏れは、Ports 使っているから、
依存インスコかもしれん。
回答になってないね。ゴメソ
> 本題ってなんだっけ?
>>1 を読む以前に、スレタイ嫁w
たしかに下らねぇ質問ではあるw
829 :
nobodyさん :2007/11/29(木) 15:19:53 ID:yDgmBl71
PHPってなんですか?
833 :
nobodyさん :2007/11/29(木) 15:52:53 ID:yDgmBl71
ここはユーモアのかけらも感じないインターネットですね
うわ つまんね(;^ω^)
面白い質問や面白くない質問はスレ違い。
>>833 あなたは来るなって言われているふいんきが読めない人ですね
>>836 ふいんきという言葉はありません。
ふんいきと読む言葉はあります。
不淫気
あるじゃん
840 :
質問 :2007/11/29(木) 19:38:05 ID:tYN0KDnk
PHPで文字列の最後の5文字を取得するにはどうしたらいいでしょうか?
substr mb_substr
842 :
質問 :2007/11/29(木) 19:43:22 ID:tYN0KDnk
もしくは、指定した文字が3回出た後の文字を変換したい。 たとえば+が3回出た後の文字を???に変換したい。 例 $a = "aaa+bbb+ccc+ddd"; これを aaa+bbb+ccc+??? にしたい。 よろしくお願いします。
844 :
質問 :2007/11/29(木) 19:59:10 ID:tYN0KDnk
しねって言われてむかついたのでがんばったら解決しました。
>>843 ありがとう!
昨日、教えてもらった通りBOMを調べて、includeされるファイルをUTF-8Nで保存したら「?」消えました! 756さんをはじめとする皆さん、ありがとうございました!
>>842 echo implode('+', array_slice(explode('+', $string), 0, 3)) . '???'
848 :
nobodyさん :2007/11/30(金) 08:51:10 ID:seldkZ3q
質問です。 <?php $hoge = "/bin/ls": $output = shell_exec('ls -l $hoge'); echo "<pre>$output</pre>"; ?> で$hogeが展開できないのですが、どうすれば問題なく実行できるようになるのでしょうか?
いい加減、シングルクォートとダブルクォートの違いを覚えよう
覚えなくてもダブルクォート使ってりゃ問題ない
851 :
nobodyさん :2007/11/30(金) 09:25:06 ID:seldkZ3q
>>849 シングルクォートでも実行できないんですけれど。
どうすれば良いんでしょうか?
引数に応じて、コマンドを実行させたいんですが。
>>851 いい加減、シングルクォートとダブルクォートの違いを覚えよう
853 :
IT土方 ◆5m1CB.BcLA :2007/11/30(金) 09:32:49 ID:ZZzc5XCJ
>>768 紹介感謝。
過疎ってるという意味ではちょうどいいかもしれん(笑
移動して誰かついてくるっかい?
854 :
nobodyさん :2007/11/30(金) 09:41:41 ID:seldkZ3q
>>852 んで、結局どうやれば実行できるんでしょうか?
<わからない五大理由> 1. 読まない ・・・説明書などを読まない。読む気などさらさらない。 2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。 3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。 4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。 5. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする
>>848 $hoge = "/bin/ls":
ここの : を ; に
そもそもシェル実行できるような環境なのか?
858 :
nobodyさん :2007/11/30(金) 11:27:09 ID:7wito75u
2007/11/30-2007/12/01,00-24,[動作させる値] のようなdatファイルを下記でブランチさせると、指定範囲外だと判定されてしまうようなのです。 改善するにはどこを直せば良いでしょうか・・・最後の日付部分の大小だけで判定されてる・・? foreach $sdat(@set){ next, if $sdat eq "\n"; @sdat = split(/,/,$sdat); @ddat = split(/\-/,$sdat[0]); @d1dat = split(/\//,$ddat[0]); @d2dat = split(/\//,$ddat[1]); @tdat = split(/\-/,$sdat[1]); if( ($ddat[1] eq '' || ($ddat[1] ne '' && $d2dat[0] eq '*' || $d2dat[0] >= $year)) &&($ddat[1] eq '' || ($ddat[1] ne '' && $d2dat[1] eq '*' || $d2dat[1] >= $mon)) &&($ddat[1] eq '' || ($ddat[1] ne '' && $d2dat[2] eq '*' || $d2dat[2] >= $mday)) &&($d1dat[0] eq '*' || ($ddat[1] ne '' && $d1dat[0] <= $year) || ($ddat[1] eq '' && $d1dat[0] == $year)) &&($d1dat[1] eq '*' || ($ddat[1] ne '' && $d1dat[1] <= $mon) || ($ddat[1] eq '' && $d1dat[1] == $mon)) &&($d1dat[2] eq '*' || ($ddat[1] ne '' && $d1dat[2] <= $mday) || ($ddat[1] eq '' && $d1dat[2] == $mday)) &&($sdat[1] eq '*' || ($tdat[0] <= $hour && $hour <= $tdat[1])) ){ chomp $sdat; $url = $sdat[2]; last; } }
>>854 いい加減、シングルクォートとダブルクォートの違いを覚えよう
>>860 うるせーばーか。無能なオメーにきいてねぇんだよ、ブタ野郎が。
答えられる優秀な方お願いします。
いや、マジでスレ違いなんですが。
>>1 読んで下さいね。
864 :
nobodyさん :2007/11/30(金) 13:05:11 ID:7wito75u
誰が誰だかわからんです
全部nobodyさんの自作自演です
PHP初心者って、 人生初心者だな・・・ きっと、永遠初心者なんだろな
PHP初心者が人生初心者www じゃあビル・ゲイツあたりにPHPやってもらったらどうなるのー^q^?
ゲイツは古参厨だからperl派
そういう事言ってんじゃないんですけどwww
872 :
nobodyさん :2007/11/30(金) 14:33:57 ID:ikvxMQlZ
HTMLの文字コードSJIS PHPの文字コードeuc-jp なんですが、 受け取ったものを文字が特定の文字列の時、勝手に\が入ってしまいます。 例) ワトソン→ワトソ\ン 尚、受け取った文字列はmb_convert_encodingでEUC-JPに変換しています。 変換する前の文字をvar_dumpしてみても\が入った状態でした。 これを回避する方法を教えてください。 環境: PHP5.0
PHPの文字コードをsjisにする
874 :
872 :2007/11/30(金) 14:44:53 ID:ikvxMQlZ
>>873 さん
それしか方法はないということでしょうか?
できれば文字コードの変更はしない方法をお教えいただければと思います。
周辺のコード晒してもらわないと詳しくわからん。 やってることは間違ってないと思うが。
876 :
872 :2007/11/30(金) 14:56:22 ID:ikvxMQlZ
>>875 さん
普通にPOSTで受け取ったものをコード変換しているだけです。
// <input type="text" name="foo">のVALUEがワトソンだと仮定
var_dump($_POST['foo']); //ワトソ\ン
$foo = mb_convert_encoding($_POST['foo'], 'euc-jp', 'sjis');
>>869 ビルはPHPできるよ。
>>872 たしか、php.ini のマジッククォートだったかの設定を変更するか、
エスケープを外す関数でラップするかで対応できる
878 :
872 :2007/11/30(金) 15:06:57 ID:ikvxMQlZ
>>877 さん
magic_quotes_gpc = Off
で、できました!
ありがとうございますm(_ _)m
php.iniの設定はしっかり見ないとですね、、、
>>878 OnとOffのどちらにも対応できるように記述するのが好ましい
レベルひっくw
881 :
nobodyさん :2007/11/30(金) 15:46:42 ID:pchZJyTO
spilitで半角スペースで区切るには $var = spilit(' ', $var); ではダメなのでしょうか。 これでやっても区切られず文字列がそのままになります。
882 :
nobodyさん :2007/11/30(金) 15:50:09 ID:2W3G10mX
普通の環境だったら
Fatal error: Call to undefined function: spilit() in 〜
と出るはずなのに、
>>881 の環境ではエラーにならないのか。
>>881 の使ってるサーバは優秀だな。
>>881 自身はどうしようもなくボンクラだが。
884 :
nobodyさん :2007/11/30(金) 15:53:23 ID:pchZJyTO
iはうちミスです。 できていました。
打ちミスするくせに、コピペしないで手打ちするんだよな。
>>885 つっかかりすぎ
あ、ID:???さんの特徴でしたか^^;
>>880 > レベルひっくw
ものスレの存在意義ですから・・・
これ、技術系フォーラムの常識。
「ブルートレイン」の愛称で親しまれているJRの寝台列車の廃止が、さらに進む方向にある。 来年3月のダイヤ改正で「なは」(京都−熊本)と「あかつき」(京都−長崎)、「銀河」(東京−大阪)が、 再来年春には「富士」(東京−大分)と「はやぶさ」(東京−熊本)が消えることが、ほぼ確実視されているのだという。
>>881 splitは配列を返すんだが、どうやって変わってないことを確認した?
890 :
nobodyさん :2007/11/30(金) 16:34:06 ID:pchZJyTO
>>890 その現象が出るソース晒してみ?
少なくとも、
>$var = split(' ', $var);
これで動作するぞ?
892 :
nobodyさん :2007/11/30(金) 16:45:01 ID:pchZJyTO
なんだ2発目でもう「つっかかり」な上で「すぎ」かよ。 ずいぶん堪え性がないんだなw でもね、そういうことは自覚しておいた方がいいよ、実際の話。 出来ない人間に限ってなぜかコピペしないでうろ覚えの手打ちなんだ。 これ常識。
<?php $var = "a b c"; $var = split(' ', $var); var_dump($var); ?> うちの環境じゃ当然のことながら、問題なく動いた訳だが。
896 :
nobodyさん :2007/11/30(金) 17:32:06 ID:QSk5VRFG
すみません><; Smarty入門っていうのを会社で買ってもらって やっているんですが、よくわかりません><; 一応、PHPの基礎知識とPEARは理解できたんです><; Smartyのわかりやすい本てないですか><;? 導入部分だけでいいらしいです><;
897 :
nobodyさん :2007/11/30(金) 17:39:02 ID:pchZJyTO
「ねこ Smarty」で検索汁
えー…Smarty入門で分からないの? うちにもあるけど、その当時はそれくらいしかなかったんだが…… あとはググればなんとかなったけどなぁ
「ブルートレイン」の愛称で親しまれているJRの寝台列車の廃止が、さらに進む方向にある。 来年3月のダイヤ改正で「なは」(京都−熊本)と「あかつき」(京都−長崎)、「銀河」(東京−大阪)が、 再来年春には「富士」(東京−大分)と「はやぶさ」(東京−熊本)が消えることが、ほぼ確実視されているのだという。
同じ反応の人がいるw Smarty入門でわからなければちょっとね。 Smarty自体の使い方はそんなに難しくないから、 本とかあまり出てないよね。 ネットで調べるくらい。
901 :
896 :2007/11/30(金) 17:47:59 ID:???
みなさん、どうもありがとうございます。Smartyっていうのは 職場の先輩も簡単だといっていました。ねこSmartyで検索したら 色々出てきたのでそっちの方がいいような感じです。 Smarty入門にしても、何の本にしてもグダグダかきすぎて余計こんがらがってきます><; ソースだけ(的確な)ビシッとかいてあった方がよほどわかりやすいです><; 独習Cはソースだけみて一冊読破しました。ありがとうございました。 アマゾンとかでもSmartyの本はあまりないみたいなので、ネットで調べます><; どうもでした><;
>>896 smartyをpearみたいに手動インストール
>>903 よく分からないけどメール送りました!
会社のアドレスなんで、スゴイ話を送ったら削除してくださーい
>>907 大丈夫大丈夫。
あなたもこういうサイトを作って宣伝しまくればおk みたいな内容だからwwww
>>903 わたしは903を応援しております。
いっしょに億万長者を目指しましょう!
情報企業家が書く文面って決まりみたいのがあるんだか知らないけど、 すげー気色悪くて腹立つwww
PEARのMail/mimeDecode.phpでメールに添付した画像は取れたんですけど 画像のタイトルはどこにあるの?
ちょっと無料セミナーに参加してくる
>>912 おまえはよっぽど、ろくな情報企業家に会わなかったんだなw
918 :
nobodyさん :2007/11/30(金) 20:21:02 ID:3BSOMY4Y
array_key_existsを使って配列に値が入っているか調べようとしたのですが そもそも配列に値が入っていない場合、その変数を引数に指定するとエラーになります。 配列に値が含まれているか調べるためにはどのような方法があるでしょうか? 具体的にはformの中でcheckboxの値を取得したいのですが 全くチェックされなかった場合を検出したいと思っています。
920 :
nobodyさん :2007/11/30(金) 20:25:09 ID:3BSOMY4Y
>>919 isset、わかりました。ありがとうございます。
NULLの検出でarray_key_existsと挙動が違ってて敬遠してましたが
実際NULLが入る可能性がなさそうでした・・・orz
921 :
nobodyさん :2007/11/30(金) 20:38:55 ID:ELPuZRoK
スパムが話題になっているので、一つご質問させて頂きます。 うちのサイトで問い合わせフォームがあるのですが、 毎日毎日、日本を問わず海外も含めて、かなりのメールが送信されてきます。 前は、メールアドレスの入力チェックエラーで、 送信されなかったのですが、最近はメールアドレスの欄には、 メールアドレスの形式に沿った入力値で、入力チェックをすり抜けて、 送信されてきてしまいます。 何か有効な対策はありますか?必要なメールもあるので、埋もれてしまって迷惑しています。 お願いします。
>>921 2バイト文字含まないのは送信しないとか
禁止ワードが入ってたら弾くとか
924 :
nobodyさん :2007/11/30(金) 21:44:50 ID:ELPuZRoK
>>922 >>923 ご教授ありがとうございました。
ただ、私が求めているのは、そのような生ぬるい仕様じゃなくて、
もっと効果的な対策だったりします。
>>920 いや、まったくチェックがない場合はinputすら無かったかのように扱われて、NULLが送られるってどこかで読んだよ。
間違ってたらごめんね。
926 :
nobodyさん :2007/11/30(金) 21:57:03 ID:BdEY/zDV
受け側で文書解析したら?
あと、画像の文字を入力ってのもありがち
いくら甘いとはいえ生温いとかいったら解答者もやる気なくすべ。匿名と言えど質問者の最低のマナーあると思います
>>924 自分でプログラミングできるかも分からんような奴が高飛車だな
どうせどっかで拾ってきたフォームを設置してるだけじゃないのか
そういうやつはベンダの超高価なアンチスパムソリューションでも導入しやがれ
高度なスパムフィルタって正規表現だけって訳じゃないけど、結構使われてるでしょ? 生ぬるいとかww素人が何言ってんのって話だな。
>>930 モチツケ
>>924 とりあえず、そのスクリプトのメールアドレスのチェック部分のソースを晒しなよ。
現行でどんな方法取ってるのかわからなきゃ、アドバイスのしようがない。
まぁまぁ、そんな熱くならずに自分のオナラの臭いでも嗅いでエクスタシー感じようよ。
てか、回答者も質問をもっとよく読めや・・・
935 :
924 :2007/11/30(金) 22:36:56 ID:ELPuZRoK
すみません。不愉快な表現でご迷惑をお掛けしました。 私の求めていたのは、メールの妥当性チェックではなくて(メールの形式は正しいものが入力されてくる)、 入力チェックをすり抜けて送信されてくるスパムメールを如何に撃退するかでした。 メールの欄に、メールアドレスが入力されてくる、ということは自動で認識しているものですから、 相手は結構高度なスパム送信プログラムを作っているようなので、 これを撃退する方法はないかと思案しています。 といいますか、皆さんは、このようなお悩みはないのでしょうか?
>>935 そこで922とか923の解答になる訳ですよ。
937 :
nobodyさん :2007/11/30(金) 22:44:13 ID:ELPuZRoK
>>936 何このレス・・・・・・・?
/ヽ /ヽ
/ ヽ / ヽ
______ /U ヽ___/ ヽ
| ____ / U :::::::::::U:\
| | // ___ \ ::::::::::::::|
| | | | | U :::::::::::::|
| | .|U | | ::::::U::::|
| | | ├―-┤ U.....:::::::::::::::::::/
| |____ ヽ .....:::::::::::::::::::::::<
└___/ ̄ ̄ :::::::::::::::::::::::::|
|\ | :::::::::::::::::::::::|
\ \ \___ ::::::
>>937 それはこっちの台詞すぎるんだが。頭悪すぎだろww
こういう何も知らない癖に先入観が強い質問者は一番厄介だな。
>>924 入力チェックをすり抜けて
ってあるけど何の入力チェックよ?
メールアドレスがちゃんと入力されてるかされてないかって事?
941 :
934 :2007/11/30(金) 22:49:44 ID:???
>>935 メールとは、
・メッセージ(本文)
・メールアドレス
のどっちなのか、しっかり書こうよ。
942 :
nobodyさん :2007/11/30(金) 22:50:24 ID:ELPuZRoK
>>938 ・・・。なんか、ラーメンを注文しているのに、焼きそばを何回も何回も持ってこられたような気持ちなのですが。
>>924 多分927のが一番有用な対策だと思うよ
PEARでもあるからそこらへん入れればいいんでない
>>935 今時スパム対策もしていないようなメールサーバ使っているようなプロバイダってどこ?
フィルタリングをしているプロバイダに変えろ。
フリーのメールでもあるけど。
はっきりいってPHPの質問じゃないな。
945 :
nobodyさん :2007/11/30(金) 23:02:24 ID:ELPuZRoK
>>943 アドバイスどうもありがとうございます。
画像の入力という一節がよく分からなかったのですが、
画像をアップロードさせることで、プログラムかどうかを区別するということでしょうか?
斬新な方法だと思うのですが、正当な人がメールを送信する際に、分かりにくいインターフェイスかなぁ、とも感じたのですが。
946 :
nobodyさん :2007/11/30(金) 23:07:13 ID:ELPuZRoK
>>944 ・・・。
メールアドレスの件を例に出したのが、いけなかったのかもしれませんが、
メールアドレス云々じゃなくて、送信フォームから機械的に送られてくる
スパムメール送信プログラム?の撃退策が知りたいのです。
メールアドレスの欄には、メールの形式に従った値が入力されてくるし、
10文字以内と指定した名前の欄には、きちんと10文字の値が入力されてきます。
従って、正規表現は無力です。正規表現では、機械的に送信されたか、人間が送信したか、判別は不能です。
>>945 文字が書かれた画像を見て、その文字を入力することで
自動投稿を排除する対策のことだよ。
ちなみに正規表現云々っていうのは題名や本文に対して行うものね。
>>942 スパムってどんなスパム?サイトの宣伝とか?
もしそうだったら、メッセージ欄に「http」があったら弾く正規表現をどうか、てことさ。
>>946 >従って、正規表現は無力です。正規表現では、機械的に送信されたか、人間が送信したか、判別は不能です。
何を根拠に言ってるの?
じゃあGmailとかのスパムメールフィルタっていうのはどうやって実装してると思ってる訳?
>>945 いちいちフォームにコピペしてスパムを送って来ているとでも思っているのか?
フォームのソースに書かれているメールアドレスを抜かれているんだよ。
すでにいろんなところに出回っているから、いまさらフォームを改造しても意味がないと思う。
>>950 初心者は解答すんなwwwwww
HTML自体にメールアドレスが書かれてるって、どこの化石フォームだよwww
自宅PCでphpをやりたいのですが・・・ xamppの設定について聞いてもよいですか? mailformを作っているのですが mailform(入力)→confirm(認証)→sendmail(送信) ラジオボタン・チェックボックス・テキストボックスはmailform画面での入力文字が反映されますが <textarea>〜</textarea>に入力した部分については反映されずエラー表示されてしまいます 鯖に実際にうpした場合は成功するのですがxamppだとうまくいきません 気になる点があったら教えてください
>>952 エラー出てるならエラー載せたほうがいいよ
まぁ何でメール送信するか設定してないからとか
そこらへんが原因だろうけど
956 :
nobodyさん :2007/11/30(金) 23:25:54 ID:ELPuZRoK
>>947 >>953 ありがとうございます。確かに、これは機械的なスパムメール対策に良さそうですね。
これで実装して試してみます。助かりました。
>>949 あなたに限らず、解決策に対する方法論がトンチンカンで驚きます。
例えば、
>>903 のようなスパムが問い合わせフォームから送られきて、
正規表現でどうチェックしろと、いうのでしょうか?
要件定義をやったことがないのでしょうか?
>>956 そっちが4行目に答えてくれたら、答えてあげるよ。
正規表現で@以下のドメインを抜いてDNSにMXレコードを問い合わせ、存在しないドメイン だった場合はスパムとして捨てる。
>>958 >>903 のメールのドメインなら、存在しているんじゃないの。今のスパムメールって宣伝メールだから、ドメインとしては存在しているのがほとんどだよ。
>>955 レス有難うございます
エラーが表示されるというのは
<textarea>〜</textarea>内に記入した文字が確認画面で確認表示されるところに
ソースがそのまま表示されてしまうのです
申し訳ありません・・・今、手元に別のPCが無いのでエラーメッセージを載せられません
>>959 そういやそうか。
なら送信先をGmailにして転送掛けるのが一番手軽だなw
962 :
nobodyさん :2007/11/30(金) 23:51:12 ID:BdEY/zDV
>>961 Gmail って転送受信は駄目駄目だよ・・・
963 :
nobodyさん :2007/12/01(土) 00:59:07 ID:3eBORxxc
PHP5.1.6を使用していますが、 error_reportingを2047にしているにも関わらず PHPで文法的なエラー(セミコロン付け忘れ等)があった場合、 画面は真白になってしまいます。 エラーメッセージを表示させるには、どのようにしたらよいのでしょうか?
display_startup_errors
つphp_realtime_error.js
文字列関係のトラブルには、正規表現と回答すれば全てが解決すると思っている知ったかがいるようです。
わざわざ煽らないと気がすまない坊やがいるようです
,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; ヾ;;;ハ ノ .::!lリ;;r゙ level ひっくw・・・・ `Z;i 〈.,_..,. ノ;;;;;;;;> ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f ~''戈ヽ `二´ r'´:::. `!
AAのな
まず、お前は人間として 最低の部類に属することを自覚せよ!
お前には負けるよ
PHPなんですがphpinfoで確認するとvirtual directory supportと言うのがありますが これはどのような機能なんでしょうか? 検索するとApache関連だと言うことはわかるんですが、日本語でのドキュメントは出てきませんでした。 Linuxでソースからインストールしたものはdisableになっていて、Windowsのものはenableになっています。 どちらも5.2.5です。 Linux側でも出来れば有効にしたいんですが、./configure時にオプションの指定が必要なんでしょうか? それともphp.iniで設定するんでしょうか?
日本語以外で読めばいいだろ
すみません、超初心者なんですが 今使ってるPC内でPHPを扱うには、自分のPCにサーバーを立てるんですよね? サーバーを立てた際、ネット接続時に自分のPCの中身を自由に他人に見られる、という危険性はあるのでしょうか? なんというか、例えばキンタマウィルスに随時かかっているという様な感じではないのでしょうか? マジ変な質問ですんまそん
>>976 わからないなら答えなくてもいいんですよ?
980 :
975 :2007/12/01(土) 17:07:03 ID:???
こんな掃き溜めの質問スレに期待した私がバカでした。もういいです。
975です。なりきりの方は勘弁してください。わかる方はよろしくお願いします。
983 :
nobodyさん :2007/12/01(土) 17:44:33 ID:Xlbg37cC
聞きたいんですが、phpの発行するセッションIDって重複することありますか? 普通ないですよね?
984 :
nobodyさん :2007/12/01(土) 18:03:28 ID:WVh+JrId
トラックバックの受信プログラムで、
自分がどの記事にトラックバックを受けたか検出するにはどうすればいいでしょうか。
具体的には、
./log/tb_log/記事id_tb というふうに記事ごとにトラックバック履歴を保存しているのですが、、
トラックバックURLには
http://URL/tbget.php/記事ID としています。
サーバー上に書き込まれているところまでは確認したのですが、
どうもファイル名と記事IDが結びつかずに悩んでいます。
>>984 javascript ライブラリ dreambox.jp
でググレクズ
まちがえたdreambox.jsだ
990 :
984 :2007/12/01(土) 18:23:02 ID:WVh+JrId
すません、自己解決しました。 単にPATH_INFOで取ればいいんですね $tb_url = $_SERVER['PATH_INFO']; list(,$_GET['blog_id']) = explode("/",$tb_url); $BlogEntryId= $_GET['blog_id']; でできました。。 んでわ、文字化けと戦ってきます。
レベルたっかww
環境
975ですが、php公式サイト内の検索で調べてもわかりませんね。 気にしないでいいんでしょうか。XREAも無効になっているようだし・・・。 一体何の機能なんだ・・・。
英語のページを見るとIISのぽいけど
そろそろ次スレ。 誰が立てる?
↑ まかせた ↓
│ │ ≡ ('('('('A` ) │≡ 〜( ( ( ( 〜) ↓ ≡ ノノノノ ノ サッ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。