【PHP】下らねぇ質問はここに書き込みやがれ 29
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/09/17(日) 04:26:39ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0353351
2006/09/22(金) 23:17:56ID:aEgPknQ1なるほど、それなら自分の打ちやすい方でいいのですね。
fwriteが5byteでfputsが4byteなのですが、それの違いによる動作速度の差などは生じたりしますか?
0355nobodyさん
2006/09/22(金) 23:24:59ID:???0356nobodyさん
2006/09/22(金) 23:55:51ID:???0357nobodyさん
2006/09/22(金) 23:57:46ID:???0358nobodyさん
2006/09/23(土) 00:08:06ID:???たとえば、
http://www.livly.com/mypage.php?uid=1Q9u
から
http://www.livly.com/mypage.php?uid=3Q9u
のなかの
http://www.livly.com/item/musikui.swfが含まれているswfを表示するようなスクリプトです、
宜しくお願いします。
0360351
2006/09/23(土) 00:30:44ID:TznJyQfl遅くなりました。
ではなれてるfwriteを使っていこうと思います。 どうもありがとうございました。
0361nobodyさん
2006/09/23(土) 01:28:21ID:???まぁ>>270はかなり痛いということがわかった。
0362nobodyさん
2006/09/23(土) 02:07:09ID:oZb6fCvN$TEST = array("ASP", "Perl", "PHP", "SSL", "HDML");
$RESULT = array_splice($TEST,3,2,"Ruby");
print_r($RESULT);
このようにすれば
「ASP,Perl,PHP,Ruby」
のような結果が得られると思ったのですが・・・。
なぜかブラウザには
「SSL,HDML」
が出力されます。。。
これは単に私の勘違いなのでしょうか?><;
どなたか解説の方お願いします。
0364nobodyさん
2006/09/23(土) 02:46:16ID:???「ASP,Perl,PHP,Ruby」になったのは変数$TEST。
$RESULT = array_splice($TEST,3,2,"Ruby");
じゃなくて
$DELETE_VALUE = array_splice($TEST,3,2,"Ruby");
って書けば意味分かる?
array_spliceはarray_pushやarray_shiftとかと同じで第一引数を直接編集するもの。
0365363
2006/09/23(土) 02:51:38ID:???マニュアルには
http://jp.php.net/manual/ja/function.array-splice.php
削除された要素で構成される配列が返されます。
とある
例 1. array_splice() の例
を見ても戻りを使ってないっしょ
0366nobodyさん
2006/09/23(土) 05:45:46ID:???Shift_JISで書き込まれるようなのですが、
UTF-8で書き込みしたいです。
文字コード指定などはどのようにやればできるのでしょうか?
0367nobodyさん
2006/09/23(土) 05:55:42ID:???0369えがみボンバイエイ
2006/09/23(土) 08:53:04ID:???メールフォームを作っているのですが、
色んなサンプルソースを使ってやっているのですが
どうしても自分のgmailで受信すると全部文字化けをしてしまいます。
色んなソースを使っているので、
ソースのせいではないのかなと思うのですが。。
宜しくお願いします。
0371えがみボンバイエイ
2006/09/23(土) 09:30:30ID:???そうですね。すみませんでした。
mail.phpが
<form action="http://ega.chu.jp/dai/sendmail.php" method="post">
<input type="hidden" name="_email" value="[email protected]" />
<input type="hidden" name="_subject" value="お問い合わせだお" />
<input type="hidden" name="_result"
value="<?php print($_SERVER['PHP_SELF']); ?>" />
<table width="90%" border="0" align="center" cellpadding="5" cellspacing="5">
<tr>
<td width="34%"><div align="center">お名前</div></td>
<td width="66%"> <div align="center">
<input name="name" type="text" size="40">
</div></td>
でもろもろ・・・。
sendmail.phpが
<?php
$header_info="From: ".$_POST['_from']."\nContent-Type: text/plain;charset=ISO-2022-JP\nX-Mailer: PHP/".phpversion();
$body="■■".$_POST['_subject']."■■\n\n";
foreach($_POST as $key=>$value){
if(!strstr($key,"_")){
$body.="[".$key."]".$value."\r\n";
}
}
mb_send_mail($_POST['_email'],$_POST['_subject'],$body,$header_info);
header("Location: ".$_POST['_result']);
?>
って感じなのですが、メールは届くのですがどうしても文字化けで受信してしまいます。
0372nobodyさん
2006/09/23(土) 09:51:53ID:???別名、PHP×2ってくらいで、ダメダメなの?
使っている人は居ますか?
0373nobodyさん
2006/09/23(土) 11:02:25ID:???敵意を抱いたり、攻撃したりする
連中が多いって本当?
0375nobodyさん
2006/09/23(土) 11:33:21ID:???php.iniで適切なmbstring.languageが設定されてないんじゃないの?
sendmail.phpで
mb_language("Japanese");
って1行入れてみたらどうだろ。
可能であれば、受信メールの生データをエディタで開いてみて
ヘッダ部分の文字コード指定が何になっているかと、
実際の本文の文字コードが何になっているかを
調べた方がいいと思うけど。調べられるなら。
0376えがみボンバイエイ
2006/09/23(土) 12:17:29ID:???なるほど!
有難う御座います。
やってみます!
0377えがみボンバイエイ
2006/09/23(土) 12:28:55ID:???おっ、内容は表示されたのですがメール文が
名前に名前、フリガナにフリガナ、会社名に会社名と
入れれるとこういったメールがきます。
最初の??,?笋す腓錣擦世??と?mname?nなどは
どうしたらいいのでしょうか。。。
宜しければお願いします。
??,?笋す腓錣擦世??
?mname?n名前
?mhurigana?nフリガナ
?mkaisyamei?n会社名
0378nobodyさん
2006/09/23(土) 12:33:30ID:???「敵」
と勝手にみなした相手に
法律無視でサーバーにアタック
しかけたりとか、そういう連中が多いの?
0379nobodyさん
2006/09/23(土) 12:51:13ID:???(1)「自分よりもコーディングスキルが低い(=低能)」
でなおかつ
(2)「それにも関わらず自分よりも高額の報酬を得ている」
と勝手にみなした相手に対して心の底から敵意と憎しみの
感情が湧いてきて、法律無視で勝手にサーバーに
アタックを仕掛けたりとか、そういう連中が多いの?
0381nobodyさん
2006/09/23(土) 13:10:26ID:???凄い勘で書くけど、ISO-2022-JPっぽくない文字化けのような気がする。
どっかがUTF-8とかになってたりして色々混ざってるんでは?
文字コードのこととか、ちゃんと把握してるんでしょうか。
送られたメールの生の文面の見方とかわかりますか?
Gmailだったら、メール開いて詳細オプションを選んで、
出てきたメニューから「ヘッダー情報を表示」
自分で、(Outlookとかを使って) 手で、「正しいメール」を書いて
Gmailに送って、それとPHPが出したメールを比較してみたらどうです?
0382nobodyさん
2006/09/23(土) 13:36:22ID:???> 自分で、(Outlookとかを使って) 手で、「正しいメール」を書いて
Outlook は、正しいメールを出さないから止めた方がいいよ。
Message-Id と BASE6Bエンコードの方法に間違いがあるし、添付ファイルのファイル名のエンコードにも間違いがある。
そのため、RFC準拠の正しいMUAとやりとりすると問題が生じる。
0383382
2006/09/23(土) 13:38:59ID:???最近、OEとの互換性よりもRFC準拠を重視して、Thunderbird トップページで理由を表示した上で、
Outlook で表示できない RFC準拠の正しいファイル名エンコードをするようにした。
http://www.mozilla-japan.org/products/thunderbird/
シェアNo.1 のクライアントを犠牲にしてでも、RFC準拠の正しいエンコードを行う、この精神は大変素晴らしいものだと思う。
0384nobodyさん
2006/09/23(土) 13:54:10ID:???(1)「自分よりもコーディングスキルが低い(=低能)」
でなおかつ
(2)「それにも関わらず自分よりも高額の報酬を得ている」
と勝手にみなした相手に対して心の底から怒りと敵意と憎しみの
感情が湧いてきて、法律無視で勝手にサーバーに
アタックを仕掛けたりとか、そういう連中が多いの?
0385nobodyさん
2006/09/23(土) 14:40:02ID:???LXXXI. その他の関数(Misc) - highlight_string()
こんなのまで用意してあるのか
0386nobodyさん
2006/09/23(土) 15:33:44ID:???(1)「自分よりもコーディングスキルが低い(=低能)」
でなおかつ
(2)「それにも関わらず自分よりも高額の報酬を得ている」
と勝手にみなした相手に対して心の底から怒りと敵意と憎しみの
感情が湧いてきて、法律無視で勝手にサーバーに
アタックを仕掛けたりとか、そういう連中が多いの?
0387nobodyさん
2006/09/23(土) 16:01:47ID:???0388366
2006/09/23(土) 16:57:09ID:???レス遅れてすみません。
大変参考になりました。
ちゃんとUTF-8になりました。
どうもありがとうございました。
0389nobodyさん
2006/09/23(土) 17:20:39ID:pwav1FM0できるならどうやるか説明してあるサイトなどを教えてください。
ググってみたけどキーワードがイマイチ分からなくてうまく探せません。
0391nobodyさん
2006/09/23(土) 17:37:49ID:iHfFDUzp0392nobodyさん
2006/09/23(土) 17:41:08ID:???JavaScriptのソースそのものをPHPが生成できるから、
データを引数に埋め込んだJavaScriptソースを作って
表示してしまえばOK
0393nobodyさん
2006/09/23(土) 17:43:38ID:pwav1FM0おー!なるほど!
頭固かったです。
助言ありがとうございます
0395nobodyさん
2006/09/23(土) 20:39:42ID:???みなした相手が、自分よりも高額の報酬を
受け取ってるって感じると、心の底から激しい
敵意と憎しみと怒りの感情が湧き上がってきて
対象のサーバーを法律無視で勝手にアタックしたり
とかしてるの?
0397nobodyさん
2006/09/23(土) 21:12:36ID:+xHt5Ti5別のPHPファイルでその中身を参照し多次元配列の中身を
すべて取り出し、元あった配列と同じように格納したいのですが
どのような方法があるでしょうか?
要素数は数字ではなくこちらが任意に割り当てた文字列です
ご教示ください。よろしくお願いいたします。
0398nobodyさん
2006/09/23(土) 21:19:11ID:???1:多次元配列の中身をファイルに書き込む
2:ファイルを読み込む
3:読み込んだファイル内容を多次元配列に書き込む
これで良いんじゃないか!?
0402nobodyさん
2006/09/23(土) 22:18:05ID:3bqiWr3Uセキュリティー対策でたとえば何があるでしょうか?
xxs対策でhtmlspecialcharsで無害化(『'』も含める)以外に
なにかありましたらどうか私にご教授お願いいたします。
0407nobodyさん
2006/09/23(土) 22:47:34ID:???var_export($val, true) か serialize($val) で得られる文字列なら元に戻せる。
0408nobodyさん
2006/09/23(土) 23:54:52ID:9euC2hhU---------------------------------------
class Parent
{
var $array = array(1, 2, 3);
}
---------------------------------------
A: 同一値でvarが上書きされた場合
---------------------------------------
class A extends Parent
{
var $array = array(1, 2, 3);
}
---------------------------------------
B: var指定無しの場合
---------------------------------------
class B extends Parent { }
---------------------------------------
AとB共に$this->arrayはarray(1,2,3)なんだけど
$this->arrayが、Aのように同一値の上書きなのか
Bのようにサブクラスで上書き指定がないから継承されてるのか
どちらなのかをサブクラス内から判断する方法ってある?
get_object_vars/get_class_varsでも継承後の値になっちまう
0409nobodyさん
2006/09/24(日) 00:12:19ID:???0410nobodyさん
2006/09/24(日) 02:26:26ID:???0411nobodyさん
2006/09/24(日) 02:55:23ID:???xxsじゃなくてxssね。しかもその意味もよく理解していないようだな。
XSSってのはHTML表示の時に問題になるのであって、データベース関連には関係ない。
データベースへの入力にはそれ専用のエスケープ関数があるから調べて使え。
>>404
このド素人に現段階でCSRFなんて言っても無用な混乱を招くだけの気がする。
0412nobodyさん
2006/09/24(日) 03:28:53ID:????????????、???????]?????、???
0414nobodyさん
2006/09/24(日) 08:03:54ID:???表示時にhtmlspecialchars
0416nobodyさん
2006/09/24(日) 09:30:18ID:???データベースにデータを挿入する祭にhtmlspecialchars( )で処理すると、text/htmlなどのフォーマット意外
(例えば電子メール)で利用する際に使えなくなるから、再利用性が無いし効率が悪い。
だったらHTML文書でブラウザに出力する際にhtmlspecialchars( )で処理すればいい。
0417nobodyさん
2006/09/24(日) 09:54:53ID:???0418nobodyさん
2006/09/24(日) 09:58:19ID:???0419nobodyさん
2006/09/24(日) 10:02:50ID:hqJ9+PnBひろみちゅ先生は、表示時ではなくDB挿入時にhtmlspecialcharsすることをすすめているのか?
0420nobodyさん
2006/09/24(日) 10:17:26ID:???登録ボタン押す前に、他のリンクボタンを押されたら、一時フォルダに画像が残る。
どうすれば、良いのですか?
0421nobodyさん
2006/09/24(日) 10:24:47ID:???そのワークの保存が必要な処理なら、定期的に古いファイルを掃除する
スクリプトの実行がベターじゃないかな。
掃除スクリプトはcronバッチでもアップロード処理の頭でもどっちでもいいけど。
0422nobodyさん
2006/09/24(日) 10:31:03ID:???一般に表示は更新に比べて使用頻度の高い処理なので、
高パフォーマンスを必要とする大規模サイトではあらかじめ変換しとくよね。
再利用性を意識するなら元データと変換済みデータの2種類保存。
パフォーマンスに特にこだわらないんであれば元のまま置いといた方が便利なこともある。
DB格納ではなく静的HTMLを生成しちゃう場合もあるけどそれはシステムに応じてTPO。
>>418
>>416みたいにメール配信に使う場合とか、検索処理で使いたいとか(実体参照変換
されてると精度または速度に難が出る)、あと表示データの再編集機能とか付けることもあるかな?
0423nobodyさん
2006/09/24(日) 11:15:24ID:???date関数では現在の日付しか返してくれません。
何かよい関数はありませんか?
0425nobodyさん
2006/09/24(日) 11:24:59ID:???ファイルをアップ→確認ページ→登録。という流れで、確認ページでファイルの適正を
調べて、エラーがあれば削除、無ければ一時保存してます。
んで、そのファイルを登録ページでDBに登録してるのですが。
cronはちょっと、解らないっぽいす。。
こうゆう場合、どんな風にすればいいんですかね!?
所定のボタン以外が押されたら、削除してリンク先に飛ぶことってできます?
0426nobodyさん
2006/09/24(日) 11:31:43ID:???とりあえず、システムの /tmp に一時保存しておけば?
あれって定期的に自動で削除されるんだっけ。
それから上手に設計することも大切。
というか、ファイルの適正を調べるって具体的に何がしたいの?
0427nobodyさん
2006/09/24(日) 11:38:14ID:???そういう場合、手っ取り早いのはアップロードの開始または受信ページの処理で
古いゴミファイルが残ってないか探して掃除する処理を追加でいれとく方法。
所定のボタン以外クリック〜は結構ムリがあるので諦めた方が吉。
>>426
サーバー再起動が入らなきゃ消えないと思うけど >/tmp
アップロードで途中に確認処理を入れたいくらいはごく普通の話じゃない?
0428nobodyさん
2006/09/24(日) 11:46:43ID:???{
link( $filename );
exit;
}
0430nobodyさん
2006/09/24(日) 12:29:28ID:OMjQUi71たとえば、http://example.com/movie/01.aviみたいなの
0431nobodyさん
2006/09/24(日) 12:39:38ID:???{
$size = strlen(file_get_contents($url));
return $size;
}
0432nobodyさん
2006/09/24(日) 12:49:40ID:???おー、どうもありがとうございます。
でも、このばあいファイルがない時すごい時間がかかっちゃうんですけど
タイムアウトの設定とかできないんでしょうか?
0433nobodyさん
2006/09/24(日) 13:00:07ID:???確認ページって別ページに遷移するのか?
そうなら>>426のtmpfileは使えない(fcloseで消える)
0434nobodyさん
2006/09/24(日) 13:01:15ID:???filesize('http://example.com/movie/01.avi')で通らないか?
通らないならどっかに設定があった気がする
0436nobodyさん
2006/09/24(日) 13:11:44ID:???filesize('http://example.com/movie/01.avi')は通らなかったです
レン鯖なのでphp.iniも弄れないです
0438nobodyさん
2006/09/24(日) 13:29:00ID:???「自分よりも低スキル(=低能)」
とみなした相手が
「自分よりも高額の報酬を受け取っている」
と知ったとき、どういう感情を抱くの?
0439nobodyさん
2006/09/24(日) 13:41:55ID:???それだったらfile_get_contentsもダメのような・・
$fp = fopen($url, 'r');
$stat = fstat($fp);
echo $stat['size'];
とかどうなんだろ
0440nobodyさん
2006/09/24(日) 13:49:40ID:OMjQUi71助言ありがとうございました
0442nobodyさん
2006/09/24(日) 14:00:56ID:???マニュアル嫁
0443nobodyさん
2006/09/24(日) 14:03:59ID:DZtBW6OC0444nobodyさん
2006/09/24(日) 14:36:22ID:uiOmiLkx色々と機能をつけたし、ユーザー関数を雨後のたけのこのように作ってきたのですが、
そうするとあたり前のように似たような関数が作られ、使いがっての悪い関数は使われなくなりソースの片隅に放置されてしまいます。
このように定義はされているが、一度も呼び出される可能性のない関数を調べることは出来るのでしょうか?
もしそのような便利な方法などがあればご教授ください。
よろしくお願いします。
0445nobodyさん
2006/09/24(日) 15:41:05ID:???むつかしいな。
grepで頑張るか。
parsekitである程度調べられないかな?(php5で動くっけ?)
定義されてる関数の列挙くらいはできるので、そのリスト+適当にスクリプト書く+grepでやるとか。
つーか、正規表現でゴリゴリ書いてもけっこうすぐできそうだな。
/\bfunction\s(\S+)\s*\(/
で定義を抽出。それぞれの関数名に対して
/(?<!\bfunction\s)\b$func_name\s*\(/
の出現回数を数える。
あ、<?php ?>の外側と文字列とコメントを除かないとマズイか。
それじゃ簡単な字句解析ルーチン作って・・・・・・たぶん俺はこの辺で寝ると思う。
0446nobodyさん
2006/09/24(日) 15:47:32ID:???foreach(range(1,7) AS $passday){
echo date("Y-m-d",strtotime("-{$passday} day"));
}
0447nobodyさん
2006/09/24(日) 16:11:45ID:???技術的な能力が低くても、技術を換金する能力が高いことも
経済社会においては高報酬につながるとあらためて思うだけ。
0449nobodyさん
2006/09/24(日) 17:03:51ID:???この記述をなくすと、正常に次のページで表示される。
ずっと悩んでます。どうか教えてください。
ちなみに両ページともEUCです。
0450nobodyさん
2006/09/24(日) 18:08:06ID:hqJ9+PnB<!-- 美乳 -->
と書いてください。そうすると文字化けがなおります。
詳しくは、Googleで「文字化け 美乳」をキーワードにして検索して自分で調べてみてください
■ このスレッドは過去ログ倉庫に格納されています