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

【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
0403nobodyさん02/03/23 14:16ID:???
>>402
.htmlじゃ動かない設定なんだろ。
ローカル鯖では.htmlで動くように設定してるのか?
勿論ローカルでテストしてから動かしてるよな?
ローカル環境作れるやつがそんな基本も分からないのか?

つーか本当に調べたのか?
0404nobodyさん02/03/23 14:44ID:7h32oUgT
>>403
そうなんですか、ありがとうございます。
鯖屋に確認取ってみます。

あと、(ローカル鯖で実験してからするのが常識だとは知ってたものの)
テストはしてません。というかローカル環境は今後導入して行こうと思って
ます。とりあえず試したくてWeb上に載っていたサンプルをアップしてしまいました。
ごめんなさい。

Web上の情報や過去ログを見ましたが僕にはチンプンカンプンなのでせめて
皆さんの話の内容が理解できるようになったらまた来たいと思います。
ありがとうございました。
プログラムって外国語を勉強するようなものですかね?
0405nobodyさん02/03/23 16:22ID:???
>>402
PHP 徹底攻略は読んでおこう。
http://www.php.gr.jp/php/php4tettei/
あと、>>1 のPHPマニュアルも。日本語だし。

オープンソースのフリーソフトウェアがたくさん公開されてるおかげで、
金銭的に余裕がないリアル厨房でもwebと知恵を駆使すれば十分勉強できるよ。
がんばれ。
0406nobodyさん02/03/23 22:00ID:0OfOOAzp
forとwhileの違いを教えて下さい。
というか、どこか違うんですか?
0407nobodyさん02/03/23 22:10ID:???
>>406
あなたのIDがすごい
0408nobodyさん02/03/23 22:23ID:???
ありがとうございました。
自分で調べる事にします。
0409nobodyさん02/03/23 23:24ID:wgXrmnkN
>>408
それだけ言ってもお前が誰かは全くわからんぞ。
0410406,40802/03/24 00:20ID:???
>>409さん
あ、それもそうですよね。すいません。
名前欄にもあるとおり、406と408を書き込んだ者です。
0411_ ◆IVXmlxmI 02/03/24 00:24ID:???
>>406
どうでもいい話だけどPerlだとwhileの方が微妙に早かった
0412nobodyさん02/03/24 00:47ID:???
>411
同じはずだが?
その根拠は?
0413_ ◆IVXmlxmI 02/03/24 10:53ID:???
>>412
5000回ループを
Benchmark.pmで計ったらさせたら差が出ますた。
0414nobodyさん02/03/24 15:18ID:???
>413
おれのほうはほとんど同じだが? やりかたがちがうのか?
ソースを見せてみー!
041541402/03/24 15:55ID:???
>413
つーか、5000回程度のループだったらどちらも0secになるが、
どんなマシン使ったら差が出るの?
因みにこちらはCPU「MMX Pentium 233」のメモリ64MBだが
そっちはどうだ?
041641402/03/24 16:05ID:???
おやーのーーちをーひーくー

と、ワンフレーズうたったところで さりげなく age
0417 ◆AngelBlk 02/03/24 16:49ID:???
http://www.php.lt/benchmark/phpbench.php
しばらく前にこんなページ見つけた。
何かの参考になれば。

ZendStudio、英語版が試用化だったから試してみた。
補完にインクルードしたファイルの関数とかクラスを
追いかけてくれるのはいいんだけど、
クラスビュー(ツリーみたいに表示してくれるやつ)
はないのかな・・・。

0418nobodyさん02/03/25 01:25ID:vc0v+WM7
初心者の質問スマソデス。
現在WindowsXPにApache1.3.24とPHPをインストールしてPHPスクリプトを試しに動かしてみたいのですが、
localhostからphpファイルにアクセスしても「ファイルのダウンロード」が始まってしまいます。
おそらくhttpd.confが原因かと思われますが、色々調べてもわかりませんでした。
どなたかおわかりでしょうか?
0419nobodyさん02/03/25 01:35ID:???
色々調べてもわかりませんでした。
0420nobodyさん02/03/25 02:36ID:???
>>418,(>>419?)
httpd.confの問題だと思われ。
実行結果じゃなくってソースコードがダウンロードされるんだよな?
0421nobodyさん02/03/25 02:50ID:???
>>418
そのファイルをPHPファイルとして認識させるように拡張子の設定をしな
042241802/03/25 13:34ID:k/t8FdqM
>420
419は私ではありませんが、そのとおりです。ソースコードのダウンロードが始まります。

>421
手持ちの参考書通り
AddType application/x-httpd-php .php
に変更、
#LoadModule php4_module c:/php/sapi/php4apache.dll
を追加したのですが、ここに問題があるのでしょうか?
0423nobodyさん02/03/25 13:41ID:???
>>422
コメントアウトしてどうする。
0424nobodyさん02/03/25 14:14ID:XhUH/m4i
MySQLに格納されている画像の大きさを取得したいのですが
どうやったらいいでしょう?
GetImageSize($sql_dat[image])ではできませんでした。
SQLから取り出した画像を一回フォルダに書き込んでサイズ取得
その後フォルダの画像を消すみたいなのはかなり強引なやり方ですが…。
他に何か方法ありませんか?
0425nobodyさん02/03/25 15:33ID:Wy1qIOaA
PHPに限ったことではないのですが、PHPを利用していて少し困ったので質問です。

例えばURLに

ttp://pc.2ch.net/index.php?var=abc

などとしてGETで変数を渡す場合
ページ内にアンカー
<a name="def">
があったとして、このアンカーを指定するにはどうしたら良いでしょうか?
アンカーのみの指定ならば通常

ttp://pc.2ch.net/index.php#def

としますが、これが重なるとどうなるのか不明です。
考えられるようなことは一通り試してみたのですが・・・
そもそも不可能な感もがします。
なにか解決策があればよろしくお願いします。
0426nobodyさん02/03/25 16:51ID:KmZZ8WAs
私のIPアドレスを使って、アダルトサイト見てるおじさんがいます。
どうしたらいいですか?
0427nobodyさん02/03/25 16:52ID:???
>>426
わろた
0428( ´-`)02/03/25 17:31ID:08CC0/cf
>>425
<a href="http://pc.2ch.net/index.php?var=abc#def">link</a>
0429nobodyさん02/03/26 00:17ID:???
すみません、phpを4.0.6から4.1.2にしようと、入れ替えたのですが、下のようなエラーが出てしまい、
Apache上で動作させる事ができなくなってしまいました。もちろんphp4_ts.dllもphp.iniも入れ替えました。
仕方が無いので前の4.0.6に戻そうとしたのですがまた同じエラーが出てしまいました。どうすればよいのか
教えてください。

Syntax error on line 194 of c:/apache/conf/httpd.conf:
Cannot load c:/usr/local/bin/sapi/php4apache.dll into server: (1157) このアプリ
ケーションの実行に必要なライブラリ ファイルのうちの 1 つが見つかりません。:
Note the errors or messages above, and press the <ESC> key to exit. 27...
0430nobodyさん02/03/26 00:18ID:???
0431 ◆AngelBlk 02/03/26 01:41ID:???
>429
ちゃんとエラー読もうよ・・・
httpd.confの194行目にSyntax error。
スペル間違ってるとかタイプミスしてるとかしてない?

それか、php4apache.dllが所定の位置に入ってないか。
043242502/03/26 06:53ID:WETXB+nE
>428
ありがとうございます。

いやー、おかしいな、それも試したつもりだったんですけど。
しかし試した状況が
?abc=
と変数の中身は空文字列っていう・・・訳ありな変な状況で
?abc=#def
ってこりゃだめじゃないか・・・
解決しました、感謝。
043342502/03/26 07:45ID:???
おかしい、
?abc=#def
でもできてた。謎だ。
お騒がせしました。
とにかく助かりました。
0434nobodyさん02/03/26 16:22ID:???
opendir()とreaddir()を使ってディレクトリ内の全ファイル名を取得してるんだけど、
マニュアルにもある通り、特定の順序に並ばないのは知ってるんだけど、

マニュアルのサンプルを動かした結果:
pre14.php
pre11.php
pre13.php
pre12.php
pre10.php
pre15.php
pre16.php
pre17.php
pre18.php
pre19.php
pre20.php
pre100.php

なんでこんな風にバラバラに取得できるんだろ?
何回やってもこの結果になったんで何かに従ってるんだと思うんだけど。
タイムスタンプかi-nodeに関係あるのかと思ったけど違ったし。
0435nobodyさん02/03/26 19:17ID:0DHHOlhe
htmlなページを全てPHPに移行しようと思っていますが、ふと疑問がでました。

htmlなページでは、SSIでアクセスログを取っていたのですが、PHPページの中で
SSIのアクセス解析CGIを動かすことはできますか?
0436nobodyさん02/03/26 20:55ID:L9i8r0sf
Windows2000環境の人、ちょいと試して頂けませんか?
環境:Windows2000 + Apache1.3.19 + php4.1.2

---test.php---
<? echo `php -q test2.php`; ?>

---test2.php---
<? echo `echo aaa`; ?>

ブラウザでtest.phpアクセスすると、
X-Powered-By: PHP/4.1.2 Content-type: text/html
をひたすら繰り返して出力してくれます。
コマンドプロンプト経由だとしっかりaaaを返してくれるのですが。
0437nobodyさん02/03/26 21:53ID:???
>>434
phpじゃなくて、unixの話になるんだけど、
たとえばhogeがファイルじゃなくてディレクトリのときに
% hexdump -C hoge
を実行してみ。
0438nobodyさん02/03/27 00:22ID:UaVDXePK
今 Zeev 日本に来てるんやな。
043943402/03/27 03:18ID:???
>>437
ちょっとよく分からなかったです。
ディレクトリに対してhexdumpするって意味じゃないですよね。
ファイルにしたら16進が出るだけ・・・
なんだろうごめんなさいもうすこしくわしくおながいします(´д`)
0440nobodyさん02/03/27 08:31ID:U90sbad3
初めて質問します。
PHPで生のPOST文字列が欲しいのですが
$fin = fopen("php://stdin","r");
では取れませんでした。いい方法ありますでしょうか。

http://www.itboost.co.jp/man/php_man/function.mb-parse-str.html
>PHPは、生のPOST/COOKIEを提供し ないため
とか言われているのですが…
0441 ◆AngelBlk 02/03/27 09:46ID:???
>439
ディレクトリに対してhexdumpするって意味かと。

>440
まず、使っているPHPのバージョンは?
あと、具体的に何がしたいの?
044243402/03/27 12:48ID:???
>>441
そしたら、Is Directoryとしか出なかったんだけどなぁ。
LinuxのDebian使ってますが。
0443 ◆AngelBlk 02/03/27 12:59ID:???
>442
んー、うちだとこんな感じ。

> hexdump -C hoge
00000000 41 d5 4e 00 0c 00 04 01 2e 00 00 00 00 d5 4e 00 |A.N...........N.|
00000010 0c 00 04 02 2e 2e 00 00 42 d5 4e 00 10 00 08 07 |........B.N.....|
00000020 66 6f 6f 2e 70 68 70 00 43 d5 4e 00 14 00 08 09 |foo.php.C.N.....|
00000030 61 79 61 79 61 2e 70 68 70 00 00 00 44 d5 4e 00 |ayaya.php...D.N.|
00000040 c4 01 08 07 6e 79 6f 2e 70 68 70 00 00 00 00 00 |....nyo.php.....|
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200
>

FreeBSD4.5っす。
044443402/03/27 16:32ID:???
Linuxでは無理なんですかね。うーむ。
憶測でしか言えないんですが、
ダンプした時に現れるファイルの順、って事ですか?
0445 ◆AngelBlk 02/03/27 17:34ID:???
>444
たぶん、>437が言いたかったのはそう言うことだと
思うよ〜。

違ってたらツッコミよろしく。
044644002/03/27 17:44ID:???
>>441
ありがとうございます、当方4.0.6を使ってます。
用途はというと、しぃお絵かきアプレットのデータを受け取りたいのです。
生バイナリで自分でparseするところなので…。
0447 ◆AngelBlk 02/03/27 18:53ID:???
>446
絵板ってPOSTでアップロードしてるんだっけ?
それなら
http://jp.php.net/manual/ja/features.file-upload.php
このあたり使えば出来るかと。


ファイルアップロードっていうと、
PHP4.1.1以前に穴あるから出来るだけ
最新版(PHP4.1.2以降)使った方がいいかも。
044843702/03/27 21:58ID:???
そういえばLinuxはディレクトリをcatもできなかったな。んじゃ、
% ls -f
かな。readdir()っつーのは、ディレクトリファイルに格納されてるエントリを
順番に読み出してるだけなんで、どんな並びになるかってのはファイルシステムの
実装に依存するですよ。
044944002/03/27 22:52ID:???
>>447
http://www6.lunartecs.ne.jp/~stp/cgi/bbsnote/shi_help.htm#POST
独自形式なんでuploadでは無理みたいなんです。
045043402/03/27 23:58ID:???
>>448
なるほど、謎がとけました。どうもありがとう。
0451名無しさん@お腹いっぱい。@52202/03/29 00:35ID:RtQXAlBI
質問です!!!

PHPでpostgreSQLをcreatedbしたくて
まず、hoge.shというファイルをシェルで作成

su - postgres -c "createdb $1"

次に、phpソースでは、
<?
system("csh hoge.sh DB_NAME");
?>
って書いたんだけど、createdbしてくれません。なぜか教えて〜ぇ

ちなみに、コマンドラインからだとちゃんとシェルが動いてるんだけどね
0452nobodyさん02/03/29 00:42ID:???
su - postgres -c "createdb $1"

ってrootじゃないといかんのじゃ?
0453名無しさん@お腹いっぱい。@52202/03/29 00:47ID:RtQXAlBI
>>452
じゃ、どうするの?
0454名無しさん@お腹いっぱい。@52202/03/29 01:15ID:RtQXAlBI
>>452
これはどうなの?

hoge.shのファイル
su -
****** <- rootのパスワード

su - postgres -c "createdb $1"
0455名無しさん@お腹いっぱい。@52202/03/29 02:16ID:RtQXAlBI
<?
echo system("who");
?>
rootじゃないんだけど・・・・
どうしたら、rootになるの?
どこで、設定するの????
0456nobodyさん02/03/29 03:56ID:???
>>455
あほ
0457nobody02/03/29 13:06ID:0qXfiGHt
>>456
出来ないの????
0458nobodyさん02/03/29 14:26ID:ioukNhEY
apache1.3.24+php4.1.2+postgresql7.2+modssl2.8.8の構築をしたいです。
OSはportsが便利そうという事でFreeBSDで行こうと思います。
・全てportsからインストールして環境を整えるのは可能でしょうか?
・インストールした後にソースから入れる時でいうconfigureオプションは
 どこのファイルを書き換えるべきなのでしょうか?
・ソースからインストールとportsからインストールのメリットデメリットもあれば
 教えていただきたいと思います。
・ここを見ろ!というのでも助かります。
よろしくお願いいたします。
0459 ◆AngelBlk 02/03/29 16:08ID:???
>449
調べてみたんだけど、いまいちよくわからず・・・。
また時間ある時に調べてみる。
スマソ。

>450
portsから入れる利点は
インストール/アンインストールが楽
依存性があるソフトは足りないソフトも一緒にいれてくれる

欠点はインストールされる位置とか設定ファイルの場所とか
把握してないと見失いがちなこと。
後、最新版に即対応出来ないことがあることかな。

configureはPortsのMakefile見ればわかるはず・・・。
0460nobodyさん02/03/29 20:44ID:ioukNhEY
portsからphp4を入れてみたんですが
libphp4.soってどこに入るんですか?
0461親切な人02/03/29 20:51ID:???

ヤフーオークションで、凄い人気商品、発見!!!

「高性能ビデオスタビライザー」↓
http://page2.auctions.yahoo.co.jp/jp/auction/b22199908

ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
0462nobodyさん02/03/29 21:58ID:???
>>460 /var/db/pkg/$PKGNAME/+CONTENTS
046346002/03/29 22:06ID:ioukNhEY
>>462
/var/db/pkg/$PKGNAME/+CONTENTS
とはどういう意味ですか?
libphp4.soがこれなんですか?
046446002/03/29 22:40ID:ioukNhEY
自己レス。
portsから
/lang/php4でいれたときは
/www/mod_php4も入れれば
libphp4.soが入りました。
0465nobodyさん02/03/29 23:46ID:???
$PKGNAME を自分が入れた ports の名前に置き替えるべし。
すなわちこの場合は /var/db/pkg/mod_php4-4.1.2/+CONTENTS
このファイルの中にインストールされたファイルやらなんやらが書いてある。
0466nobodyさん02/03/30 01:44ID:???
>463
$ file /var/db/pkg/mod_php4-4.0.6_4/+CONTENTS
/var/db/pkg/mod_php4-4.0.6_4/+CONTENTS: ASCII text
$ cat /var/db/pkg/mod_php4-4.0.6_4/+CONTENTS
@name mod_php4-4.0.6_4
@cwd /usr/local
@pkgdep mysql-client-3.23.42
@pkgdep apache-1.3.20
@comment ORIGIN:www/mod_php4
bin/pear
@comment MD5:22b7923ad56776c64f234b57d60b3c0f
bin/php-config
@comment MD5:87c9caa19893adc928cee314d69ddb31
bin/phpextdist
:
:
(以下略)
0467nobodyさん02/03/30 19:40ID:fhg4NU7F
web mailを作っているのですが、
<textarea rows="5" wrap="soft" name="msg"></textarea>
で取得したmsgを
mail($to, $subject, $msg, $header);
で送信すると、本文の頭に必ず3行分の改行が入ってしまいます。

他に$msgをいじっている部分は
入力チェックと
文字コード変換
$msg = JcodeConvert($msg, 0, 3);
ですが、上記の部分はコメントアウトしても変化がなかったので
関係ないと思われます。
サーバーに関しても別のサーバーで試したところ、同様の結果に
なったので関係ないと思われます。

何か他に思いつく原因はないでしょうか?
よろしくお願いします。
0468nobodyさん02/03/30 22:49ID:???
>>467
とりあえず各処理の間で$msgの中身をファイルへ出力してどこが原因か探してみたかい?
046946702/03/31 01:46ID:pwj7EFfY
>>468
mail();の後も含め5箇所くらいでecho $msg;をしましたが、
いずれも$msg自体は正常に受け渡した通り出力されています。
ってことはmail()でなんか変なことをやっているとか・・・?

ちなみにソースは
http://pm5.kiss1.net/mail.phps
にあります。
実行は
http://pm5.kiss1.net/form.html
からです。
047046702/03/31 01:49ID:???
あ、phpsが使えない・・・
とりあえずtxtにしてあげておきます。
http://pm5.kiss1.net/mail.txt

ついでに稚拙な部分(ほとんど?)を直してみてほしいとか
他力本願なことを言ってみたり(^^;
0471nobodyさん02/03/31 06:28ID:???
>>467
一通りソース見ただけだから自信はないんだけど、
これは恐らくmail関数の問題では?
今昔知り合いが書いたソースを読んだんだけど、
そいつがmail関数使うところではヘッダの最後の行は
改行無しだった。
最後の引数の$headerの最後に\r\nいれちゃってるから
関数内で加えられる改行とで合計3つとか。
ここのところが一番臭いから試してみて。
047246702/03/31 11:04ID:???
>>471
おお!
おっしゃる通り、ヘッダにつける改行を削ったらちゃんと動作しました。
どうもありがとうございました。
しかし、ヘッダに改行があると本文に反映するってのはよくわからんなあ・・・
0473nobodyさん02/03/31 20:48ID:gcEm6bxV
ポマエラ!こんなロジック組んでくれ。おながいします

CSVデータの変更プログラム

列A,列B,列C
11,22,33
44,55,66
  ・ 
  ・
  ・

これを

列A,列B,列C
11,22,33
44,XX,66
  ・ 
  ・
  ・

55のところをXXに変更。
指定した列の指定した行を任意に変更できるロジック。
もちろん、なるべくメモリを食わないように。
0474nobodyさん02/03/31 21:10ID:???
>>473
本当にメモリの使用量を気にするなら、
CSVのファイルから直接読み込むのか
メモリ上にCSV形式のデータを編集するか
どちらかを教えれ。

これを作るに当たって何がわからないの?
メモリをなるべく使わない方法?
それとも置換そのもの?
とりあえず今まで何して、どう失敗したかとか書いてくれや。
047547402/03/31 21:11ID:???
ちょっとミス。

>メモリ上にCSV形式のデータを編集するか
メモリ上にあるCSV形式のデータを編集するのか

の間違いでした。
0476nobodyさん02/03/31 22:01ID:???
マルチポスト
http://pc.2ch.net/test/read.cgi/php/1017456911/8
0477nobodyさん02/04/01 09:24ID:wTPI09Op
html出力とファイル出力をうまく切り替えられる方法ないですかねぇ?
イメージ的には下のような感じにしたいのですが(もちろん動作しません)
/////////////////////////////////////
if($filesave==1){
fopen($fp,"filename.dat");
}else{
fopen($fp,"html"):
}
fputs($fp,"データ");
fclose($fp);
/////////////////////////////////////
0478nobodyさん02/04/01 12:55ID:???
>477
クラス作れ

class foo
var $f;
function foo($hoge)
{
$this->f=$hoge;
}

function fputs($data)
{
if ($this->f == なんとか) {
fputs ふが
else
fputs ほげ
}

こんな感じ。
047947702/04/01 13:13ID:???
そうしてみます。
ありがとうございました。
0480nobodyさん02/04/01 20:03ID:213sjeJ3
かちゅ〜しゃから送信されたフォーム情報がPHPで取得できません。
$HTTP_POST_VARSも空っぽです・・・。

ブラウザからなら取得できるのですが。

どうやったら取得できるのでしょう・・・。
0481nobodyさん02/04/01 22:11ID:RDA5NK4q
上省略
/bin/sh /usr/home/xxx/src/php-4.1.2/libtool --silent --mode=link gcc -I. -I/usr/home/xxx/src/p
hp-4.1.2/ -I/usr/home/xxx/src/php-4.1.2/main -I/usr/home/xxx/src/php-4.1.2 -I/usr/home/xxx/s
rc/php-4.1.2/Zend -I/usr/home/xxx/src/php-4.1.2/ext/mysql/libmysql -I/usr/home/xxx/src/php-4.1
.2/ext/xml/expat -I/usr/home/xxx/src/php-4.1.2/TSRM -g -O2 -o php -export-dynamic stub.lo lib
php4.la
/usr/libexec/elf/ld: cannot find -lpq
*** Error code 1

Stop in /usr/home/xxx/src/php-4.1.2.
*** Error code 1

Stop in /usr/home/xxx/src/php-4.1.2.
>
php4.1.2をダウンロードしてきて./configure makeしたところなんですが
こんな感じです。なにがいけないのでしょうか?
おねがいします。
0482nobodyさん02/04/01 22:13ID:RDA5NK4q
/bin/sh /usr/home/xxx/src/php-4.1.2/libtool --silent --mode=link gcc -I. -I/usr/home/xxx/src/p
hp-4.1.2/ -I/usr/home/xxx/src/php-4.1.2/main -I/usr/home/xxx/src/php-4.1.2 -I/usr/home/xxx/s
rc/php-4.1.2/Zend -I/usr/home/xxx/src/php-4.1.2/ext/mysql/libmysql -I/usr/home/xxx/src/php-4.1
.2/ext/xml/expat -I/usr/home/xxx/src/php-4.1.2/TSRM -g -O2 -o php -export-dynamic stub.lo lib
php4.la
/usr/libexec/elf/ld: cannot find -lpq
*** Error code 1

Stop in /usr/home/xxx/src/php-4.1.2.
*** Error code 1

Stop in /usr/home/xxx/src/php-4.1.2.
>
となってしまいました。
なにがいけないのでしょうか?よろしくおねがいします。
048348102/04/01 22:14ID:RDA5NK4q
あれ?書き込めてる。失敗。
0484名無しさん@お腹いっぱい。02/04/02 00:31ID:cW7c6rc4
どこに質問していいのやら・・・
板違いだったらごめんなさい。
通信技術のほうにも書き込みました。

画像UPのPHPを作ったんですが、動作チェックをしてて妙な事に気づきました。
1ピクセルごとに、赤、青、緑、赤、青、緑・・・
2行目緑、赤、青、緑、赤、青・・・
3行目青、緑、赤、青、緑、赤・・・
というように交互に塗っていって、BMP Win形式24bitで保存した画像をupしようとすると、24×24ピクセル以上は、なぜかupできないのです。
それ以上のファイルサイズの普通のbmpファイルはアップできます。
いろいろ試してみました。
Windows2000personal+IE6.0、Windows2000Server+IE5.0、Windows2000Server+NN4.5、MacOS9.2+IE5.0,MacOS9.2+NN4.7
いずれも同じ動作で、OSやブラウザによる依存はないように思われます。
また、画像のほうもPhotosho5.5Win版で加工したものですが、ペイントブラシで作成したりいろいろ試しました。
また、2色、4色の格子は問題ないのですが、3色の格子だけだめなようです。3色のスプライト、ボーダーも同様の現象。
また例えば100×100の上記格子に、先頭以外の一部分(例えば20×20)の黒塗りつぶし領域をつけても同様でした。(先頭は試してません)
また、CGIの画像UP掲示板なんかも試してみたのですが、これもだめでした。
なにかこの現象についてご存知の方がいらしたら是非教えてください。
また、3台のマシンでしか試してないので、皆さんの結果もできれば聞きたいです。
私の稚拙な頭では、画像のパターンが原因か通信部分での問題しか思いつかないのでよろしくお願いします。
0485nobodyさん02/04/02 00:45ID:???
>>484
とりあえず検証用に問題の画像をうpすれ。
0486名無しさん@会社02/04/02 09:27ID:0y5SIjSU
>>485

FTPもできなかったので、とりあえずJPGにしてageました。
使用時BMPに変換してください。

http://www.geocities.co.jp/MotorCity-Race/2671/syo2.jpg
http://www.geocities.co.jp/MotorCity-Race/2671/syo3.jpg
http://www.geocities.co.jp/MotorCity-Race/2671/syo4.jpg
0487nobodyさん02/04/02 09:42ID:ff+k1ZXe
画面表示を SJIS で、内部処理を EUC でやっているPHP プログラム A.php があります。
(サーバは FreeBSD 4.4R, Apache 1.3.20, PHP 4.1.2)

たとえば、

$t1 = "SJISの文字列";
<form action="B.php" method="POST">
<input type="text" name="t1" value="$t1">
:
</form>

と書いた場合、B.php では $t1 は SJIS で受け取れるんでしょうか、
それとも EUC ですか。

あるいは、HTTPサーバによって異なってしまうんでしょうか。

A.PHP と B.PHP で、うまく日本語が渡ってくれなくて困っています。

どなたか助けてください。
0488 ◆AngelBlk 02/04/02 10:32ID:???
>487
ブラウザの仕様によるのでは?
基本的にブラウザが表示している文字コードで送られてくるはず。
その後、どうなるかはPHP側の設定。
mbstring.http_inputがautoになっていたら
SJISで受け取った後内部エンコーディング(この場合EUC)に
変換してると思います。

心配ならmb_convert_encoding使って自分で文字コードを
指定したほうがトラブル無いと思うけど。
0489nobodyさん02/04/02 18:50ID:C7YJwDj/
フレームを使って、フレームの要素のページに、前のページのフォーム
からの値を、送れるようにしました。

<frame src="fra3.php<? echo ("?atai1=$atai1"); ?>

ここで$ataiに配列を利用したいのですが、どう記述すればよろしいで
しょうか。atai[0]=$atai[0]&atai[1]=atai[1]、と網羅的に記述すれば
確かにできるのですが、見にくいものとなってしまいます。

簡潔に書く方法がご存知でしたら、参考サイトや手段など教えてくださ
い、よろしくお願いします。
0490あはっ。☆。。。☆。02/04/02 18:57ID:MsnfFTr6
http://www.kokorode.com/000000/
0491名無しさん@お腹いっぱい。02/04/03 00:21ID:gGeAb4cd
484です。
どうも火壁の問題のようです。
お騒がせしました。って解決はしてないんですけど。
0492apacheuserさん02/04/03 01:56ID:???
>>489
区切り文字を一つ適当に選んで、
配列の中にその文字があったらエスケープする。
後はimplodeで区切り文字をつければよし。

復元のほうのアルゴリズムのほうがちょっと面倒。
そんな難しくないけど。

こんなんでいい?
0493 02/04/03 09:53ID:qAYnfRwX
>apacheuserさん

うまくいきました。
どうもありがとうございました。
0494名無しさん@お腹いっぱい。02/04/04 04:19ID:???
tableやdivで、例えばaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
とかやると、スタイルシートで幅を定義してても、びにょ〜んと伸びちゃいますよね。
これの対策としてwordwrap使ってぶった切りかませばいいのだなと
やっちゃみたのですが、これのlengthってバイト数だそうで、
1バイト文字と2バイト文字を組み合わせて使っちゃうと変に切れて文字化けしちゃいます。

何かいい方法ありましたらどうかご教授ください。
0495nobodyさん02/04/04 12:17ID:WzAT/ySJ
>>494
mbstrlenを使うとよろし
0496名無しさん@お腹いっぱい。02/04/04 13:22ID:???
>>495
mbstring関連の関数って、mbstring は拡張モジュールとかマニュアルに書いてあるんですが、
どこでもつかえるのですか?
ribbon networkにアップして、
<?
echo mb_strlen("あげ");
?>
とやってみたのですが、何も表示されません。
これだけじゃだめなんですか?
0497nobodyさん02/04/04 16:04ID:HHqarjRe
>>496
print mbstrlen("あああaa","Shift_JIS");
これでテストしてみるとよろし
049849402/04/04 17:41ID:???
>>496さん、ダメです。何も表示されません・・・。
<?
print "前";
print mb_strlen("あああaa","Shift_JIS");
print "後";
?>
このように書くと、



だけしか表示されませんでした・・・。
0499 ◆AngelBlk 02/04/04 18:08ID:???
>498
うちの環境だと
前5後
って出るけど。

で、ふと思ったこと。
PHPの設定を確認してほしいんだけど
php.iniで
display_errors = Off
にしてない?
これだと
1.mbstring入っていないからmb_strlenが無いというエラーがでる
2.エラーが出た場所以降、画面には何も表示されない。
ってことに。
0500 ◆AngelBlk 02/04/04 18:09ID:???
>499に追加。
<?php
phpinfo();
?>
っていうファイルを実行すべし。
display_errorsのOn/Offもわかるし
mbstringが入っているかどうかもわかるはず。

0501nobodyさん02/04/04 20:46ID:???
ribbon.toはエラー出ない設定になってるしmbstringも入ってない。
050249402/04/04 21:58ID:???
ううう、懇切丁寧にありがとうございます皆さん。

で、mbstring入ってないってことは他の方法考えにゃならんってことだということですよね、、、
むむむー。ギブアップ。
■ このスレッドは過去ログ倉庫に格納されています