【PHP】質問スレッドPart3
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/02/17 13:23ID:N+9Uw5dE答えられる方、返答よろしくお願いします。
<<参考リンク>>
■本家
http://www.php.net/
■PHP日本語マニュアル
http://www.php.net/manual/ja/
■JapanPHPUsersGroup
http://www.php.gr.jp/
■PHP日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/
<<過去スレ>>
■【PHP】質問スレッドPart1
http://ebi.2ch.net/test/read.cgi/php/982687820/
■【PHP】質問スレッドPart2
http://pc.2ch.net/test/read.cgi/php/1003283567/
<<教えて君>>
■ここ見習って書き込んじゃ、駄目よ
http://pc.2ch.net/test/read.cgi/unix/1011345180/242-245
003127
02/02/22 00:44ID:???http://www.zend.co.jp/products/
http://www.zend.com/store/products/zend-studio.php
それより、Zend Studioが気になる。
高いけど導入価値はあるのだろうか?
0032名無しさん@お腹いっぱい。
02/02/22 01:01ID:???追加ログの長さ分だけ既存ログをシフトさせとけば?
fread()/fwrite()で小分けにしてシフトさせりゃメモリ食わんと思うが。
0033名無しさん@お腹いっぱい。
02/02/22 01:31ID:???>掲示板のログを1つのファイルに保存してます。
>それで最新の記事をファイルの先頭に保存する際に
末尾に追加して、うしろから読み出すっつーのじゃだめ?
0034名無しさん@お腹いっぱい。
02/02/22 02:16ID:???↓
古いログから読み込んで追加
↓
古いログをunlink
↓
新しいファイルをrename
というのは無駄すぎ?
0035名無しさん@お腹いっぱい。
02/02/22 09:46ID:???0036厨房君
02/02/22 15:55ID:kXWUShxIヘッダの前に
<? $filename="test.txt";
if ( $submit ){
$backupfile=$filename.".bak";
if (copy($writefile,$backupfile))
{$fp = fopen($filename,"w");
if (flock($fp,2)){
fputs($fp,$contents);
flock($fp,3);
}else{
echo "erroe:file lock";
exit;
}
fclose($fp);
}else{
echo "error backup";
exit;
}
といれたら
Warning: Undefined variable: submit in c:\inetpub\wwwroot\aaa.php on line 2
とでてきます?
なんででてくるんですか?
0037423
02/02/22 16:00ID:HkC8f5Xi<input type="submit" name="hoge" value="ボタン押せ">
とかでボタン出してるんなら、$hogeでちぇっくしなくちゃ。
0038厨房君
02/02/22 16:07ID:kXWUShxIなかなかむずかしいですね。PHPって。
初心者でもマスターしやすいっていうのにひかれて今日PHPを始めたんですが、なんかはやくも挫折してしまいそうです。。
てことで、どうもありがとうございました
0040厨房君
02/02/22 16:10ID:kXWUShxIそれを下に入れればいいんですか??
0041名無しさん@お腹いっぱい。
02/02/22 17:29ID:???って、使っちゃ、駄目なんじゃないの?
if ( $omanko ){
に変更して
<input type="submit" name="omanko" value="ボタンおまんこ">
でサブミットしてあげれば
0043名無しさん@お腹いっぱい。
02/02/22 18:29ID:???if( isset($omanko) )
にしないと、きちんと動作しないとおもはれ。
0044北の名無しサン@FreeBSD
02/02/22 20:23ID:ca9PRzqo逝けるよ〜ん。でも高すぎ…
しゃ〜ないから、毎月決済の方使ってる。
0045北の名無しサン@FreeBSD
02/02/22 20:24ID:ca9PRzqo日本語の表示関係は昔より大分まともになりました。
が、おいらは使ってないです。
だって重すぎなんだも〜ん(涙
0047北の名無しサン@FreeBSD
02/02/23 01:55ID:???Win版しかダウンロードしてないからわかんないです。
でも,多分Javaなんじゃないの? そうでないとJavaで作ってる意味が…
とおもうんだけど。
0048ままーん
02/02/23 15:16ID:Zox6ntCNがある場合 "" に変換したくて以下のコードを試したのですが
$report = ereg_replace ('"', '""', $report);
"記事管理者画面" -> \""記事管理者画面\""
上記のように\がくっついてしまいます。
どのように解決すればよろしいでしょうか?
perlでいう $report =~ s/\"/\"\"/g; という処理をしたいのですが・・。
0050phpな名無しさん
02/02/23 20:38ID:uPzzZRLr(,,*゚/ /|> ,◇
ノつ、/||◇γ
(_,,う▲□□凸□
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧ ∧ 〜♪
(*゚ー゚)
、ノ つC□
(_,,う▲□□凸□
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
★★
口◇口口☆ ■ age!!
□ ☆口口◎口 ∧ ∧
口 ▽ ▼ ◎ (*゚ー゚)
○ 口 / |
▼ ○ 〜(,_,,ノ
0051名無しさん@お腹いっぱい。
02/02/25 00:08ID:3vrmdlHX現在のカウント数を保存するためのファイルcount.datだったとして、
1.count.datが存在しない場合は作成する
2.その他はカウンタとして当然の機能
を実現したいんだけど、どうすりゃスマートかなあ。
いまいちわかんなかったから、今は
1.fopenのa+で、ファイルが存在しないときは作成し、ファイルの内容を読み込む
2.a+で開いたファイルポインタを閉じ、unlinkでそのファイルを削除する
3.fopenのwでファイルを作成し、a+で読み込んだ内容をインクリメントしたものを
書き込む
みたいな感じで実装してんだけど、もっとスマートな方法がありそだし。。。
それにしてもこの方法だせーな(汗
0052名無しさん@お腹いっぱい。
02/02/25 00:31ID:7MsnFSwt単純にw+でfopenしちゃだめなの?
ファイルがなければ勝手に作ってくれるし、あれば中身を読み込んで
+1すればいいし。
005351
02/02/25 00:39ID:3vrmdlHX開いたときにファイルの中身がなくなっちゃう(nullになる)んだよね。
つまり、何回カウンタ回しても1が保存されてる。
ふつうはw+でいけるもんなの?
005451
02/02/25 00:44ID:3vrmdlHXWin2000Pro、AN HTTPD、PHP4.1.1
localhostでのテスト中
0055名無しさん@お腹いっぱい。
02/02/25 01:01ID:+42bmYuS追加書き込みで0をプリントしていけば、
そのファイルサイズ=カウント数ってテクもあります。
あと普通のカウンタは
$fp = fopen($COUNT_FILE, "r+");
$count = fgets($fp, 2048);
$count++;
fseek($fp, 0);
fputs($fp, $count);
fclose($fp);
って感じじゃない?
005651
02/02/25 01:11ID:3vrmdlHXあー、なるほどね。
それ結構いいね。そうしようかな。
ふつうのカウンタはそうだけど、
r+じゃファイル作ってくれないから困ってるんだって。
あと、fseekは要らない気もした(怪しいけど)
rってポインタ頭に置いてくれない?
0057名無しさん@お腹いっぱい。
02/02/25 01:14ID:+42bmYuSfseekしなかったらカウンタにならないんじゃ
005851
02/02/25 01:18ID:3vrmdlHXほんとだ。
r+、fseekなしでやってみたらすげーことになった。
勘違いスマソ
0059名無しさん@お腹いっぱい。
02/02/25 18:13ID:???006051
02/02/25 21:59ID:???……それがいい気がしてきた。
つーか、今の実装って禿しくやばいような(苦笑
1.aが数字を読み込んでファイルを削除
2.aが削除してる間にbがその処理に行く
3.aが書き込みようのファイル作成
4.bがファイルを読み込む
5.aが書き込む
6.bが書き込む
7.(゚д゚)マズー
0061名無しさん@お腹いっぱい。
02/02/25 23:56ID:80OsEAbUif (!file_exists($filename)) {
touch($filename);
}
$fp = fopen($filename, 'r+');
if (!$fp) {
die('fopen error');
}
flock($fp, LOCK_EX);
rewind($fp);
$count = fgets($fp, 16);
if (empty($count)) {
$count = 0;
}
$count++;
rewind($fp);
fputs($fp, (string)$count);
fclose($fp);
でどうよ。
006251
02/02/26 00:10ID:IIIHmPvaもらった。カウンタ機能はそれで実装決定。
touchなんて関数知らなかったのは秘密。
006361
02/02/26 00:21ID:EFcQI2qbhttp://www.php.net/manual/ja/function.touch.php
の左端の関数リストを適当にクリックしてるだけでも、かなりいろいろ分かると思われ。
0064名無しさん@お腹いっぱい。
02/02/26 00:57ID:???もらったもクソもそれくらい書けないと正直マズイと思われ。
そのまま実装する前に何でそうなるのかマニュアル読みながら理解しとけと。
0065名無しさん@お腹いっぱい。
02/02/26 14:15ID:???それは、確かに、しらなかった..
>>61自体は、もらうも何も、ま、ごく普通のカウンタ。
だいたい、カウンタなんて、今時、何につかうの?
どーせ、カウンタ使ってる位だから、どきゅそなホームページなんだろうね。
ま、カウンタ、できたら、URL公開してや。
おもいきり、カウンタ、あげてあげるから。藁
006651
02/02/26 14:31ID:???精進いたす所存にございます
>>65
別にサイトじゃないし(苦笑
ファイル名ユニークに生成するなら、
カウンタ機能が楽かなー、と思っただけだYO!
0067名無しさん@お腹いっぱい。
02/02/26 14:53ID:???tempnamつかえ!
0069教えて君
02/02/26 15:26ID:???まぁそうやっていろいろ学んで行くんだろうから
試行錯誤も(・∀・)イイ!と思うけどね。
0070名無しさん@お腹いっぱい。
02/02/26 18:28ID:???何に使うの?誰が使うの?
勉強とか、宿題ならいいけど、はっきりいって、意味ないぞ。
0071_ ◆IVXmlxmI
02/02/26 19:10ID:???その上、日本語がおかしいおまけ付き。
ていうのは、どうでもいいとして
PHPマニュアルのEUC-JP版ってどこかにないですか?
自分で変換するしかないかな。
UTF-8だとnamazuで検索できなくて。
森田検索、なんつったりして♪
0072名無しさん@お腹いっぱい。
02/02/26 20:13ID:???ミナミ ━━━━━━(゚∀゚)━━━━━━ !!!!!
ヒガシ━━━━━━(゚∀゚)━━━━━━ !!!!!
ニシ ━━━━━━(゚∀゚)━━━━━━ !!!!!
0073名無しさん@お腹いっぱい。
02/02/26 21:01ID:Pp6lneKl微妙なずれの修正きぼんぬ。
0074名無しさん@お腹いっぱい。
02/02/26 21:36ID:???━━━━━━(゚∀゚)━━━━━━ !!!!!
━━━━━━(゚∀゚)━━━━━━ !!!!!
━━━━━━(゚∀゚)━━━━━━ !!!!!
━━━━━━(゚∀゚)━━━━━━ !!!!!
0075名無しさん@お腹いっぱい。
02/02/26 22:33ID:???そろいすぎるとキモイ
微妙なズレをきぼんぬ。
0076名無しさん@お腹いっぱい。
02/02/26 22:44ID:???┏━━━━( ゚∀)━━━━┛ .┗━━━━(∀゚ )━━━━┓
┗━━━━( ゚)━━━━┓ .┏━━━━(゚ )━━━━┛
┏━━━━( ,)━━━━┛ .┗━━━━(, )━━━━┓
┗━━━━(゚ )━━━━┓ .┏━━━━( ゚)━━━━┛
0077名無しさん@お腹いっぱい。
02/02/26 22:44ID:???君らワラタよ
0078名無しさん@お腹いっぱい。
02/02/26 22:44ID:???┏━━━━( ゚∀)━━━━┛ .┗━━━━(∀゚ )━━━━┓
┗━━━━( ゚)━━━━┓ .┏━━━━(゚ )━━━━┛
┏━━━━( ,)━━━━┛ .┗━━━━(, )━━━━┓
┗━━━━(゚ )━━━━┓ .┏━━━━( ゚)━━━━┛
┏━━━━(∀゚ )━━━━┛ .┗━━━━( ゚∀)━━━━┓
┗━━━━(゚∀゚)━━━━━━━━━━━(゚∀゚)━━━━┛
0079_ ◆IVXmlxmI
02/02/28 00:03ID:???https://www.netsecurity.ne.jp/article/2/4144.html
コレ関係は含まれないのかな?
0080名無しさん@お腹いっぱい。
02/02/28 01:02ID:fv7QtiV9php.exeを実行しても
必要なDLLファイルODBC32.DLLが見つかりませんでした。
とかいうエラーメッセージが出てきて勝手に終了してしまいます。
誰かこれの原因がわかる人いますか?
当方win98です。
0081名無しさん@お腹いっぱい。
02/02/28 01:15ID:???そのままODBC32.DLLがないんじゃないの?
0082名無しさん@お腹いっぱい。
02/02/28 01:23ID:F/W694nAWindowsユーザーに、そんな高度な事、いっても、だめだよ〜
エラーメッセージなんて、読まないでコピペにしか、つかわないんだし…
こういうときの、回答は、OSの再インストールが必要です
って一言、いっておけばいいんだよね〜藁
0083名無しさん@お腹いっぱい。
02/02/28 01:30ID:???0084名無しさん@お腹いっぱい。
02/02/28 01:33ID:???ちょっと検索してみたら
http://www.microsoft.com/japan/developer/data/download/mdac/26/26065263.asp
をダウンロードすれば良いとのこと。
っつか、「ODBC32.DLL」で検索したらいっぱいでてきたぞ。
008584
02/02/28 01:34ID:???0086名無しさん@お腹いっぱい。
02/02/28 01:41ID:yurHYYfeとりあえず、MDACダウンロードして、インストールしてみな。
dllとして、登録されるでしょ。
008780
02/02/28 02:11ID:FbR74De/どうもありがとうございます
ウィンドウズを再インストールする前は
エラーがでずに実行できたので混乱してろくに調べもしませんでした
すいません
0088_ ◆IVXmlxmI
02/02/28 02:28ID:???┏━━━━━━━( ゚)━━━━━━━━━━━━━━┓┃
┃┏━━━━━━━━(゚ )━━━━━━━━━━━┓┃┃
┃┃┏━━━━━━━━━━━━━━━━━━━┓.┃┃┃
┃┃┃┏━━━━━━━━(゚∀゚)━━━━━━━━╋╋╋╋━━!!!!!
┃┃┃┗━━━━━━━━━━━━━━━━━━┛.┃┃┃
┃┃┗━━━━━━━━━━━(∀゚ )━━━━━━━┛┃┃
┃┗━━━━━━━━━━━━━━( ,)━━━━━━┛┃
┗━━━━━━━━━━━━━━━━━( ゚∀)━━━━━┛
0089_ ◆IVXmlxmI
02/02/28 02:30ID:???0090_ ◆IVXmlxmI
02/02/28 02:31ID:???0091名無しさん@お腹いっぱい。
02/02/28 10:57ID:???これってファイルアップロードを公開してなければ別にいいんだよね?
0092教えて君
02/02/28 14:10ID:Sg2+650Kダメらしいよ。
つーか、だれか 3.0.18-i18n-ja-2 用のパッチ作ってくれー
0093教えて君
02/02/28 14:22ID:Sg2+650Kつか、これでいいのか?
--- mime.c.orig Wed Nov 22 02:56:54 2000
+++ mime.c Thu Feb 28 14:16:11 2002
@@ -26,7 +26,7 @@
| Authors: Rasmus Lerdorf <rasmus@php.net> |
+----------------------------------------------------------------------+
*/
-/* $Id: mime.c,v 1.64 2000/10/17 01:30:59 sas Exp $ */
+/* $Id: mime.c,v 1.65 2002/02/21 18:49:47 sesser Exp $ */
#include <stdio.h>
#include "php.h"
#include "internal_functions.h"
@@ -113,7 +113,9 @@
SAFE_RETURN;
}
loc = memchr(ptr, '\n', rem);
+ rem -= loc - ptr;
name = strstr(ptr, " name=");
+ ptr = loc;
if (name && name < loc) {
name += 6;
s = memchr(name, '\"', loc - name);
@@ -172,6 +174,10 @@
sbuf=estrdup(abuf);
#endif /* PHP3_I18N */
} else {
+ if (abuf) {
+ efree(abuf);
+ abuf = NULL;
+ }
#ifdef PHP3_I18N
i18n_http_post_puts(namebuf);
i18n_http_post_puts("_name");
0094_ ◆IVXmlxmI
02/02/28 23:08ID:???でますた
0095名無しさん@お腹いっぱい。
02/03/01 02:41ID:???PHP 4.xに開発体制が以降したため、
PHP 3.0.xの国際化対応版の開発は、
(深刻なセキュリティホールの修整を除き、)終了しています。
以降。
あと、修整ってこういう時にも使うのか?
0096名無しさん@お腹いっぱい。
02/03/01 19:35ID:???でてるよ。だけんども、
php_version.h の
#define PHP_VERSION "3.0.18"
#define PHP3_I18N_VERSION "i18n-ja-2"
ってversionケアレスミスな感じ。
0097名無しさん@お腹いっぱい。
02/03/01 22:42ID:n34+MBcQこれなんだけど、Win Apache+PHP4.0.6で動かすと、ログに空白行がズラーっと書き込まれる。
分析してみたとこ、一回書き込まれる毎に空白行が一行ずつそれぞれのコメント行に付加されるみたい。
かと言って、行数をカウントしている変数を表示させたら、正規の行数になる。
どこで空白改行コードが書き込まれてるのだろう・・・・
エディタで読み込むと38万行で、空白改行だけ除去してログの部分だけにすると700行なんだよ〜。
0098名無しさん@お腹いっぱい。
02/03/01 22:48ID:???全然見ないでカキコ。
\r\nと\rと\nの違いはどういう扱いになっているのだろう?
0099名無しさん@お腹いっぱい。
02/03/01 22:54ID:???i18n_ja_jp_hantozen()
で、「”」が「"」になってくれたけど
PHP4になって変わってくれなくなった。なんで?
0100名無しさん@お腹いっぱい。
02/03/01 23:40ID:5OIg3ecR0101名無しさん@お腹いっぱい。
02/03/02 01:27ID:l/A2rqb3それなんだけど、初期状態では\nとなってるんだが、\rとか\n\rとか\r\nって試したけど、
初めはちゃんと書き込まれるが、ログが飛んでしまう。原因不明で、どーにもならんです。
fputs($fp, $koumoku."<>".$no[1]."<>".$com."<>".$REMOTE_ADDR."<>".$date."<>\n");
となってるんだけど、これ、特に間違ってないんだよなぁ。
Win鯖+PHPだからか?
0102無料
02/03/02 01:37ID:voSOqZmi┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
☆★☆現金1000万円が当るチャンス!☆★☆
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
************************************************************
【その他キャンペーン】
人気ゲーム機プレゼントキャンペーン!
田中貴金属製 金ののべ板(純金)プレゼント!
☆☆☆ フィット(車)プレゼントキャンペーン! ☆☆☆
豪華賞品がもらえる!ビンゴゲーム!(毎週実施)
毎日豪華賞品が当る☆毎日懸賞☆
************************************************************
http://www.fruitmail.net/cgi/introduce_jump2.exe?517755
0103nobodyさん
02/03/02 02:00ID:???0104nobodyさん
02/03/02 09:27ID:???$fp = fopen("a.log","r");
$contents = fread( $fp, filesize( "a.log" ) );
fclose($fp);
$fp = fopen("a.log","w");
fwrite($fp, $contents+1);
fclose($fp);
?>
と、読み込むのに一度開いて、書き込むのにまた開いて・・・ってしてるんですが、
一度に出来ますでしょうか?
0105nobodyさん
02/03/02 09:35ID:ldf38DFr$fp = fopen("a.log","r+");
$contents = fread( $fp, filesize( "a.log" ) );
fseek($fp, 0);
fwrite($fp, $contents+1);
fclose($fp);
?>
で動く?
0106nobodyさん
02/03/02 09:53ID:???エラーも何も出ません。。
# apache for win32(1.3.22) + php4です
0107nobodyさん
02/03/02 09:56ID:???普通のHTMLも表示しなかったりして
0109nobodyさん
02/03/02 14:15ID:???フリーのPHPを配布しているところってあるんでしょうか?
海外ほど日本は多くないんですか?
なかなか思ったものがみつからず困ってます。
どこかいいとこあったら教えてください
0110nobodyさん
02/03/02 17:45ID:ldf38DFrれっつ、PHPじゃ、だめなの?
0111nobodyさん
02/03/02 17:59ID:xzfRHLYl$contents+1 ってのが謎やな。
なにがしたいんだ?
0112nobodyさん
02/03/02 20:17ID:pM8GMSO8++$contents
に変えてみな。
それから、このプログラムだったら、何も表示されなくて、当然だけど…
0113104
02/03/02 22:00ID:dw498nIDちなみにただのテストカウンターです。
0114名無しさんに接続中…
02/03/02 23:27ID:7pVD+YgT0115nobodyさん
02/03/02 23:46ID:???0116_ ◆IVXmlxmI
02/03/02 23:56ID:???http://www.st.ryukoku.ac.jp/~kjm/security/ml-archive/incidents/2002.02/msg00243.html
Toolが出回ってるらしいけど、不明。
0118nobodyさん
02/03/03 00:28ID:1xLD0C1V0120nobodyさん
02/03/03 00:50ID:T1JS/I3hおれもローカルにレン鯖と同じ環境作ってる。
だったら自宅鯖でいいじゃんていう話もあるが・・・
0121118
02/03/03 00:56ID:1xLD0C1VLinuxいれてるとかWindows版でやってるとか。
出来ればスペックも教えてほしいです。
0122120
02/03/03 01:33ID:T1JS/I3hんじゃ俺の環境
FreeBSD + Apache + PHP + MySQL
レン鯖のアカウントと同じID・PASSWORDでアカウント1個作ってる。
MySQL のアカウントも同じ。
Apache にはバーチャルドメインを設定して、
レン鯖と同じような感じでアクセスできるようにしてある。
違うのは、レン鯖は Linux ってところかな。
こんなんでいい?
0123119
02/03/03 02:05ID:???んじゃ俺も。
サーバはハウジングを利用してる。
ローカルでも全く同じモノを用意して、ハードトラブル時の予備兼
実験・テスト機にしている。
環境はFreeBSD4.4 + Apache1.3.14 + PHP4.1.2 + MySQL3.23.39。
0124119
02/03/03 02:06ID:???0125nobodyさん
02/03/03 17:06ID:???海外でも構わないのですが、写真をあげとけばフォトアルバムになるようなものを探してます。
サムネイルを自動生成してくれて、それぞれのページに簡単なコメントと他画像へのリンクを貼りたい。
さらにimodeのページも生成してほしいです。
現在手作業で作っておりますが、PHPサーバを借りて移行したいとおもっております。
0126nobodyさん
02/03/03 17:37ID:???それくらいだったら探すより自分で作ったほうが早くない?
0128118
02/03/03 18:01ID:RuQ6RTRaPhotoHighwayで作った方がええと思う
0129nobodyさん
02/03/03 18:15ID:???まさにあのスクリプトが欲しいんです(笑
やっぱ分かりました?
ただ仕事で使うので勝手に人のサーバに寄生するわけにはいかないので、、、、
0130nobodyさん
02/03/03 23:01ID:XAnFyXJOお金、いくらはらってくれるの?
■ このスレッドは過去ログ倉庫に格納されています