【PHP】くだらねぇ質問はここに書き込みやがれpart9
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/09/03(土) 11:53:32ID:7OO4C5e5ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
0577nobodyさん
2005/09/14(水) 11:39:45ID:???0578nobodyさん
2005/09/14(水) 11:49:13ID:???0579nobodyさん
2005/09/14(水) 11:52:01ID:???実は、DBに登録されているもののうち、リンクがあったら、その部分だけ削除したいのです。
$p_string = str_replace ("<a href=\"*\">", "", $p_string);
みたいな事をしたいのですが。
よろしくお願いします。
0580nobodyさん
2005/09/14(水) 11:52:24ID:???httpd.confに文を追加する時に
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so
#
# ExtendedStatus controls whether Apache will generate "full" status
最初こうなっているのですが、
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so
LoadModule php4_module c:/php/sapi/php4apache2.dll
#
# ExtendedStatus controls whether Apache will generate "full" status
このように付け足すのですか?
それとも
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so
#LoadModule php4_module c:/php/sapi/php4apache2.dll
# ExtendedStatus controls whether Apache will generate "full" status
このように付け足すのでしょうか??
0582579
2005/09/14(水) 11:58:23ID:???やはり正規表現でひとつひとつ可能性(英字、数字、時には2バイト文字)をつぶすしかないのですね。
一括で全て対象にできれば便利だと思いましたので。
ありがとうございました。
0585nobodyさん
2005/09/14(水) 12:16:51ID:???使い始めたところです。php5での参考資料が見つからなくて。
>>576
他に似たようなことをするライブラリがあるということですか?
教えていただけませんか?
0586579
2005/09/14(水) 12:18:48ID:???strip_tagsなんていう関数があるんですね。
教えていただきありがとうございます。
ただ、今回はリンクだけなので、正規表現を使わせていただきたいと思います。
0587nobodyさん
2005/09/14(水) 12:38:09ID:???#から始まる行はコメント文として無視されますので
有効にしたい行は先頭の#を削除
無効にしたい行は先頭に#を挿入
0590nobodyさん
2005/09/14(水) 14:01:12ID:???0591nobodyさん
2005/09/14(水) 14:03:51ID:???phplibのセッション管理に興味があったんですが、PDOだとできませんよね?
で、ADOdbってのを見つけたんですが、これってどうですか?
0593579
2005/09/14(水) 14:53:49ID:???とすることで、期待通りの動作をしてくれました。
どうやら私の努力不足だったようです。
ご迷惑をおかけしました。
0594nobodyさん
2005/09/14(水) 14:56:50ID:???上のプログラムを使って画像の貼り付けのプログラムを作成したのですが
画像が下のリンク先のようにおかしくなってしまいました。
(貼付前)・・・http://land.issaigassai.com/cgi/upload/source3/No_0101.jpg (12,874 バイト)
(貼付後)・・・http://land.issaigassai.com/cgi/upload/source3/No_0102.jpg (20,874 バイト)
このように貼り付けた画像がおかしく表示されるのはどういう原因で発生するものなのでしょうか。
なお、貼り付けた環境は以下の通りです。
OS:Red Hat Linux release 8.0 (Psyche)
httpd-2.0.40-11.9
PHP:4.3.2
0595nobodyさん
2005/09/14(水) 15:00:38ID:???phplibやADOdbでは、セッションに保存される情報がDBに格納できるみたいで、それを使ってみようをしているところです。
http://phplens.com/lens/adodb/docs-session.htm
標準だとサーバ上のファイルに保存されるんですよね?
0596594
2005/09/14(水) 15:03:15ID:???以下が使用したプログラムです。
〜〜index.html〜〜
<HTML><BODY bgcolor="#FFFFFF">
<DIV align="center">
<FORM enctype="multipart/form-data" name="pl_info" action="./form.php" method="post">
<INPUT TYPE="hidden" NAME="_template_confirm" VALUE="./form.php">
<table>
<tr><td>画像選択</td>
<td><input type="file" id="upfile" name="upfile"></td>
</tr></table>
<TABLE width="500">
<TR><TD width="250" bgcolor="#FFFFFF" align="CENTER">
<INPUT type="submit" name="SUBMITBUTTON" value="確認画面へ" onClick="NEXT()">
<INPUT type="hidden" name="page" value=""></TD>
</TR></TABLE></FORM>
</DIV></BODY></HTML>
〜〜form.php〜〜
http://land.issaigassai.com/cgi/upload/source3/No_0105.txt
0599nobodyさん
2005/09/14(水) 15:24:23ID:???0600nobodyさん
2005/09/14(水) 15:26:35ID:???0601nobodyさん
2005/09/14(水) 15:27:15ID:xwUqvGFVincludeいじったりしてますがいまいちよくわかりません...
簡単な方法ってあるんでしょうか。よろしくお願いいたします...
0603nobodyさん
2005/09/14(水) 15:46:02ID:???中学生以上ならわかると思ったんだが
れっどはっと8.0のhttpdのひょうじゅんのせっていでは
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 524288
</Files>
となっています。
これはれっどはっとのしっぱいではないでしょうか
わたしはうえのぎょうを
AddType application/x-httpd-php .php
にかきかえました
そしてちゃんとうごくようになりました。
0605nobodyさん
2005/09/14(水) 16:14:26ID:???うえのぎょうってどこにあるんですか?
httpd.confを探しても<Files *.php> は見つからないんですけど・・・
もしかして違う場所を見ているとか・・・
0607nobodyさん
2005/09/14(水) 16:53:12ID:???>>530に書いてある
while (!feof($fp)){
の「!」って何の意味?ヒント教えてください。
0610nobodyさん
2005/09/14(水) 17:03:11ID:???feof($fp) は、ファイルポインタが終端に来た時にTRUEを返す。
(ファイルポインタはfgetsを使う事で終端に向けて進む)
なので、終端に来た時に feof($fp)はTRUE、!feof($fp)はFALSEになり、whileループが終了する。
0611nobodyさん
2005/09/14(水) 17:13:48ID:???なるほどね、tureとfalseで頭がごっちゃになりそうだ。
ありがとう。いつか答えられるようになるまで頑張る。
0612nobodyさん
2005/09/14(水) 17:54:12ID:???場所は分かりました。
でも
LoadModule php4_module modules/libphp4.so
を
AddType application/x-httpd-php .php
に変えても状況は変わりません・・・
うえのぎょうと言われましてもどの部分を変更すればよいのかさっぱり分かりません・・・
0613nobodyさん
2005/09/14(水) 18:12:52ID:???今度はApacheを再起動したらエラーが出てしまったのですが何故でしょうか??
0614nobodyさん
2005/09/14(水) 18:15:58ID:???>>612の変更は論外
該当箇所がないんなら、httpd.confの最後に
AddType application/x-httpd-php .php
入れてやってみれば?
0615nobodyさん
2005/09/14(水) 18:42:59ID:???.htaccessすら触ったことないの?
あと、今までの書き込み内容からしてPHPとHTMLの区別すら分かってねーだろ?
HTMLの基礎から勉強してきな
0616nobodyさん
2005/09/14(水) 19:14:43ID:wrvJu8ADFatal error: Call to undefined function: php_error() in /usr/share/pear/DB/DataObject.php on line 405
ぐぐってもでてこん。php_error
なんかincludeするとかいう問題か??
0617nobodyさん
2005/09/14(水) 19:18:09ID:m0wxPPXH大文字が混ざっていると遷移しても破棄されないんです。
0618617
2005/09/14(水) 19:31:19ID:???大文字だけじゃないと残りません。
0619nobodyさん
2005/09/14(水) 19:31:39ID:???解決しない・・・と思ったらconfファイルは変更した後で再起動をかけないと
変更が反映されないということを知りませんでした・・・
一旦サーバーを再起動させてもう一度確かめてみます。
0620nobodyさん
2005/09/14(水) 19:43:10ID:???0621617
2005/09/14(水) 19:56:30ID:???Firefoxやネスケではちゃんと保存されています。
セッション変数ってブラウザによって挙動が違うんですか?
0622nobodyさん
2005/09/14(水) 19:59:51ID:???既に出力した文を扱うにはどうすればいいですか。
0627nobodyさん
2005/09/14(水) 22:36:01ID:???データを抜き出し、下のソースでその結果を表示しているのですが、
1ページの表示を100件くらいにして、「次のページ」という機能を付けたいのです。
どのようにすれば良いのか、教えていただけないでしょうか。よろしくお願いいたします。
<?php
$fp = fopen("hoge.csv",'r');
flock($fp, LOCK_EX);
while(!feof($fp)){
$data_line = explode(",",chop(fgets($fp, 1024)));
$data_all[] = $data_line;
}
$datatop=$data_all[0];
array_shift($data_all);
flock($fp, LOCK_UN);
fclose($fp);
foreach($datatop as $title){
print "$title";
}
print "<br>";
while(list($index,$data)=each($data_all)){
print "$data[0]";
print "$data[1]";
print "$data[2]";
print "$data[3]";
print "$data[4]";
print "$data[5]";
print "$data[6]<br>";
}
?>
0628nobodyさん
2005/09/14(水) 22:44:54ID:???return (preg_replace ("$bbb" , "$ccc", $aaa);
}
これにもう一つpreg_replaceを追加する場合は
もう一つfunctionを作るの?
0629nobodyさん
2005/09/14(水) 22:54:06ID:???while(!feof($fp)){
$data_line = explode(",",chop(fgets($fp, 1024)));
$data_all[] = $data_line;
}
この部分を以下の方針で見直す。
1.開始行を$_GETか何かで受け取ることを決めておく
2.開始行まで空読み
3.開始行に達したら100行程度読み出して$data_all[]に入れておく
4.ついでにこの先のデータがあるかチェックしておくと吉
0630nobodyさん
2005/09/14(水) 23:05:45ID:???勘で答えてみるけど
function aaa($aaa) {
$aaa = preg_replace("$eee", "$fff", $aaa);
return preg_replace ("$bbb" , "$ccc", $aaa);
}
とでも書けばいいんでないの?
0631nobodyさん
2005/09/14(水) 23:14:49ID:???EUCに城
0632627
2005/09/14(水) 23:23:08ID:???レスありがとうございます。
私にはその方法はかなり敷居が高いです。
つーかわかりません...orz
while(list($index,$data)=each($data_all)){
$indexはまったくの未使用です。
これを使って上手く処理できれば良いのですが…
(print_rで見ると、0から綺麗に連番で並んでいます)
0633nobodyさん
2005/09/14(水) 23:59:54ID:???$indexを使いたいということなら
最初の方で
$page = 2; //表示開始ページ
$start = $page*100;
とでも設定しておいて、
while(list($index,$data)=each($data_all)){
if ($index >= $start && $index < $start+100){
print"$data[0]";
・・・(略)
}
}
みたいにしても動くとは思うけど。
きついコーディングだな('A`)
せめてこうか
for ($i=$start; $i<$start+100; $i++){
$data = $data_all[$i];
print "data[0]";
・・・(略)
}
0634627
2005/09/15(木) 00:10:54ID:???ありがとうございます。
やはり100件だけの表示は早いですね。
これに「次のページ」リンクと
全体のページ数表示&リンクができればいいのですが.....
0636nobodyさん
2005/09/15(木) 00:28:43ID:???断片的に書いてみる。
次のページへのリンクの作り方は
$next = $page +1;
$self = $_SERVER["PHP_SELF"];
print "<a href=\"$self?page=$next\">次</a>";
それを受け取る時は
$page = $_GET["page"];
全体のページ数を計算するなら
$pages = ceil(count($data_all) / 100);
最後のページの処理は要注意かな。
0638nobodyさん
2005/09/15(木) 00:44:34ID:???セッション管理に興味があるならHTTP_SessionやAuthを参考に書いて見るといいかも
http://jp2.php.net/manual/ja/function.session-set-save-handler.php
0639627
2005/09/15(木) 00:52:48ID:???ありがとうございます。
よく見る「次」のリンクができています。
が、最終ページになってもリンクが....(汗)
どこかで打ち止めの呪文を書かないといけないようです。
最後のページの処理とはこのことですか?
0640627
2005/09/15(木) 01:15:18ID:???打ち止めの呪文は、全体のページ数にイコールかそれ以下の時にというif文でできました。
同じく、$page-1で「前のページ」リンクもできました。
残るは、1/2/3/4/.....というような、全ページへのリンクのみとなりました。
0641nobodyさん
2005/09/15(木) 02:52:47ID:???0642627
2005/09/15(木) 03:18:06ID:???最後のページの処理のもうひとつの意味。
100行で括ったまま作業をさせているので、最終ページで3行のみ
表示となった場合に、97行のカスが書き込まれてしまいます。
(<table>で表示させてる場合は、そりゃぁひどいのなんのって..)
そこで、全データ数-(表示ページ×100)の式を書き、
100よりも少ない場合の処理と、100の場合の処理に分岐させ
無事、綺麗に表示することができました。
ヒントをくださった皆様。ありがとうございました。
0643nobodyさん
2005/09/15(木) 03:35:27ID:???もう解決しちゃったようだけど、一応こんなのもあるってことで。
pear::HTML_Pager
ttp://pear.php.net/manual/ja/package.html.pager.php
0644nobodyさん
2005/09/15(木) 03:44:32ID:???strict refs,subsに該当するのは無いかな。
strict varsならerror_reporting(やphp.iniの設定)でE_NOTICEを扱うようにすれば、
初期化されていない変数宣言として通知される。
0645nobodyさん
2005/09/15(木) 04:07:03ID:???0646nobodyさん
2005/09/15(木) 11:19:39ID:yS4KEn1H>>630
function aaa($aaa) {
return preg_replace (array("$bbb", "$eee") , array("$ccc", "$fff"), $aaa);
}
こういう方法もあるでよ。
0648軟式PHP
2005/09/15(木) 14:21:44ID:???0649nobodyさん
2005/09/15(木) 15:58:54ID:???0650nobodyさん
2005/09/15(木) 16:00:28ID:???0651nobodyさん
2005/09/15(木) 16:03:06ID:???0652nobodyさん
2005/09/15(木) 16:55:25ID:???0655nobodyさん
2005/09/15(木) 19:37:29ID:???http://php.s3.to/man/about.prototypes.html
ここを読んでいるんだけど、「needle」ってなに?
辞書引くと「針」とか出るんだけど、文脈からすると「検索文字列」とかそんな感じだと思うんですが。
「needleとは」でググッてもいまいち、ぱっとするものが出てこないなぁ
0657PHP初心者
2005/09/15(木) 20:41:48ID:VaGG+gkL0658nobodyさん
2005/09/15(木) 20:43:34ID:???(look for) a needle in a haystack
干し草の山の中の針(を探す) ((不可能な事, むだ骨などのたとえ)).
0660nobodyさん
2005/09/15(木) 22:00:45ID:???md5の方が良い場合はどんな時ですか?
0661PHP初心者
2005/09/15(木) 22:05:02ID:VaGG+gkLありがとうございます。早速ためしてみます。
0662nobodyさん
2005/09/15(木) 22:46:21ID:???0663nobodyさん
2005/09/15(木) 23:32:45ID:???どう変更したらいいのか教えていただけますか?
sub write{
&asyuku;
#携帯機種を取得
$agent = $ENV{HTTP_USER_AGENT};
#$agent = "J-PHONE/3.0/J-SH05";
if($agent =~ /DoCoMo/){
@agents = split(/\//,$agent);
$agent = $agents[2];
}
elsif($agent =~ /J-PHONE/){
@agents = split(/\//,$agent);
$agent = $agents[2];
}
elsif($agent =~ /UP\.Browser/){$agent = 'EZweb';}
elsif($agent =~ /Mozilla/){$agent = 'PC';}
else{$agent = '?';}
0664nobodyさん
2005/09/16(金) 00:00:04ID:???Fuck guy!
0665663
2005/09/16(金) 00:11:04ID:???0666nobodyさん
2005/09/16(金) 00:43:20ID:???A03という文字があったとして、数字の部分は二桁or一桁の動く数字。
数字の部分に対してタグを入れたい。
$levelm = "/A([1-9]|[1-9])?([0-9]|[0-9])([^0-9]|[^0-9])/"
preg_replace ($levelm , "A<span class=\"level\">$1$2</span>", $buffer);
これだと全ての数字にマッチしてしまう。
どうすればいいですか。
0667nobodyさん
2005/09/16(金) 01:31:08ID:0dogEF/nこの板には「罪と罰」というネットゲームをご存じの方はいらっしゃるでしょうか?
そのように複数のプレーヤーの様々な数値を共有するようなことはどのように制作するのでしょうか?
拡張子を拝見してCGIを使用していることまでは分かったのですが内容までは分かるはずもなく知りたいという欲求にかられています。
自分のスキル不足、無知を知っていての質問です。
どうがご講義願います。
0668nobodyさん
2005/09/16(金) 01:35:28ID:???0669667
2005/09/16(金) 01:42:35ID:???あつかましいようですが作ってみたいです。
作りたいのは罪と罰のようなRPGとは少々違うのですがプレーヤーに数値があるのと多人数参加型のゲームであることは変わりは割りません。
でも私はCGIの知識はまったくと言って良いほど無く現状では無理です。
こういう私がこんな発言してすみません。
0670nobodyさん
2005/09/16(金) 01:50:15ID:???こんな奴を押し付けちまってスマン
>>667
ここはPHPのスレッドだからこっち行こうな
そもそも技量が足りてなさすぎだが
Perlコーディング初心者質問スレ Part 43
http://pc8.2ch.net/test/read.cgi/php/1123777607/
0671nobodyさん
2005/09/16(金) 01:51:31ID:???windowsアプリケーション向き
0672nobodyさん
2005/09/16(金) 01:56:05ID:???0673nobodyさん
2005/09/16(金) 08:11:38ID:BzI51Y3fDNを指定するのではなく…。
0674nobodyさん
2005/09/16(金) 15:23:31ID:bO5oShWUstrtrで\nの記号は消せるんですけど
普通の改行が消せません。
<TEXTAREA>から送ってるんですが改行したまま送信するとその改行がログファイルにそのまま出ちゃうんですよねー
どうにかなりませんか?
0676nobodyさん
2005/09/16(金) 15:35:31ID:???けど*nix系サーバの\nはLF(ラインフィード)
Macから送られてくる改行記号は\r = CR(キャリッジリターン)
Windowsは\r\n = CRLFでマッチしないことがある
対策としては\rと\nをそれぞれ削除するか、キャラクタクラスを使って
/[\r\n]+/、/(\n|\r|\r\n)+/のようにする等
■ このスレッドは過去ログ倉庫に格納されています