【PHP】質問スレッドpart31【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/11/27(日) 00:07:12ID:eBvjdczp【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。
過去スレ、関連リンク、FAQ等>>2-10辺り
0200nobodyさん
2005/12/04(日) 20:00:09ID:f2NWnh3L0201nobodyさん
2005/12/04(日) 20:11:12ID:???単なる改行コードという、言い換えればaやbと同じような記号が入ってるだけなんよ。
そういう一つの長い文字列から特定部分を取り除こうとしたら、どうしたらいいと思う?
そう、改行コードを最初から数えていって、狙った個数になったところでチョン切って、
またまた削除したい分の改行コードの個数を数えて行ってチョン切って、
それを繋ぎあわせるつー事になるわけよ。
まぁ、改行コードの部分で自動的にぶった切ってくれる関数を使ってもいいけどな。
0202nobodyさん
2005/12/04(日) 21:05:43ID:???お前www
思いっきり負け組みじゃんw
0203nobodyさん
2005/12/04(日) 21:10:45ID:???"5"行目まで残して、以下は削除、でいいんだな?
$path = "hoge.html";
$a = file($path);
$fp = fopen($path, "w");
foreach ($a as $line)
fprintf($fp, $line);
fclose($fp);
0204nobodyさん
2005/12/04(日) 21:12:38ID:???中途半端なまま送っちまった
$path = "hoge.html";
$a = array_slice(file($path), 0, 5);
$fp = fopen($path, "w");
foreach ($a as $line)
fprintf($fp, $line);
fclose($fp);
0206201
2005/12/04(日) 21:14:26ID:???行という捉え方をしてる時点でもう負け組なわけよ。
0207199
2005/12/04(日) 21:48:49ID:???ありがとうございます!できました!
5行目以前を取得する、んですね。
5行目以降を削除する事だけしか考えてなかったので、
自分では絶対無理でした^^ほんとにありがとうございます
>>201
substr_count($htmlfile, "<p>") <= 2){
みたいな感じで部分を指定して取得してやるんでしょうか?
そっちのやり方も勉強してみます。もの凄くヒントになりました。
ありがとうございました
0208nobodyさん
2005/12/04(日) 21:51:40ID:???0209nobodyさん
2005/12/04(日) 22:05:51ID:???0210nobodyさん
2005/12/04(日) 22:06:40ID:???そ
う
で
す
か
0211nobodyさん
2005/12/04(日) 22:08:04ID:???0212nobodyさん
2005/12/04(日) 23:10:09ID:???search.php?name=テスト
このようにURLに漢字が入るとブラウザによっては表示できませんよね?
getの時のようなURLにするにはどうすればいいのでしょうか?
0213nobodyさん
2005/12/04(日) 23:12:53ID:???0214nobodyさん
2005/12/05(月) 00:10:36ID:???>URLに漢字が入る
がオカシイ。まあ海外厨避けに生sjisで
ゴニョゴニョすることも無いわけではないが、
まともなやり方じゃないしね。
0215nobodyさん
2005/12/05(月) 00:15:50ID:???たとえば、 2005-12-15 -> December 15 とかに変更したいのです。
strtotime()で一旦タイムスタンプに戻して、date()でやっているのですが、他に方法あるでしょうか。
0216nobodyさん
2005/12/05(月) 01:02:07ID:???http://jp.php.net/manual/ja/function.urlencode.php
0217nobodyさん
2005/12/05(月) 01:40:51ID:???>
>このようにURLに漢字が入ると
>search.php?name=テスト
>
>このようにURLに漢字が入ると
>search.php?name=テスト
>
>このようにURLに漢字が入ると
>search.php?name=テスト
>
>このようにURLに漢字が入ると
>search.php?name=テスト
>
>このようにURLに漢字が入ると
>search.php?name=テスト
>
>このようにURLに漢字が入ると
0218nobodyさん
2005/12/05(月) 05:07:22ID:???0220nobodyさん
2005/12/05(月) 13:59:59ID:mqRTUQ8gurlencode()
0221nobodyさん
2005/12/05(月) 14:04:55ID:???GETの時のようなというよりGETそのものなんだな。
0222nobodyさん
2005/12/05(月) 17:33:48ID:???名称を知ってりゃ検索であっさり見つかるんだが・・・
FAQに加えないか?
0223nobodyさん
2005/12/05(月) 17:58:56ID:zZ7taK0k本来はPHPと関係ないから他でやってほしいけどね
0224nobodyさん
2005/12/05(月) 18:03:00ID:???0225nobodyさん
2005/12/05(月) 18:22:55ID:???GETやPOSTで日本語を送信するには、とか?
0226nobodyさん
2005/12/05(月) 20:28:59ID:???→ urlencode()
でいいんじゃないの?
0227nobodyさん
2005/12/05(月) 21:05:29ID:???→くだ質スレ
PHPのマニュアルを読んだことが無い
→くだ質スレ
リア厨・リア高だ
→くだ質スレ
ニートだ
→くだ質スレ
0231nobodyさん
2005/12/06(火) 15:22:41ID:???15ページほどのサイトで全てのページに
同じディレクトリをフラグとしてロックをかけたら、
アクセスが増えるとすぐに破綻しますか?
どのページでも同じファイルにアクセスしているので
こういう事をしなければならなくなってしまったのですが。
0232nobodyさん
2005/12/06(火) 16:22:55ID:???>1-5
>1-5
>1-5
>1-5
>1-5
>1-5
0234nobodyさん
2005/12/06(火) 16:58:36ID:???そうそう破綻しない。
いまのマシンはスペックが昔と段違いなので大丈夫。
心配しすぎです。
0236nobodyさん
2005/12/06(火) 17:02:41ID:???0237nobodyさん
2005/12/06(火) 17:20:18ID:???0238nobodyさん
2005/12/06(火) 18:28:29ID:???$numには数字が入ってるとして
$function = "f_$num";
$function($arg);
を1行で実行する事ってできませんか?
$functionの引数はいくつとるかわからないと仮定してます。
0239nobodyさん
2005/12/06(火) 18:29:11ID:???"f_$num"($arg);
はいけそうな気もしましたがパーサーエラーになりました。
0240nobodyさん
2005/12/06(火) 18:39:46ID:???0241nobodyさん
2005/12/06(火) 18:40:38ID:???0244nobodyさん
2005/12/06(火) 19:32:33ID:???0245nobodyさん
2005/12/07(水) 00:55:03ID:???returnとexit()以外に何かありますか?
0246nobodyさん
2005/12/07(水) 01:05:31ID:???質問の意図がよく分かんないけど、
想定していない場所で終了しちゃってその場所を特定したいしたいってことなら、
エラー処理や関数の返り値をチェックをきちんとしたり、デバッガーを通すとかしたほうがよいかと。
0247nobodyさん
2005/12/07(水) 01:13:43ID:???0248nobodyさん
2005/12/07(水) 01:14:27ID:sd3DaoFD0249nobodyさん
2005/12/07(水) 01:35:55ID:???どうすればいいんでしょうか。
0250nobodyさん
2005/12/07(水) 01:37:33ID:???xml宣言なら
<? echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>" ?>
とか
0251nobodyさん
2005/12/07(水) 01:44:25ID:???0252nobodyさん
2005/12/07(水) 02:32:31ID:pljJCe1f実体参照
0254nobodyさん
2005/12/07(水) 03:08:57ID:???if ($_SESSION['name'] == '') {
$_SESSION['name'] = 'hoge';
} else {
echo $_SESSION['name'];
}
のようなコードを書いて実行したところ、
PCからは上手くセッションが実行できましたが、
携帯からは実行できませんでした。
何がいけないんでしょうか。
0255nobodyさん
2005/12/07(水) 03:09:27ID:???0256nobodyさん
2005/12/07(水) 03:13:17ID:???0258nobodyさん
2005/12/07(水) 03:28:12ID:???セッションの説明のどこにありますか?
長すぎるのでヒントだけでも教えてください
0259nobodyさん
2005/12/07(水) 03:46:25ID:???0260254
2005/12/07(水) 05:25:40ID:???クッキーを使う方法とURLを使う方法があると書いてありました。
URLを使う方法はセッションIDをURLに埋め込んで渡すと書いてありました。
たぶん254のコードは、携帯がクッキーを扱えないことが
原因となっていたのだと考えました。
が、違うサーバで上のコードを実行したら
見事意図したとおりに動きました。
もちろんURLに埋め込みなんてしていません。
これはどういうことでしょうか。
0262nobodyさん
2005/12/07(水) 06:05:53ID:???0263262
2005/12/07(水) 06:11:42ID:???こんな時間に起きてるヤツいないべ、と思ってリロードしなかったワタクシめを土ブタと泥ガメと罵りくださいませ・・・
0266nobodyさん
2005/12/07(水) 11:09:11ID:???0268nobodyさん
2005/12/07(水) 11:37:22ID:???ex) hoge.php?page=2
$path = "hoge.txt";
$count = 5; // $_GET['count']
$offset = ($_GET['page'] - 1) * $count;
foreach (array_slice(file($path), $offset, $count) as $line)
echo $line;
0269nobodyさん
2005/12/07(水) 12:32:01ID:???ありがとうございました。
0272nobodyさん
2005/12/07(水) 13:28:18ID:???話はそれからだ
0273nobodyさん
2005/12/07(水) 13:33:12ID:???0274nobodyさん
2005/12/07(水) 13:42:04ID:???携帯用サイトで動画ファイルのダウンロード数を計上したいのですが、
どのタイミングで変数をインクリメントしたらよいのか分かりません。
現状では単に動画ファイルへのリンクを張っていて、ダウンロードはできるのですが
「ユーザがそのリンクを押したかどうか」を捕捉してなんらかの処理をさせるということができていません。
携帯用のサイトなのでjavascriptは使えません。
ファイルがダウンロードされたかどうか知るための方法といったものは用意されていないのでしょうか。
よろしくお願いします。
0275nobodyさん
2005/12/07(水) 13:47:36ID:???簡単な話がPHPでファイルの中身を出力したらいい。
download.php
<?php
// ここらへんでカウント
header("Content-type: 〜");
readfile($_GET["filename"]; // すげーテキトーだけどまあ雰囲気だけ
?>
で動画へのリンクはdownload.php?filename=hoge.mpgみたいな感じ。
0276nobodyさん
2005/12/07(水) 14:31:04ID:???auだと分割ダウンロードしようとするから、
rangeとかの処理を書いてやるか、
PEAR Downloadを使わないとだめよ。
0277nobodyさん
2005/12/07(水) 16:06:56ID:Umsh9cPc海外だと、ユーザ認証させてから閲覧・投稿等の権限レベル毎にページを生成するフォーラムサイトとか多いですよね。
ユーザにアカウントを申請させ〜仮発行メール送信〜そのメールに記載したURLをクリックして本登録〜認証〜投稿、
みたいにしてるのってよくあると思うのですが、あれと同程度のセキュリティを備えた物をSendmailが使えないレンタルサーバで実現させるには、どうやったらいいでしょうか。
既に作成されている掲示板に本機能を盛り込みたい為、phpBB等の改造以外の方法を探しています。
・phpのライブラリか何かでSendmail的にデータを送る事ができるものってありまでしょうか?(おそらく扱えるプロトコルが違う為普通はできないと思うのですが。)
・メールのやりとり以外で同程度のセキュリティを持つアカウント発行をする仕組みで、オーソドックスな方法というのはあるのでしょうか。
・仮発行メールの様な物は、何かハッシュ値を計算した物をユーザ側に送付していたと思うのですが、あの仕組みが分かる様なサンプルスクリプトや解説サイトなどありますでしょうか。
定番物をご存じの方、こうすればいいよ的なアイデアをお持ちの方、是非お教え頂ければと思います。よろしくお願いします。
0278nobodyさん
2005/12/07(水) 16:16:36ID:???仮発行メールはメールアドレスの正当性を確認するために行うのでメールアドレス登録しないなら必要ない。
ハッシュはuniqid()でも使えばいいんじゃない。
0279nobodyさん
2005/12/07(水) 16:43:41ID:???一人の人が何個もアカウントを取れない様、メールアカウント(無料メルアカは弾き)で登録させるのが良いのかなと思っていまして、
また、仮メールを送る方法であれば、なりすましを防げる為、できればメールやりとりで自動登録させたいと思います。
0281nobodyさん
2005/12/07(水) 17:28:25ID:OA204ccisendmail_from
で指定した値になってしまいますが、これを
自由に変更する方法ってないでしょうか?
0282nobodyさん
2005/12/07(水) 17:33:33ID:???sendmailが何をするもの(ソフト)か
もちっと基本的な事を勉強汁。
自分のやりたいことと方法は明確なようだから
こつこつとやれば大丈夫。
1.メールを送るだけならSMTPが話せりゃいいので
SMTPがどういうものかは理解したうえで、
pearのとかphpmailerとか好きなライブラリを使えば?
勉強用に作っても良いけど。
2.ない。
3.特に難しいものではない。
ユニーク性があって、他人に容易に類推できるものでなければ良い値なだけ。
連番や時間、発行先メールアドレス等はユニーク性はあるが、
容易に類推可能なので、それらを元に組み合わせたもののハッシュを取ってる。
0283nobodyさん
2005/12/07(水) 17:36:05ID:???釣りか?自由にsendmail_fromを変更すればいい。
ini_set('sendmail_from', 'hoge@example.com');
mb_send_mail(...
0284nobodyさん
2005/12/07(水) 17:36:15ID:???あったらその方法を教えてください。
0286nobodyさん
2005/12/07(水) 17:41:54ID:???入れておいて、新しく画像がアップロードされたらfread()で読んでDB内を検索、とか?
ファイルで持っておくと既存の画像のバイナリ全部読んでくのが大変そうな気がするんだけど、
どういう方法が一番効率的なんだろな?
0287nobodyさん
2005/12/07(水) 17:50:37ID:???その次には、それの実用性を上げるために
バイナリ→ハッシュ生成&保存→ハッシュ比較
とワンクッションいれるかね。
0288nobodyさん
2005/12/07(水) 17:52:28ID:???ハッシュが面倒だったらファイルサイズでもそこそこ弾けると思われ。
0289277
2005/12/07(水) 17:53:49ID:???3.は良いサンプルあると良いんですけどね。自分でやるとなると結構たいへんです。
ハッシュ値は可逆性ないものじゃないと危ないですよね。という事は、演算したハッシュ値は2〜3日限定で覚えておけばいいのかな。がんばってみるか…。
0292281
2005/12/07(水) 17:58:57ID:???sendmail_from
に
hoge@hige.hage
とか設定してみても
@の前の部分しかfromに記載されません。
後ろの部分は出ないものなんでしょうか?
0296nobodyさん
2005/12/07(水) 19:29:33ID:???日本語のファイルを添付して送信しても
化けないイケてる奴はどれ?
0297nobodyさん
2005/12/07(水) 20:59:35ID:???そのままコピペしてアップロードしても
ソース表示など出来ません。
過去ログには
[511 のレス1] Name:いきのむし Date:2005/01/08(Sat) 16:47
もしHTTP GET2号のソースをコピーしてそのまま使ってらっしゃるなら、ほぼ100%動かないでしょう。そういうプログラムになってますので。
29行目 if(!$site || !strstr($HTTP_HOST,"php.s3.to") || !ereg("^http://";,$site)){
と、ありました。しかしよくわかりません。
どうすればソースなど表示出来るでしょうか?
宜しくお願いします。
0298nobodyさん
2005/12/07(水) 21:05:41ID:???スレ違い
【 スクリプト改造依頼スレ 】(丸投げ) part4
http://pc8.2ch.net/test/read.cgi/php/1127916965/
■ このスレッドは過去ログ倉庫に格納されています