トップページphp
1001コメント283KB

【PHP】下らねぇ質問はここに書き込みやがれ 46

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/05/12(土) 16:43:57ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0011nobodyさん2007/05/12(土) 18:08:44ID:???
普通は、スレ番間違ってても、先にたった奴から消費するもんだが
0012nobodyさん2007/05/12(土) 18:20:39ID:???
>>10
・「先に立ってる向こうが本スレ、ここは重複」で向こうを46として使う。(通常、これ)
 保守なんかしなくてもこっちも落ちないだろうから、ここが将来の47に。

・放置して沈める。現状のままレスが一定数つかなければ即死判定で消える。
 たぶん誰かが書くので生き延びる。

・削除整理に持って行ってみる。スレタイや 1 の文言がアレすぎる事例なら
 住民合意次第で後から立ったほうを本スレ扱いしてもらえる場合もあったと思う。

どれか。つーか、番号の変え忘れだけでなんで重複が立ってるんだ。
0013nobodyさん2007/05/12(土) 18:37:00ID:???
linuxのfedoraスレは重複しまくりだけど削除人に無視されてるよw
0014nobodyさん2007/05/12(土) 21:10:57ID:???
最近このいたの過疎化が急激にすすんできた
0015nobodyさん2007/05/12(土) 21:12:02ID:???
休日は人すくないお
職場から書き込んでる人が多いんじゃない?
0016nobodyさん2007/05/12(土) 21:53:16ID:???
幾ら試してもダメだったんで質問。

(postで文字列・行番号を送信)
textからファイルを1行ずつ配列に突っ込む、
配列の指定された行に文字列代入、(この時改行を突っ込む)
その後ファイルに出力。

とやってるんだけど、どうしてもpostで受け取ったところに改行が入らない。
\r\n、\n、\r、CRLF、0xA、0x0D全部ダメでした。
改行を入れるのに良い方法があればご教授宜しくお願いします。

※環境:windowsXP proSP2 IE6 XAMPP2.3
※状況としては、DB使えない鯖でDB的な事がやりたい。
で、1つずつファイルを用意して、1行で1つのパラメータとして管理。行番号でIDとしてやってみた。
0017nobodyさん2007/05/12(土) 22:10:37ID:???
> (postで文字列・行番号を送信)
> textからファイルを1行ずつ配列に突っ込む、
> 配列の指定された行に文字列代入、(この時改行を突っ込む)
> その後ファイルに出力。

この説明を自分で読んでどう思う、あとIDな
0018nobodyさん2007/05/12(土) 22:18:35ID:???
意味ワカンネ
ソース晒せ
0019nobodyさん2007/05/12(土) 23:38:29ID:???
>>16
こういうこと?

【1】 管理画面的なページからファイルに書き込みたい文字列と行番号を送信
【2】 【1】の文字列と行番号を受け取ったプログラムが受け取った文字列をファイルに書き込み

だよな?

で、ファイルの書き込む位置として【1】から受け取った行番号を使うんだよな?
0020nobodyさん2007/05/12(土) 23:41:43ID:???
>>16
ちゃんと文字列に改行つけられてないんだろ?

$fp = fopen ("/unnko/file.txt");
fputs ($fp, $_POST['文字列' . "\r\n"]);
fclose($fp);

コレでもだめ?
0021202007/05/12(土) 23:42:32ID:???
よく見たらIDだしてないじゃないかお前
氏ね!俺氏ね!
0022nobodyさん2007/05/13(日) 00:13:47ID:???
ID出さないは食い逃げですよ
0023nobodyさん2007/05/13(日) 01:14:36ID:???
ID出したら負けと思ってます
0024nobodyさん2007/05/13(日) 01:17:52ID:bVkJL6kZ
ApacheモジュールのPHPって
仮にあるユーザが10秒かかる処理をリクエストしたとき
その10秒間は他のユーザがアクセスしても無応答になるの?
0025nobodyさん2007/05/13(日) 01:27:52ID:???
>>24
apacheが別スッドレ起動するはずだから大丈夫
0026nobodyさん2007/05/13(日) 01:40:06ID:EaEIAfe4
空メのシステムを作りたいんだけど、
お勧めのレン鯖ってないかな?

これはメール鯖借りるだけでもできたっけ?
0027nobodyさん2007/05/13(日) 02:01:55ID:bVkJL6kZ
>>25
確か自分で高負荷のかかる処理をさせたときは待たされた記憶があるんですが
その判定って何でやってるんですか?IPアドレス?セッション?
0028nobodyさん2007/05/13(日) 02:03:04ID:???
質問です。
手元の本見てると、
class xxxx {
private $_name;
function getName(){return $this->_name;}
function setName($namae){$this->_name = $namae;}
}
って言うのがあるんですが、
この$_name の「_」には何か特別な意味があるんですか?
$nameとする場合と意味が違うんでしょうか?
0029nobodyさん2007/05/13(日) 02:03:49ID:???
>>28
private変数を明示的にするための過去の遺産かと
0030nobodyさん2007/05/13(日) 02:06:10ID:???
>>26
昨日のやつか市ね
0031nobodyさん2007/05/13(日) 02:06:46ID:???
>>29
ありがとうございます。じゃ、作者の癖みたいなものですね?
あと、
{return $name;} じゃダメなんでしょうか? this って必要でしょうか?
マニュアルで検索しても出てこないような?
http://jp2.php.net/manual-lookup.php?pattern=this&lang=ja
0032nobodyさん2007/05/13(日) 02:08:54ID:EaEIAfe4
>>30
昨日って?
0033nobodyさん2007/05/13(日) 02:29:01ID:???
>>27
それはシステム自体(つまりサーバ全体)自体が負荷が
高くて処理が遅くなってたんじゃないのかな?
PHP自体はIPとかセッションじゃなくてリクエスト単位で
アパチェがスッドレ立ててるはずだよ
0034nobodyさん2007/05/13(日) 02:38:00ID:???
>>31
thisって関数じゃないだろ。
クラスのとこ見たほうがいいと思うよ。
0035nobodyさん2007/05/13(日) 03:02:00ID:???
$thisって実行してるクラスってことでいいんだよな?
0036nobodyさん2007/05/13(日) 03:08:49ID:???
いいえ。全然違います。
メンバ変数のことです。
0037ぷぅ2007/05/13(日) 03:11:20ID:eYzfHo38
携帯の前略のプログなんですが、ある人のりあるのページをみたら、背景と文字が真っ黒で絵文字のみ浮き上がり読めなくなってしまいました。読める様になる方法ってありますか?教えて下さい。
0038nobodyさん2007/05/13(日) 03:24:35ID:???
>>36
インスタンスだろ
0039nobodyさん2007/05/13(日) 03:26:32ID:???
>>38
('A`)?
0040nobodyさん2007/05/13(日) 03:27:12ID:???
>>37
板違い、やさしい住民がいる板に誘導してやるからさっさとでていけクズ

【マジレス】超初心者の質問に答えるスレ49【エスパー】
http://pc11.2ch.net/test/read.cgi/win/1178613757/
0041nobodyさん2007/05/13(日) 03:32:54ID:???
>>39
分からないなら少なくともマニュアルのクラスの項読むといいぞ
0042nobodyさん2007/05/13(日) 07:35:57ID:???
>>41
クラスのどこ読めばいいの?
$thisがインスタンスとだけ言われちゃどういう意図でいったのか意味が伝わらない。
0043nobodyさん2007/05/13(日) 08:10:34ID:???
全部
0044nobodyさん2007/05/13(日) 10:25:54ID:???
普通に考えて$thisはインスタンスだろwwwwwwww
このスレのレベルの低さが伺えるなw
0045nobodyさん2007/05/13(日) 10:27:35ID:???
メンバ変数であるわけないのに、そう言っちゃって突っ込まれたから
顔が真っ赤になって書き込みを続けているというだけの話だろうね
0046nobodyさん2007/05/13(日) 10:33:12ID:???
公式マニュアルはOOP入門書じゃないし、
そのへんの一般常識がごっそり抜けてる奴が結構居ると思うよ。
0047nobodyさん2007/05/13(日) 11:32:57ID:???
常識というより、どっかからサンプルソースもってきて、
表示された=動いたーうごかないー、みたいなやつにありがちだ。
意味もわからずDBを入れるわ、クラス使うわ

0048nobodyさん2007/05/13(日) 12:26:51ID:???
PHPのクラスとオブジェクトのページすら読まずに語ってたのか・・・
恐ろしや・・・
0049nobodyさん2007/05/13(日) 12:27:00ID:/gq+so5C
>>26
空メって何?
0050nobodyさん2007/05/13(日) 12:33:10ID:EaEIAfe4
>>49
メールが送られてきたらPHPを実行する みたいな感じ
0051nobodyさん2007/05/13(日) 12:38:40ID:???
mb_send_mail('info@rental-server.domain','至急','なぁ、おまえんとこのサーバってメールが送られてきたらPHPを実行できんのか?それだったら借りたる');
0052nobodyさん2007/05/13(日) 13:12:19ID:???
仕組み次第で出来るぞ・・
0053nobodyさん2007/05/13(日) 14:49:01ID:???
開発環境によると思うが、
.forward ファイルを編集して fopen('php://stdin', 'r'); で受け取ればいい
0054nobodyさん2007/05/13(日) 15:03:59ID:???
postfixを使った場合のソースをもっと詳しくおながい
0055nobodyさん2007/05/13(日) 15:46:59ID:???
ググレ腐るほど転がってる
0056nobodyさん2007/05/13(日) 16:07:42ID:???
ここに転がしてよ!バカ!
0057nobodyさん2007/05/13(日) 17:17:10ID:JyhsaAbc
質問させてください。

/proc 0 0 0 0% /proc
↑のようなデータがあります。

この行の"0%"のみを抜き出して表示させたいのですが、
以下のようなスクリプトを実行すると、
何も表示されません。0=無として動いているようです。


$a = 0;
$hairetu = explode(" ", "$proc"); 
// ↑の$procに「/proc 0 0 0 0% /proc」の内容が入ってます。

while( $a < 34 ) {
if ( ereg("%", $hairetu[$a]) ) {
$str = "$hairetu[$a]";
}
$a++;
}

print "$str<br>";
// ↑ここで何も表示されない

分かりにくくて申し訳ありませんが、対処方法を教えてください。
0058nobodyさん2007/05/13(日) 17:17:44ID:???
sendmail呼べばおk。
0059nobodyさん2007/05/13(日) 17:25:38ID:???
>>57
$str = preg_replace('/.*? (¥d+)%.*/', "$1", $proc);
0060nobodyさん2007/05/13(日) 17:27:12ID:???
>>57
$a = 0;
$hairetu = explode(" ", "/proc 0 0 0 0% /proc");
while( $a < 34 ) {
if ( ereg("%", $hairetu[$a]) ) {
$str = "$hairetu[$a]";
}
$a++;
}
print "$str<br>";

で出てくるけど
0061nobodyさん2007/05/13(日) 17:31:11ID:???
>>57
糞ロジックだし、記法かなりあやしいところあるけど、別に間違ってないよ。
別の原因だな。
0062nobodyさん2007/05/13(日) 22:04:51ID:w30SUErw
phpで指定した何年何月のカレンダーを組み込み関数なしで表示させたいが
いまいちソースが予想付かない、どういう組み方すればいいかなんとかご教授
お願いできませんでしょうか。スレ違いならそっちいくんでスレ指定おねがいします。

初めて1か月だがプログラミング向いてないんかな・・・。
0063nobodyさん2007/05/13(日) 22:28:16ID:???
なぜ組み込み関数無しで?
0064nobodyさん2007/05/13(日) 22:34:48ID:???
できるわけねえだろクズ。
もしやるとしたら正しい日付のフォーマットを自分で作るしかねえんだよ!
0065nobodyさん2007/05/13(日) 22:36:29ID:???
ガタガタいってるとそろそろ反撃しますよ回答者ども

おれは62じゃないから、念のため。
0066622007/05/13(日) 22:59:48ID:???
>>63
いやそういう指定受けたもので。

>>64
でもやらなきゃならんのですよ。

ううむ・・。基本日数は1800年の1月1日が水曜日って事ぐらいしか・・
0067nobodyさん2007/05/13(日) 23:05:30ID:???
その理由をかけよ
0068nobodyさん2007/05/13(日) 23:08:17ID:???
>>66
1800年の1月1日から、求める月の最初の日付まで何日間経ったか数えて、
それを7で割ったあまりで1日の曜日を求めて、ってことになりますね。

閏年は4で割り切れる年、ただし100で割り切れない年である、しかし400で割り切れる年はやはり閏年である、という事実を使って日数を求めればよいです。
0069nobodyさん2007/05/13(日) 23:10:19ID:???
>>68
それも関数つかわなきゃできなくね?
0070nobodyさん2007/05/13(日) 23:10:44ID:???
>>66
とりあえずどこまで考えたか見せてみ
0071nobodyさん2007/05/13(日) 23:16:04ID:???
組み込み関数無しでどうやって出力するんだ
0072nobodyさん2007/05/13(日) 23:17:30ID:???
プログラムのロジックを考えるのが趣味ならべつだが、車輪の再開発なんて無駄
0073662007/05/13(日) 23:21:39ID:w30SUErw
>>67
残念だが無理

>>68
わかりました、それをヒントに考えてみます。

>>70
フロチャートから書いてる段階だからまだ入力してないんだ・・。

>>71
説明不足でした、正確には日付関数系をなし。

なんとか頑張ってみます、ありがとうございました。
0074nobodyさん2007/05/13(日) 23:23:08ID:???
無理ワロタ
0075nobodyさん2007/05/13(日) 23:23:35ID:???
できないことはないが、ソースがふえるだけ
学校の宿題だろ
0076nobodyさん2007/05/13(日) 23:24:06ID:???
どうせ宿題かなんかだろ。

スルーしろよ。
0077nobodyさん2007/05/13(日) 23:25:31ID:???
どんな用件なんだいったい?
謎は深まるばかりだな
0078nobodyさん2007/05/13(日) 23:28:46ID:???
大学板でこの質問貼り付けて聞きまわって調査してくる
0079nobodyさん2007/05/13(日) 23:29:38ID:???
>>73
要求仕様の理解がおかしいんじゃないのか?
カレンダー関数と、標準関数としての日付関数と取り違えてないか?
0080nobodyさん2007/05/13(日) 23:37:32ID:???
>>73
フローチャートでもいいから見せろよ
どの段階で詰まってるのか分からないと答えようが無いだろ
0081nobodyさん2007/05/13(日) 23:37:33ID:Abz7uB+8
ウィンドウズでPHP5をインストールしたのですが
アパッチを起動してPHPが動きません
PHP4を設定する資料は沢山あっても5の資料が無いので教えてください
0082nobodyさん2007/05/13(日) 23:38:28ID:???
>>81
公式マニュアルに分かりやすく確実な解説があるよ〜〜〜
0083nobodyさん2007/05/13(日) 23:41:09ID:Abz7uB+8
>>82
どうもありがとう
0084nobodyさん2007/05/14(月) 00:11:16ID:???
>>81-83

ほのぼのした流れにワロタ
0085nobodyさん2007/05/14(月) 00:30:06ID:???
あるスクリプトで、sleep 10;という命令を使おうと思ってます。
そこで、停止している10秒間に、10、9、8、7、、、と
カウントダウンを表示させたいのですが、どのように記述すれば
良いでしょうか
0086nobodyさん2007/05/14(月) 00:31:07ID:???
>>85
>>1
0087nobodyさん2007/05/14(月) 00:46:07ID:???
>>85
こんなんじゃダメか?
for ($i = 10; $i >= 0; $i--) {
 printf("\r%2d", $i);
 sleep(1);
}
0088nobodyさん2007/05/14(月) 00:52:05ID:???
駄目に決まってるじゃん。CLI標準出力じゃあるまいし
0089nobodyさん2007/05/14(月) 00:56:58ID:5a5f7yKw
>>50
Thx!なるほど。バッチで実行してもいいんじゃね?phpでpopアクセスするやつ作って。
0090nobodyさん2007/05/14(月) 00:58:42ID:???
>>88
死n
0091nobodyさん2007/05/14(月) 01:07:06ID:anxZlOK/
$iyear=2007;
$imoon=5;

function leap($year){
$count=0;
$count += floor($year/4);
$count -= floor($year/100);
$count += floor($year/400);
return $count;
}

$leap = leap($iyear)-leap(1800+(($imoon>2)?-1:0));
echo "leap=$leap\n";
$moon = array(0,31,28,31,30,31,30,31,31,30,31,30,31);

$day = ($iyear-1800)*365 + $leap;
for($i=1; $i<$imoon; $i++)
$day+=$moon[$i];
echo "day=$day\n";

$dotw=($day+3)%7;
echo "dotw=$dotw\n";

for($i=0; $i<$dotw; $i++)
echo " ";

for($i=1; $i<=$moon[$imoon]; $i++){
printf("%2d ",$i);
if(!(($i+$dotw)%7))
echo "\n";
}
0092nobodyさん2007/05/14(月) 01:07:34ID:???
IDだしてないやつに回答した奴が被害にあいますた
0093nobodyさん2007/05/14(月) 01:12:07ID:???
そうですか。頭悪いね。
0094nobodyさん2007/05/14(月) 01:14:51ID:w1xXl1JO
httpd.exe: Syntax error on line 115 of C:/Program Files/Apache Software Foundati
on/Apache2.2/conf/httpd.conf: Cannot load C:/php/php5apache2.dll into server: \x
8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xaa\x8
c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B
Note the errors or messages above, and press the <ESC> key to exit. 27...

C:/php/php5apache2.dllはあるのにこう言われます
何故ですか
0095nobodyさん2007/05/14(月) 01:15:34ID:w1xXl1JO
>>94はウィンドウズXPでアパッチを起動した時のエラーメッセージです
0096nobodyさん2007/05/14(月) 01:16:34ID:dsmo737w
>>95
エラーメッセージ答えてもエラー内容わからないと解決しなくね?
0097nobodyさん2007/05/14(月) 01:17:11ID:???
>>91
汚いけど凄いな、俺には理解できん
0098nobodyさん2007/05/14(月) 01:19:05ID:???
>>94
httpd.confの115行目でsyntax errorだって。
0099nobodyさん2007/05/14(月) 01:22:01ID:???
なんでapache2.2なのにphp5apache2.dllを呼ぶんだよバカ。
apache2,2用のdllを呼んでからでなおしてこいやボンクラ
0100nobodyさん2007/05/14(月) 01:23:47ID:???
( ・ω・)
0101nobodyさん2007/05/14(月) 01:37:31ID:Rgccl4HD
$str1 = "/AAA/BBB/CCC";
$str2 = "/BBB/CCC/DDD";

から共通部分の"/BBB/CCC"だけを抜き取るにはどうしたらいいの?
0102nobodyさん2007/05/14(月) 01:40:52ID:???
マニュアルの配列を扱う関数ページはもちろんみたんだろうな?
0103nobodyさん2007/05/14(月) 01:53:13ID:w1xXl1JO
>>99
どうもありがとう
おかげでエラーは出なくなりました

でもまだテスト用のスクリプト動かすとエラーが出ます
たとえば
<? phpinfo() ?>
だけのphpファイルを開くと
Parse error: syntax error, unexpected '@' in C:\Pr 略 est\phpinfo.php on line 2
になります
他のスクリプトの内容でも同じエラーです
質問厨ですいません
0104nobodyさん2007/05/14(月) 01:56:07ID:???
unexpected '@' といわれるのは、たいがい全角スペースが変なとこに入ってるときだな。
0105nobodyさん2007/05/14(月) 01:57:06ID:w1xXl1JO
>>104
その通りでした
ありがとうございました
0106nobodyさん2007/05/14(月) 02:01:42ID:???
PHPのフレームワークはいつになったらデファクトスタンダードゥが決まるんだろな
0107nobodyさん2007/05/14(月) 02:02:37ID:???
口は悪いけど面倒見がいい回答者がそろうインターネットですね
0108nobodyさん2007/05/14(月) 02:06:24ID:???
>91 こゆの見ると、己の才能の無さに凹むわ
0109nobodyさん2007/05/14(月) 02:07:51ID:???
関数でできることを書くのは自己まんにしかみえないよ
0110nobodyさん2007/05/14(月) 02:17:09ID:???
>>109
確かにそれはそうだ。
でも出来るけどやらないのと出来ないからやらないでは
全然意味合いが違ってくると思うんだ。
■ このスレッドは過去ログ倉庫に格納されています