トップページ⇒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カテゴリ)の各スレで
0232nobodyさん2008/02/14(木) 01:18:58ID:???
>>231
スレ違いしつこい
0233nobodyさん2008/02/14(木) 02:06:46ID:???
>>212
自分でアクセスしたときはそうならないならPHPの問題ではないのでは?
特定のユーザというならUser Agentでも調べてみればいい。
スレチガイっぽいのでもう諦めてログなりアクセス解析なりで頑張ってくれ。
0234nobodyさん2008/02/14(木) 02:17:29ID:???
>>231
答えようがないと言ってるだろうに。
HTMLでサイト作ったんですがなんかエラーでますってレベルの質問だぞそれ。
0235nobodyさん2008/02/14(木) 02:34:26ID:fWt27fIe
SQLで複数のレコードをinsertするときに
values以下をつなげて全ての行を同時にinsertする書き方がありますが
PDO(MySQLです)のプリペアードステートメントはどれだけSQL文が長くても問題ないんでしょうか?
0236nobodyさん2008/02/14(木) 03:11:36ID:???
どれだけ長くてもって…、そら限界あるだろw
0237nobodyさん2008/02/14(木) 03:46:35ID:???
javascriptしか使えないブログのページ情報を
PHPを置いてるサーバーにsrcで読み込んで、そのページの情報を取得して対応の
データをサーバーから返したいのですがどういった関数やライブラリを利用すればいいでしょうか?
0238nobodyさん2008/02/14(木) 03:47:53ID:???
>>8
0239nobodyさん2008/02/14(木) 04:10:37ID:???
順番がよくわかんないんだけどサーバから返って来るデータを
javascriptしか使えないブログで表示したいってこと?
GETかPOSTか何かでトリガー作ってやって
それをサーバで受けてスクレイピングして結果をjsonか何かで返してやればいいんじゃねえの?
0240nobodyさん2008/02/14(木) 07:08:49ID:???
>>8
0241nobodyさん2008/02/14(木) 07:33:04ID:1Zo3u+Bq
mb_send_mailを使ってるんですが失敗します
サーバにsendmailとか入ってないんですが
メール送信にMTAは必須ですか?
0242nobodyさん2008/02/14(木) 08:29:36ID:1Zo3u+Bq
postfixインストールしたら受付だけはするようになりましたが
プロバイダのアウトバウンドポート25ブロッキングで送信不可でしたorz
メールを使うテスト環境ってみなさんどうやってますか?
今ほとんどのプロバイダがOP25Bやってますよね?
0243nobodyさん2008/02/14(木) 09:03:24ID:???
>>242
プロバイダのSMTPサーバを経由させる。
0244nobodyさん2008/02/14(木) 09:35:01ID:???
op25b対策としてポートを変える。
または外部のsmtpサーバをアプリケーションレベルで指定する。
0245nobodyさん2008/02/14(木) 10:35:57ID:???
PHPとMySQLってお似合いだよな
PHPも型の指定必要ないし、MySQLもbool型を自動的にINT型に変えてくれるんだぜ?
PGSQLでやろうと思ったら独自で関数作成しなきゃいけないのにな
まぁ、それだから使いやすいんだけどあまりそういうのに頼るのはよくないな
0246nobodyさん2008/02/14(木) 10:52:31ID:???
自分語りウゼェ
0247nobodyさん2008/02/14(木) 11:22:02ID:???
>>235
ここは、phpのスレだからMYSQLのこと聞いても>>236のような何の価値もないレスしかかえってこない。
MYSQLなら「max allowed packet」がSQLの最大長だよ。

しかし、このスレに期待して2日も待ったのに、>>232-234って、全く何も役に立たなかった。
0248nobodyさん2008/02/14(木) 11:47:30ID:???
二日も待つならその時間で調べた方がよほど有益だろうに…
0249nobodyさん2008/02/14(木) 11:59:58ID:???
247が>>100のことを言ってるなら自分のせい。
アクセスログって何?どういうどういう内容のログ?
PHPのサイトって何?PHPでどういう内容でどういうコードを走らせてるんだ?
自分の説明不足でスルーされてるのに気づいてくれ。
0250nobodyさん2008/02/14(木) 12:13:47ID:???
>>100
>どこ当たりがおかしいと思われますでしょうか?
プログラムは書かれたとおりにしか動かないので
自分で作ったならお前自身がおかしい
フリーなものなら設置の仕方がおかしいかそういう仕様

これでいいか?
0251nobodyさん2008/02/14(木) 12:15:33ID:kPTFt31F
テキストの中に
!"#$%&'()-=^~\|,./\;:@[]<>?_+*`{}
が含まれていたら弾きたいのですが、


エスケープがめんどくさいです・・・。


質問じゃないね、ごめん。
0252nobodyさん2008/02/14(木) 12:38:04ID:???
正規表現ではじけば面倒じゃないだろ
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"んな感じに意味なくクヲートしていたことがよくあった。

間違いじゃないけど、見ると恥ずかしい
■ このスレッドは過去ログ倉庫に格納されています