トップページ⇒php
1001コメント287KB

【PHP】下らねぇ質問はここに書き込みやがれ 64

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/02/09(土) 14:51:11ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/

◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0253nobodyさん2008/02/14(木) 12:40:31ID:kPTFt31F
正規表現のときにいちいち\[\]のように処理しなきゃならんのがめんどくさくって、
なかなか実行にうつせない
0254nobodyさん2008/02/14(木) 12:45:52ID:???
めんどいって、一度書くだけだろ?
こんなところに書き込むほうがよっぽど手間
0255nobodyさん2008/02/14(木) 12:50:20ID:???
>>254
確かにw
0256nobodyさん2008/02/14(木) 12:53:28ID:???
ここは相変わらず、ググれば分かる事かエスパーしか分からん事ばっかりだな。
0257nobodyさん2008/02/14(木) 12:57:37ID:???
他の言語に比べたらかなり敷居は低いから
ここで聞くより「○○とは」でぐぐる方が早いはずなんだがなー
0258nobodyさん2008/02/14(木) 14:43:31ID:YYm9cGRI
今ならなんでも答えるぞ
0259nobodyさん2008/02/14(木) 14:45:33ID:kPTFt31F
>>258
PgSQLでも?
0260nobodyさん2008/02/14(木) 14:47:40ID:???
ID:kPTFt31F
お前レベル低すぎだし言ってることが頭悪いからWebから離れたほうがいい
0261nobodyさん2008/02/14(木) 14:49:07ID:???
それ自分にも当てはまってるぞ。
0262nobodyさん2008/02/14(木) 14:49:52ID:???
まぁそう酷いこと言うなよ

みんなこっち行けばいいよ
くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
0263nobodyさん2008/02/14(木) 18:07:34ID:ybagCdX8
hoge.html
<p><?php print $hoge; ?>ホゲー</p>

hoge.php
$hoge = 'ほげ';
include('hoge.html'); // $hoge は展開されるが、ホゲーはホゲーにならない
$out = file_get_contents('hoge.html');
$out = mb_convert_kana($out,'k'); // ホゲーはホゲーになるが、$hogeは展開されない

のような<?php 〜 ?>を含むテキストファイルをインクルードしつつ
中の文字列を半角カタカナに変換する方法ってありますでしょうか?
0264nobodyさん2008/02/14(木) 18:24:45ID:???
>>263
何がしたいのかわからんが、

$hoge = 'ほげ';

ob_start();
include("hoge.html");
$contents = ob_get_contents();
ob_end_clean();

$contents = mb_convert_kana($contents, "k", "UTF-8");
echo $contents;
0265nobodyさん2008/02/14(木) 19:01:27ID:???
どうでもいいが
$contents = ob_get_clean();
で一発じゃね?
0266nobodyさん2008/02/14(木) 20:34:50ID:HAPGXi1v
2重投稿などを防ぐ為に
<?
header("Location: index.php");
exit;
?>
を活用していたのですが
headerの前に出力を行なうことになり
使用できなくなりました。

他に2重投稿を防ぐ方法などありますでしょうか?
0267nobodyさん2008/02/14(木) 20:36:29ID:???
重複した物は登録しない。
一定時間待たなければそのIPから登録することはできない。

こんなんでいいの?
0268nobodyさん2008/02/14(木) 20:42:37ID:BZwPXo+u
拡張子がphpのファイルで、
html記述部分の最初に、
<?xml version="1.0" encoding="UTF-8"?>
と書く必要があるんですが、
<? ?>部分がphp記述部分だと認識してしまうため、Parse errorになります
ここはhtml部分だよとわからせるためにはどうしたらいいでしょうか
02692672008/02/14(木) 20:42:48ID:HAPGXi1v
即レス有り難うございます。
重複したものは登録しない
そういえばその方法がありましたね。

IPに関しては社内のものなのであきらめます。
0270nobodyさん2008/02/14(木) 20:50:21ID:???
>>268
http://www.php.net/manual/ja/ini.core.php#ini.short-open-tag
0271nobodyさん2008/02/14(木) 20:54:18ID:BZwPXo+u
>>270
ありがとうございます
助かりました
皆を楽しませるウェブプログラムを作って恩返しします
0272nobodyさん2008/02/14(木) 21:04:58ID:???
>>271
自分はいいことしていると思ってても
まわりは迷惑としか思ってないよ?
02732672008/02/14(木) 21:11:21ID:HAPGXi1v
重複したものは登録しないで検討していたのですが
ユーザが投稿後に更新ボタンを押した場合
「このページを再表示するには、以前送信した情報を再送信する必要があります。
何か購入した場合には、取引の重複を避けるため [キャンセル] をクリックしてください。
その他の場合は、[再試行] をクリックして Web ページを再表示してください」
と出るのですが
これを防いで元のページを表示する方法はありませんでしょうか?

header意外に方法があるといいのですが・・・
0274nobodyさん2008/02/14(木) 21:20:00ID:???
>>267
>>266で
>headerの前に出力を行なうことになり
って書いてるけど、その前に一度リダイレクトすれば?
0275nobodyさん2008/02/14(木) 21:22:27ID:???
なんだまだ荒らしいたのか。無視で。

>>273
えーと、リロードしたらそーゆーのは出るし、完全に防げるものじゃないから
同じ情報送られても二度目以降は蹴るようにしてればいいだけよ。
無理にLocationで飛ばさなくてもアンカーで戻るリンク出してるほうがいいかと。
02762672008/02/14(木) 21:27:47ID:HAPGXi1v
>>274
ありがとうございます。
手前でのりダイレクトでやってみます。

>>275
ありがとうございます。
0277nobodyさん2008/02/14(木) 22:23:02ID:???
そもそも飛ばす場合出力する意味がわからない。
どうせ見えないんだから。
0278nobodyさん2008/02/14(木) 23:31:13ID:E6ZjZZkT
GETで値を渡した場合、日本語が文字化けします。
ソースは全てEUC-JPで記述されてます。なぜでしょうか…

0279nobodyさん2008/02/14(木) 23:38:12ID:E6ZjZZkT
追記

POSTだと文字化けしません。
0280nobodyさん2008/02/15(金) 00:11:31ID:???
それってまさかURLエンコードじゃ・・
日本語が英数文字みたいのになるって事?

何がどう化けるのか書いてごらん
0281nobodyさん2008/02/15(金) 00:31:21ID:???
普通GET で日本語を渡さないだろ。エンコードして渡して、
受け取ったらデコードするだろ。

$myheart = urlencode("ココロにダムはあんのかい?");

で渡して

urldecode($_GET['myheart']);

でデコード。

あと、eucより utf-8で作ったほうがいいよ。色々と。
0282nobodyさん2008/02/15(金) 00:49:32ID:???
UTF-8の方がいいって聞くけど、実際どのへんが?
fgetcsvで不具合出るし、UTF-8使うか躊躇してるんだが。
0283nobodyさん2008/02/15(金) 00:57:29ID:???
eAccelerator使ってみましたが、これ凄いですね。
処理速度が倍近くになったし、CPU使用率が導入前と比べて半分位になっている。
今までコードの最適化していたのが、馬鹿らしくなってくる。

こんな感じの最適化でまだありますか?
コードの最適化以外で。
0284nobodyさん2008/02/15(金) 02:01:08ID:???
>>283

ハード面増強w
02852782008/02/15(金) 09:01:30ID:n/8JdduI
皆様ありがとうございます。謝謝

>>280さん
<a hlef="test.php?name=<?= $name ?>">
上記でガルルガブリンコという文字を送ると、送り先で文字化けします。 他の日本語も全て化けます。

>>281さん
試してみます!
あと、私も今までUTFを使ってました。EUCは今回初めてです。
なぜUTFが良いのでしょうか?


0286nobodyさん2008/02/15(金) 09:02:57ID:???
>>282
>>8
0287nobodyさん2008/02/15(金) 09:04:15ID:???
多言語だから
0288nobodyさん2008/02/15(金) 09:05:11ID:???
>>258
urlencode どのタイミングでしてる?
0289nobodyさん2008/02/15(金) 12:41:38ID:???
表示はともかく、DBもスクリプトも普通utfだろ。
0290nobodyさん2008/02/15(金) 16:55:03ID:???
おじさん達に質問。PHPで作れるシステムって何あるの?
0291nobodyさん2008/02/15(金) 16:56:46ID:???
全て。

PHPで作れないシステムなどない
0292nobodyさん2008/02/15(金) 16:58:03ID:???
OSも?
0293nobodyさん2008/02/15(金) 17:03:35ID:???
>>290
PHPよりもPerlを勉強しろ。PHPなんて使えない。
0294nobodyさん2008/02/15(金) 17:09:55ID:???
言語にとって得意不得意があるわけで、作れるからといって作るやつなんていないだろう。
0295nobodyさん2008/02/15(金) 17:18:55ID:???
プロジェクトで仕事してるからムリ。perl使えないヤツ大杉だし。
おまえみたいなサンデープログラマとは違うんだ。
02962832008/02/15(金) 17:19:24ID:???
eAcceleratorを使っていて思ったんだけど、
これを使うと言語間の処理速度って、どれくらいになるんでしょうね?

C言語>eAcceleratorでのPHP>>>>Java>>>>>>>>>>modulePHP>>Perl>>>>cgiPHP

位ですか?
0297nobodyさん2008/02/15(金) 17:21:37ID:???
perl覚えるくらいならruby覚えるよw
0298nobodyさん2008/02/15(金) 17:25:28ID:ySlHYddO
いや、rubyよりPerl。
0299nobodyさん2008/02/15(金) 17:28:02ID:???
いや、普通にVBかJava覚えろよ。
0300nobodyさん2008/02/15(金) 17:31:18ID:???
C#でいいよ。
0301nobodyさん2008/02/15(金) 17:33:05ID:???
やっぱCOBOL
0302nobodyさん2008/02/15(金) 17:34:58ID:???
アセンブリ言語が最強。
0303nobodyさん2008/02/15(金) 17:39:46ID:ySlHYddO
>>302

アセンブリ?(´,_ゝ`)プッ
0304nobodyさん2008/02/15(金) 17:49:52ID:???
LOGOだろ
0305nobodyさん2008/02/15(金) 17:54:12ID:???
フォートランだろ
0306nobodyさん2008/02/15(金) 17:58:33ID:???
お前ら黙れ。
ここはPHPスレだ。
他の言語が素晴らしいなんてくだらないこと言ってる暇あったら学べ。
0307nobodyさん2008/02/15(金) 18:53:38ID:???
>>306
お前つまらないやつだな
最後のほうはどうみてもネタだろ
03082782008/02/15(金) 19:09:29ID:n/8JdduI
encodeとdecodeでうまくいきました。
ありがとうございました。
0309nobodyさん2008/02/15(金) 20:27:56ID:cmSPDLwZ
echo "$val[\"id\"]"; の非は何でしょうか
0310nobodyさん2008/02/15(金) 20:40:44ID:???
>>309
エラーメッセージ、きちんと書きなよ。

クォーティングしなくていい。
echo $val["id"];
どうしてもクオーティングしたいなら、
echo "$val[id]"; とか。
0311nobodyさん2008/02/15(金) 20:40:56ID:???
シングルコーテーションって流行らないの?
みんな使わないの?理由を教えてください。!
0312nobodyさん2008/02/15(金) 20:50:34ID:???
流行る流行らないの問題でないし俺はシングルを使うべきところではシングルを使っている
0313nobodyさん2008/02/15(金) 20:51:58ID:???
基本シングルで、
ダブルはSQLでたまに使うくらい(最近は直接書くことすくないけど)

コーディング規約、クセなどなどで自由やけど
>>309みたいなやつにはとりあえずシングルメインで使えって言いたい
0314nobodyさん2008/02/15(金) 20:57:14ID:???
問題がなければダブルだけどなぜか正規表現のときだけシングル
0315nobodyさん2008/02/15(金) 21:05:57ID:???
ZendFrameworkはこんな感じなんで初心者は参考に
http://framework.zend.com/manual/ja/coding-standard.coding-style.html#coding-standard.coding-style.strings
0316nobodyさん2008/02/15(金) 21:47:01ID:???
>>307
質問じゃないなら雑談スレ池
0317nobodyさん2008/02/15(金) 23:08:11ID:???
Web上で投稿、 それを任意のページにHTMLを生成するサンプルはございませんか?
0318nobodyさん2008/02/15(金) 23:09:38ID:???
>>317
宿題は自分でやりなさい
0319nobodyさん2008/02/15(金) 23:16:19ID:???
アップローダなどでファイルをダウンロードさせるときに
パスワード付きのファイルを直リンのURLでダウンロードできないようにしたいのですがどうすればいいのでしょうか
ネットで無料サンプル探していろいろためしてみたのですが
DLパスワード機能付きのやつでも直接ファイルのURLをいれれば普通にダウンロードできてしまうもんで・・・
0320nobodyさん2008/02/15(金) 23:19:38ID:???
ドキュメントルート外に置くとかDBに入れて読み出すとかあるいはバレないことを祈りつつファイル名を暗号化でもすればおk
0321nobodyさん2008/02/15(金) 23:20:04ID:???
.htaccess じゃダメなの?
03223172008/02/15(金) 23:20:46ID:???
任意のページってのが難しいです・・・
03233212008/02/15(金) 23:21:07ID:???
ごめん、バカだ、俺。
そんなことしたら、ダウンロードができなくなる。
スマソ。
0324nobodyさん2008/02/15(金) 23:21:59ID:???
PHPが読み出してやればDLできるんじゃないの?
まあそこまでいくと本末転倒だが
0325nobodyさん2008/02/15(金) 23:22:36ID:???
> ネットで無料サンプル探していろいろためしてみたのですが
> DLパスワード機能付きのやつでも直接ファイルのURLをいれれば普通にダウンロードできてしまうもんで・・・

そんなの作って公開しているやつのレベルは所詮その程度だなw

0326nobodyさん2008/02/15(金) 23:23:36ID:???
basic認証でもかけとくとか
0327nobodyさん2008/02/15(金) 23:25:14ID:???
>>317
てきとーにつくってやった
条件満たしてるかはしらんw

<?php
if (isset($_POST['hoge']) && $_POST['hoge'] != '') {
 $filename = uniqid();
 $data = '<html><head><title>'.$filename.'のページ</title></head><body>'.
            htmlspecialchars($_POST['hoge']).'</body></html>';
 $ret = file_put_contents($filename.'.html',$data);
if ($ret == false) {
  echo '作成失敗';
exit;
}
echo $filename.'.htmlというページを作成';
exit;
}
?>
<form method="post">
<input type="text" name="hoge">
</form>
0328nobodyさん2008/02/15(金) 23:25:26ID:???
あ、うpろだの保存フォルダにbasic認証は無いかw
phpからストリームで返してやるとかどう?
0329nobodyさん2008/02/15(金) 23:43:21ID:BJFOhqEp
ファイルを読み込んで、その中のタブをすべて削除しようと思い、
以下のようにしたのですが、削除されません。どこがおかしいのでしょうか?

$file = file_get_contents("test.html");
$file = str_replace("\t","","$file");
0330nobodyさん2008/02/15(金) 23:45:23ID:???
>>329
コード全てと元ファイルも見せて
0331nobodyさん2008/02/16(土) 00:39:28ID:???
PHPはじめた5年前くらい
何かと"$file"んな感じに意味なくクヲートしていたことがよくあった。

間違いじゃないけど、見ると恥ずかしい
0332nobodyさん2008/02/16(土) 01:18:58ID:???
まあクオート自体は問題箇所ではないし好みの問題もあろう。
>>329 もうちょい具体的に。特に読み込んだデータと変換後のデータの内容。
03333172008/02/16(土) 02:29:56ID:???
>>327 お返事が遅くなり申し訳ないです。
すばらしい物ができました。感謝です
0334nobodyさん2008/02/16(土) 02:36:00ID:???
>>331-332
クォートで括ったらそれは新しい文字列を生成するってことだ。
変数の内容を展開するオーバーヘッドも発生するし、
何よりそれは文字列リテラルになってしまう為に
参照渡しが必要な場合にはエラーになる。
間違いだし、好みの問題ではない。
0335nobodyさん2008/02/16(土) 02:42:21ID:???
>>334
おまえは目が見えないのか?
0336nobodyさん2008/02/16(土) 02:52:38ID:???
用語を多用すればいいってもんじゃないぞ。
0337nobodyさん2008/02/16(土) 03:51:29ID:???
4→5の移行を商売として行ってる会社があるみたいですが
それが成り立つほど、ゴロっと変わるものですか??

PHP4も、途中で大きく仕様が変わったみたいですが
今PHPで作っても、2〜3年で大規模な修正(=費用)が必要になる??
0338失礼しました。2008/02/16(土) 03:52:17ID:mhfR9vmN
4→5の移行を商売として行ってる会社があるみたいですが
それが成り立つほど、ゴロっと変わるものですか??

PHP4も、途中で大きく仕様が変わったみたいですが
今PHPで作っても、2〜3年で大規模な修正(=費用)が必要になる??

0339nobodyさん2008/02/16(土) 04:03:35ID:???
いやならないよ
0340nobodyさん2008/02/16(土) 04:09:50ID:???
こんばんわ^0^ PHPの仕組みは大体わかったんですが。
PHPってHTMLに埋め込めますよね?
埋め込んだ場合 通常 index.html なのを index.php にする必要がありますね。
それで index.phpにした奴のソースを覗いてみると、 PHPのスクリプトが消えています。
仕様でしょうか?
0341nobodyさん2008/02/16(土) 04:10:31ID:???
>>340
仕様ですよ
03423402008/02/16(土) 04:23:28ID:???
>>341 素早いレスありがとうございす。
またお世話になります
0343nobodyさん2008/02/16(土) 04:24:28ID:???
>>339
ありがとうございます。
PHP4がサポート終了&既にPHP6が開発中(さらに仕様が変わる)
というのを見まして不安になった次第です。

そういったものを見越す力のある開発会社を見極める必要があるのでしょうが
なかなか難しいです。

機能追加を除けば、最低、2〜3年程度は手を入れずにいたいのですが。。
0344nobodyさん2008/02/16(土) 04:36:02ID:???
サポート終了つったってまだphp3で稼働してるとこすらあるし、
あんまり気にしないでいいと思うけどな。
0345nobodyさん2008/02/16(土) 04:38:06ID:???
てか公式のサポートに何を期待してんだかw
0346nobodyさん2008/02/16(土) 04:39:49ID:???
予算が絡むことを2chの意見で決めるあたり
0347nobodyさん2008/02/16(土) 04:47:06ID:???
asp.netにでもしとけば?w
03483402008/02/16(土) 05:29:23ID:???
では、他人のソースを見るにはどうすればよいのでしょうか?
0349nobodyさん2008/02/16(土) 05:39:11ID:???
その人にメールでもしてお願いする
0350nobodyさん2008/02/16(土) 09:14:28ID:???
is_null() と empty() はどうやって使い分けてます?
0351nobodyさん2008/02/16(土) 09:57:27ID:???
nullと""の違いを勉強しやがれ
0352nobodyさん2008/02/16(土) 10:35:14ID:???
まあこの辺かな
http://php.webmeister-jp.com/archives/2005/08/null.php
■ このスレッドは過去ログ倉庫に格納されています