【PHP】くだらねぇ質問はここに書き込みやがれpart5
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/04/30(土) 00:12:53ID:OJfc9xBuここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>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/
0039nobodyさん
2005/04/30(土) 22:01:22ID:???    <li>A</li>
    <li>B</li>
    <li>C</li>
     〜〜〜
    <li>Z</li>
</ul>
というようにA〜Zまで全部出力したいのですが、どうやれば効率よくできるでしょうか?
HTML全部手書きってのはどうも恥ずかしい…。
0040nobodyさん
2005/04/30(土) 22:14:44ID:???0041nobodyさん
2005/04/30(土) 22:15:12ID:???<?php for($s='A';$s<>'AA';$s++) echo "\t<li>$s</li>\n"; ?>
</ul>
0043nobodyさん
2005/04/30(土) 22:25:51ID:???一体なにが作れるのでしょうか?サーバーサイドがのっている本を
みても、練習として文字を書いていましたが、文字はHTMLで書けば
いいのではないのでしょうか?違いを具体的に
お教えください。
0044nobodyさん
2005/04/30(土) 22:26:06ID:???$wdays = array("日", "月", "火", "水", "木", "金", "土");
echo $wdays[date("w")];
色はご自分で
0045nobodyさん
2005/04/30(土) 22:42:10ID:???ttp://pear.php.net/manual/ja/package.html.html-template-flexy.php
0046nobodyさん
2005/04/30(土) 23:01:29ID:???ありがとうございます。とりあえずできました。
>>45
そっちも勉強してみます。
PEARすらやった事ない初心者です…。
0049nobodyさん
2005/05/01(日) 01:27:12ID:???2<>Ace
3<>Luke
4<>Xenon
5<>Raiden
こういうデータがあるとして
2<>Ace
1<>Demon
3<>Luke
5<>Raiden
4<>Xenon
このように並び替えるにはどうすればいいのでしょうか?
バブルソートってのを調べてみたのですがちょっと違うみたいですね…。
0050nobodyさん
2005/05/01(日) 01:32:32ID:???>>49
<>の右側を配列のキーに入れてksort()。
でどうでしょう?
0051nobodyさん
2005/05/01(日) 01:43:18ID:???0052nobodyさん
2005/05/01(日) 05:37:01ID:???2<>Sage
3<>Sage
4<>Sage
5<>Sage
0053nobodyさん
2005/05/01(日) 08:18:04ID:qz5EMJ99C:\Program Files\Java\j2re1.4.2_02\lib\rt.jar
消しても大丈夫ですか?
0055nobodyさん
2005/05/01(日) 10:41:37ID:???上の文字列から<b>〜</b>で囲まれた部分だけを探したい(上の文字列から HTML だけを取り出したい)のですが、方法が全く思いつかず・・・。
どうすればいいでしょうか。ご教授ください。
0056nobodyさん
2005/05/01(日) 10:49:54ID:???0057nobodyさん
2005/05/01(日) 18:45:14ID:???0058nobodyさん
2005/05/01(日) 20:38:52ID:???php5になってなんか新しい方式に変えたらしいね
けどスキン対応とかぶっちゃけ要らんからw
0059nobodyさん
2005/05/01(日) 22:47:15ID:???送信ボタンを押すと特定の情報が次のページに渡され確認表示、
また別のページに飛んでそこから送信ボタンを押すと情報(最初の情報とname値が同じ)が
確認表示のページに渡され、最初の情報と2つ目の情報がともに確認画面に表示される。
そして確認画面の内容が正しければ送信ボタンを押して蓄積されたデータを送れるようなページを作成しています。
同じname値($book)を蓄積させるため下記のような記述を用いているのですが、
蓄積される情報の間を「,」でうまく区切る方法がわかりません。
確認画面からデータを送る際、どうしても「,」で区切らなければならないのですが、
どのようにしたら「,」で区切ることができるでしょうか。
-------------------------------
$book2 = $book;
$book3 .= $book2;
echo "<FORM ACTION='****.html' METHOD=POST>\n";
echo "<INPUT TYPE=HIDDEN NAME=books VALUE='$book3'>\n";
-------------------------------
↑ここの$book3の情報を「****,****,****」という形にしたいのです。
-------------------------------
0060nobodyさん
NGNG0061nobodyさん
2005/05/01(日) 23:28:40ID:???ショッピングバスケットのようなものを作っているのかと予想してみる。
だとすると・・・・そのやり方、なんか違うと思うぞ。
まぁ、どうしてもってなんら、
$book3 .= ',' . $book2;
か
$book3 .= ",{$book2}";
だな
でも、きっと根本的に何かが違っていると思うぞ。
0062nobodyさん
2005/05/02(月) 10:38:28ID:zPNJQI1NSingletonの基底クラスを作ることは出来ないのでしょうか?
基底クラスから子クラスのクラス名が分かれば出来るのですが…
0063nobodyさん
2005/05/02(月) 13:05:41ID:???0064nobodyさん
2005/05/02(月) 13:42:51ID:???(PHPの)rmdirはOSのrmdir(関数というよりOSのapiやシステムコール)を呼び出す。
こいつらには、空のディレクトリを消す機能しかない。
従って phpのrmdirでは「空のディレクトリを消す」機能しかないという事になる。
ディレクトリ関数+ファイルシステム関数を使ってファイルの存在チェック及び削除をしてから、
ディレクトリrmdirを使うしかないやね。
(system()系の関数を使ってOSのコマンドを使うつー手もあるが。)
0065nobodyさん
2005/05/02(月) 14:16:07ID:v4+ywBHrブログツール(php)を自前の鯖にインストールするのはいいんですが、
やめたい時ってアンインストールする必要あるんですか?
ただファイルを消すだけでOKですか?
0066nobodyさん
2005/05/02(月) 21:25:22ID:???データベースとか使ってるブログだったらデータベースもきちんと消そう
0067nobodyさん
2005/05/02(月) 23:26:25ID:LLdi1lXWtempディレクトリ
という構成で、index.phpからsessionファイルをtemp内に保存するように設定したいですが、
ローカルではちゃんと動くもののレンサバ上でうまくいきません。
session_save_path("temp");
session_start();
$_SESSION["hoge"] = "foo";
var_dump($_SESSION["hoge"]);
とするとちゃんとfooが出力され、session_startの返り値を見てもtrueとなっているので
セッション機能自体はうまく動いているようなのですが、tempディレクトリ内を確認しても
tempファイルが作成されません。
ini_get()するとsession_save_path()で指定したディレクトリになったいるのに
php.iniで設定されたパス上に保存されているようです。
何が原因と考えられるでしょうか?
0068nobodyさん
2005/05/03(火) 00:05:24ID:???0069nobodyさん
2005/05/03(火) 00:17:01ID:???〜(略)〜
この関数は常に TRUE を返します。
-> 読んでの通り。
セッション変数: $_SESSION
〜(略)〜
これは'スーパーグローバル'又は自動グローバルな変数です。
-> セッションの利用可・不可に関係なくvar_dumpできる。
0070nobodyさん
2005/05/03(火) 00:55:41ID:???$dh=opendir("temp");
while(($file=readdir($dh))!==false) print "$file<br>";
0071nobodyさん
2005/05/03(火) 01:10:50ID:???ヒント:確認できていなかった。
007267
2005/05/03(火) 02:45:34ID:???ありがとうございます。
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
としてみたら、どうやらセッション使えてなかったみたいですorz
sessionの使用がenabledなのになんで駄目なんだろ・・・。
0073nobodyさん
2005/05/03(火) 05:03:52ID:???いるのですがGDを使うソフトがありまして困っています。
GDなるものどこで手にいれてインストールしたらいいのか教えてださい。
0074nobodyさん
2005/05/03(火) 05:32:21ID:???php.iniの
extension=php_gd2.dll
コメントアウトを削除で対応
0075nobodyさん
2005/05/03(火) 06:47:55ID:???include_path = ".;C:\php\pear"
と指定して
include("DB.php");
を実行すると、『ページを表示できません』となります。
C:\php\pear\DB.phpは存在します。
include("C:\php\pear\DB.phpp");
を実行すると、ちゃんと読み込みます。
include_pathにC:\php\pearを指定しているのに
フルパスじゃないと読み込めないのが謎です。
どなたか原因わかりませんか?
環境
WindowsXP
Apache2.0
PHP4と5で確認
よろしくお願いします。
0077nobodyさん
2005/05/03(火) 07:55:59ID:???読み込めないときは
Failed opening 'DB.php' for inclusion (include_path='.;c:\php\PEAR')
こんなエラーじゃないのかな
0079nobodyさん
2005/05/03(火) 08:47:12ID:???参考になるようなよい書籍を教えてください。
0080nobodyさん
2005/05/03(火) 09:06:42ID:???ショッピングカートの良書
http://www.amazon.co.jp/exec/obidos/ASIN/4034314303/
0081nobodyさん
2005/05/03(火) 10:31:05ID:???データベースに書き込むとき書き込むデータの長さがカラム長を超えてしまうと
エラーになるので書き込み前にチェックしたいんですが、比較するカラム長は
・固定的に定義しておく(defineなどで)
・都度、取得する(mysqlならmysql_field_lenなどで)
のどちらがいいんでしょう?
データベースの定義が変更になった時のことを考えると都度、取得したほうが
いいんでしょうが、なんかとても無駄なことをしているような気がして
みなさんはどうされてます?
0083nobodyさん
2005/05/03(火) 13:18:39ID:???>>82さんの仰るとおりカラム長を超えたデータを書き込んでもエラーにはならず
切り捨てられました
テストしたときのデータがめちゃくちゃ長いデータだったのでコネクションが
切断されてたみたいです
mysqlのnet_buffer_lengthあたりの制限に引っかかたのかも…
スレ汚しすみませんでした
0084nobodyさん
2005/05/03(火) 14:22:02ID:???ttp://php.s3.to/simple/
他のページにもパスワード制限をかけたいと思いました。
この場合それぞれのページにいちいち制限をかけるのは入る人が面倒ですよね。
そこでたとえばメンバー専用のトップページを作って、そのトップページにパスワードを使って入れば、
そこに置かれているbbsなどは自由に入れるようにするにはどうしたらいいでしょうか?
サーバーのコントロールパネルのページとかでこういう方式になっていたりしますので、同じようにしたいのですが…
0085nobodyさん
2005/05/03(火) 16:14:42ID:rT+xDv11そして送信ボタンを押したときに
すべてのフォームに値が記入されていればAを出力
どこか一つでも値が無ければBを出力
ということをするにはどうしたらよいでしょうか?
008785
2005/05/03(火) 16:48:00ID:???$row = 1;
$column = 1;
for($i = $_GET["det_size"];$i>0;$i--){
for ($j = $_GET["det_size"];$j>0;$j--){
$value = 'col'.$column.'row'.$row.'';
$text .= '<input name="col'.$column.'row'.$row.'" type="text" size="4" maxlength="4" value = "'.$_GET[$value].'"> ';
$row = $row + 1;
}
$text .= '<br>';
$row = 1;
$column = $column + 1;
}
$text .='<input type="submit" name="submit" value="Submit"> <input type="reset" value="reset"></form>';
ここまででテキストフォームを作ります。
この前にdet_sizeを入力してもらってdet_size×det_sizeのフォームを作ります。
008885
2005/05/03(火) 16:48:48ID:???$row = 1;
$column = 1;
//$value = 'col'.$column.'row'.$row.'';
$dis_result='<div class="result">Result<br>';
while($column <= $_GET["det_size"]){
$value = 'col'.$column.'row'.$row.'';
$dis_result .= ' '.$_GET[$value].' ';
$row++;
if ($row > $_GET["det_size"]){
$column++;
$row = 1;
$dis_result .='<br>';
}
}
$dis_result .='</div>';
$text .= $dis_result;
フォーム内の値をdivで作ったボックスのなかに表示させます。
フォームが空欄でもResultのボックスが空のまま表示されてしまうので
もしフォームの値が一個でも空白ならエラーを返したいと思っています。
008985
2005/05/03(火) 17:22:11ID:???0090nobodyさん
2005/05/03(火) 17:44:16ID:/WYzL+U+"05"などという文字列を5という数値に変換したいのです。
009385
2005/05/03(火) 18:20:32ID:???0095nobodyさん
2005/05/03(火) 18:48:00ID:???暗黙の型変換が行われるから、わざわざ自前でやる必要はないと思うけど。
あえてやるならintval
$a="05";
$b=$a + 100;
$c=intval($a) + 100;
echo $b;
echo "<BR>";
echo $c;
0097nobodyさん
2005/05/03(火) 20:59:50ID:???こういうヤツの作り方ってどうやるんですかね?
0098nobodyさん
2005/05/03(火) 21:29:36ID:???0099nobodyさん
2005/05/03(火) 22:03:24ID:XdSRtjaMっうはっwwwwwwwうぇwwwおkwwwwwwwwwwww
wwwwwwwwwwwwwwおkwww
っおkっうぇwwwwwwwwwwwwwwwwうはっ
wwwwwwwwwwwうはっっうはっwwwwwwwwww
0101nobodyさん
2005/05/04(水) 01:43:31ID:4XtCwxJFinclude(1)
include(2)
とやった場合
(1)で定義した定数は(2)には反映されないの?
0102101
2005/05/04(水) 01:49:41ID:???0103nobodyさん
2005/05/04(水) 01:50:54ID:4XtCwxJF騙るなよ
0104軟式PHP
2005/05/04(水) 03:25:40ID:???0105nobodyさん
2005/05/04(水) 11:31:05ID:???質問させて下さい。
SELECTして取得するフィールドは不特定の場合、
結果からどうやって取得したフィールド名を取得するのでしょうか?
今までは、DB::connectで接続したあと、queryにてSQLを発行し、
fetchRowにてループにて全レコードを出力する時に、
最初の1レコード目の時にフィールド名を出力していましたが、
この方法だと抽出したレコードが0件の場合、何も表示されません。
取得したdb_resultオブジェクトの内容をprint_rにて除いてみたのですが、
そういった情報は無いようでした。
0106nobodyさん
NGNGread.cgi & bbs.cgi よろしく。
【参考】
・厨房により、連続更新が多発!read.cgiが呼ばれる回数はbbs.cgiの百倍!
010784
2005/05/04(水) 14:02:33ID:CEPwDzrn0108nobodyさん
2005/05/04(水) 15:05:33ID:???質問の意図がよくわかんないんだけど
常にフィールド名が欲しかったらtableinfo()を使ってみるとか。
空のレコードセットのときfetchRow()がNULLを返すのは仕様どうり
>>107
http://merlion.cool.ne.jp/cgi/rest8/index.htm
↑みたいなの使って一つのフォルダに認証かけて
そのフォルダ以下にトップページやBBSとか置けばいい
0110107
2005/05/04(水) 15:45:24ID:CEPwDzrnありがとうございます!.htaccess機能ってやつですね。
ちなみに教えて頂いたhttp://merlion.cool.ne.jp/cgi/rest8/index.htmのページでは
perlを使ったプログラミングのようですが、
phpを使った認証のプログラムはどこかにないでしょうか?
0111nobodyさん
2005/05/04(水) 21:31:13ID:tDb8HgqQごく小規模のメール配信とかサイトにDB使いたくて。
こんなモノがあるとは知らずPostgreのつもりだったんですが
存在を知って以来気になってます。
どのくらいまで使えるモノなんでしょう?
0113nobodyさん
2005/05/04(水) 23:04:11ID:???どんな利用方法しても、ライセンスが絡む事は無いし、
MySQLで出来ること以上の事がPostgreSQLは出来る。
確かに速度はMySQLだが、その辺はたいした問題じゃない。
0114nobodyさん
2005/05/05(木) 00:41:41ID:???UNIXやLinuxならPgSQLかMySQL
本格的にやるならOracle
0115軟式PHP
2005/05/05(木) 02:29:14ID:???0116nobodyさん
2005/05/05(木) 02:42:19ID:???0117nobodyさん
2005/05/05(木) 06:57:41ID:j3QMEyoAecho"$total";
for($i=1;$i<=100;$i++){$total+=$i;}
? >
$totalをfor〜より前で表示させたいんですけど、
どうすればよいでしょうか?
0118nobodyさん
2005/05/05(木) 07:41:24ID:???0119nobodyさん
2005/05/05(木) 07:52:10ID:2TWoJUS+$count = strlen($words);
$num = 0;
while ($num <= $count){
preg_match("/^.{0,$num}?(.).*/", $words , $spel);
echo "$num | $spel[$num] <br>\n";
$num++;
}
上記のようにwhileを使って、$wordの全部を一文字ずつ配列に入れたいのですが、
最初の一文字しか配列に入りません。
実行すると、
0 | abcd
1 | a
2 |
3 |
4 |
となって、途中から配列に入らないのですが、どうしたら良いのでしょうか。
0120nobodyさん
2005/05/05(木) 08:32:49ID:???while ($num < $count){ // 4文字なので 0〜4でいいはず
preg_match("/^(.{0,$num})?(.).*/", $words , $spel); // $spelに入るのは括弧付きのサブパターン
echo "$num | $spel[2] <br>\n"; // $spel[0] : 全体, $spel[1] : 1つ目のサブパターン $spel[2] : 2つ目
}
アルファベットだけなら、whileループの中で echo $words[$num]."<br>"; だけでいい希ガス
0121119
2005/05/05(木) 08:33:10ID:???文字列を配列として参照することで、一文字ずつ取り出せるのですねーー知りませんでした。
0122120
2005/05/05(木) 08:33:55ID:???× // 4文字なので 0〜4でいいはず
○ // 4文字なので 0〜3でいいはず
0124nobodyさん
2005/05/05(木) 08:46:13ID:???$num = 1;
while ($num <= strlen($str)){
$spel[] = substr($str, 0, $num);
}
0125nobodyさん
2005/05/05(木) 08:48:31ID:???マニュアルのpreg_replaceの項に
まったく同じことするサンプルがあるぞ
0127nobodyさん
2005/05/05(木) 09:48:00ID:???CPU負荷低減・高速化のためにPHPA(PHP Accelerator)を入れようかと思っています。
が、Apache2では「ただし、スレッド機能は無効」になるとか・・・
ttp://www.asial.co.jp/products/ioncube/accelerator/products.php
実際にApache2で使った場合、どうなんでしょか?
0128nobodyさん
2005/05/05(木) 11:37:05ID:???クラス内の変数をさまざまな表現で表示したい時は
「表示させる関数を用意する」と
「表示させるクラスを用意する」、どちらが一般的なのでしょうか。
もし使い分ける、などならメリットとデメリットも教えて頂きたいです。
PHPもオブジェクト指向も初心者なので的外れな質問だったらごめんなさい。
なお環境はPHP4.3.10 AN http WindowsXPです。
*/
//クラス内に表示させる関数を用意する-----------------
$text = new Text;
echo $text->i();
class Text{
var $a="AAA";
function i(){
return "<i>{$this->a}</i><br>";
}
}
exit;
//クラス外に表示させるクラスを用意する-----------------
$text = new Text;
$html = new Html;
echo $html->i();
class Text{
var $a="AAA";
}
class Html{
function i(){
global $text;
return "<i>{$text->a}</i><br>";
}
}
0129nobodyさん
2005/05/05(木) 11:42:30ID:???0130nobodyさん
2005/05/05(木) 11:52:52ID:???とりあえず、そのサンプルに上げてるようなことしたいなら、
普通にHTMLのタグくっつけて書いた方が楽じゃないか?
融通も利くし。
0131nobodyさん
2005/05/05(木) 13:28:27ID:???0132nobodyさん
2005/05/05(木) 14:39:08ID:???俺ならクラス内にメソッドを追加する。つまり前者。
後者でやるとしたら
function i($text){
return "<i>$text</i><br>";
}
とする。こっちの方法も割と良く見かける。
0133nobodyさん
2005/05/05(木) 21:09:42ID:???なるほど・・・。何かをするクラスをひとつにまとめたらわかりやすいかな〜?
とか思ったのですが、
「何かをする->データ」より「データ->何かをする」が普通なんですね。
キモイとか言われましたが・・w どうもありがとうございます。
0135nobodyさん
2005/05/06(金) 00:15:35ID:???(具体的には、日記スクリプトを作ろうとしています。)
0137nobodyさん
2005/05/06(金) 14:12:02ID:???DL数を制限するにはどういった仕組みなのでしょうか?
例えば制限数を10にした場合、同時にDLできる人数が10人にしたいのです。
また、1人の人間が異なったファイルをDLできないようにするにはどうすればいいのでしょうか?
0138nobodyさん
2005/05/07(土) 00:29:22ID:???0139nobodyさん
2005/05/07(土) 02:07:16ID:t8LZi6/K現在、PHPでツリー式掲示板を作っていて、そのログの保存形式で悩んでいます。
以前に作った掲示板では、ログの保存形式を
記事No<>親記事No<>タイトル<>内容<>投稿時刻
のようにしていたのですが、あたりまえですがログが増えてくると処理が遅くなってしまいました。
ルート直下の記事(親記事Noが0の記事)のみを抽出するという処理にもかなりの時間がかかってしまいます。
ほかの掲示板を調べてみると、ログを、ツリー構造を保存したファイルと記事の内容を保存したファイルの2つに分けているものもありましたがあまりしっくりとは感じませんでした。
もし、アルゴリズム的に処理のしやすい(速い)ものがあれば、教えていただきたいのですが…。よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています