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

【PHP】質問スレッドpart18【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/06/14 14:36ID:???
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。


■本家
 http://www.php.net/

■日本 PHP ユーザ会
 http://www.php.gr.jp/

■PHP マニュアル
 http://www.php.net/manual/ja/

■PEAR マニュアル
 http://pear.php.net/manual/ja/

過去スレ, 関連スレ等>>2-4


抜けているものがあったら補足願います
036923904/06/26 01:26ID:???
>>288
遅くなりましたがサンクスです
0370カポコン04/06/26 02:39ID:???
どうもです
0371nobodyさん04/06/26 06:20ID:???
>>368
あー、やっぱりそうなっちゃいますか。
配布したいので、やっぱり
imgタグからphpを呼び出してgetで渡した方が
良さそうですね。
ありがとうござい真下。
0372nobodyさん04/06/26 11:58ID:???
みなさま、すみません。捜し物です。

メルマガの広告などによく使われる、
http://www.xxxx.com/xxx.php?id=xxxx
のような、リダイレクトするphpで、なおかつ http://www.xxxx.com/
のrefererを相手のServerにきちんと受け渡すタイプのを探しています。
リダイレクト先のListは別ファイルで用意する形です。
0373nobodyさん04/06/26 12:45ID:???
>>372
そんなの自分で書け。
0374nobodyさん04/06/26 14:04ID:???
こんにちは
おたずねしたいことかあります。
Cpanelってありますよね??

これをPHPなどでプログラムを作り、自動登録システムって可能ですか??
0375nobodyさん04/06/26 14:13ID:???
>>374
可能だからガンガって作れ
0376nobodyさん04/06/26 14:18ID:???
>>375
全然やり方わかんないすよ。。
どうすればいいかも。。。汗
0377nobodyさん04/06/26 15:14ID:???
URLから画像のサイズを取得したいのですが
可能でしょうか?
ttp://www.hoge.com/image.gif
のようなURLから画像のサイズを取得するということです。
お願いします。
0378nobodyさん04/06/26 15:26ID:???
>>377
可能だからガンガって作れ
0379nobodyさん04/06/26 16:09ID:???
>>377
画像"ファイル"のサイズならHTTPヘッダで取れるけど、
画像のサイズはURLからは無理。URLのファイル(画像)を
取得して、PHPの画像系の関数で画像のサイズを取得する。
0380nobodyさん04/06/26 16:12ID:???
pearの SmartIRCで $irc->setUseSockets(true);すると
WARNING: couldn't load the socket extension
って怒られるんだわ
けど PHP Ver 4.3.4で Sockets Support: enabled は確認済み
対処法plz
0381nobodyさん04/06/26 17:27ID:???
>>374 です。
簡単な方法ないですか。。
0382nobodyさん04/06/26 17:49ID:???
>>381
ないね。
0383nobodyさん04/06/26 18:38ID:???
>>381
HDEを買う。
0384nobodyさん04/06/26 18:38ID:???
>>380
IRCSmart.phpを見てみると、extension_loaded('sockets') に失敗して
なおかつ dl('socket')にも失敗した時にそのメッセージが出るから、
get_loaded_extensions でほんとにロードされてるか確認して、、、
ん、dl("ファイル名")じゃなかったっけ?
0385nobodyさん04/06/26 19:06ID:???
>>384
フォーロthx.
結論は Socket.phpが apache->PHPからの呼び出しではロードされ,
コンソールから $php hogeでは呼び出されないといったものでした.
つまらないミスを調べさせてしまって正直すまんかった.ありがとう >384
0386nobodyさん04/06/26 19:34ID:plBi49aM
while(mysql_fetch_array())でSQLデータを取り込んでるんですが
後ろレコードからデータを読む場合はどうすればよいのでしょうか?
0387nobodyさん04/06/26 19:49ID:???
>>386
キモイやり方がお好みならmysql_data_seek()を使えばいいけど、
真っ当なやり方ならSQLの段階でorder byを設定すりゃいい。
つーかSQLの勉強をやり直した方がi..うわなにすんだやめr
0388nobodyさん04/06/26 21:51ID:jyZGtADG
jcode.phpみたいなやつでUnicodeからGB2312 か big5への
変換コードってありませんか?
0389nobodyさん04/06/27 16:28ID:???
>>388
知らない。ただjcode(LEではない方)弄って
GB2312とbig5の変換表を入れてやれば作れると思う。
あれ、中身は変換式/テーブルそのものだから。
CJKを参考にすればOK
0390nobodyさん04/06/27 21:31ID:???
PHPにて、抽選プログラム作るのって可能ですか??
確率も指定出来て、一日に一名のみ当選するようにしたいのですが、
可能でしょうか
0391nobodyさん04/06/27 21:57ID:???
>390
可能です。

> 確率を指定

$rate = 0.5

> 一日に一名のみ当選

lottery.dat みたいなファイルを作る。
日付のデータが入ってる。

1. lottery.dat を読む
2. 現在の日付を調べる
3. もし lottery.dat に入っていた日付と、現在の日付が違っていたら
 3-1. 抽選を行う(srand(), rand())
 3-2. 現在の日付を lottery.dat に書く
 もし日付が同じだったら、抽選を行わない
0392nobodyさん04/06/27 22:02ID:???
質問です。
C の構造体のデータをバイナリとして持ってきて、
その構造体にアクセスしたいのです。

読み出しは unpack() を使うとできるのですが、
書きこみは pack() 関数を使うと、「一部のデータだけ書き換え」することができません。

一部のデータだけ書き換えする上手い方法はないでしょうか。
(何万件ものデータにアクセスするため、できるだけ速いアクセスがいいのですが)
なにかご存知の方、ご教授ください。
039339204/06/27 22:34ID:???
自己解決…。
substr_replace() を使うことにしました。
データの該当部分を pack() した後、
substr_replace() で該当部分を書き換える、という具合です。
0394nobodyさん04/06/27 23:17ID:zkNM2hBA
MySQLにはいったTEXTデータを読み込むと
改行が反映されないのですが、
どうすれば改行されるようになるでしょうか?
0395nobodyさん04/06/27 23:30ID:Ba+8mIiM
ファイルに「能」や「表」などのダメ文字を書き込ませると、
「能\」や「表\」のように、語尾に\記号がついてしまいます。

これを回避する方法はないでしょうか?
ご存知の方教えてください、宜しくお願いしますm(__)m
0396nobodyさん04/06/27 23:37ID:???
超頻出質問のために>>400がテンプレを作ります。
0397nobodyさん04/06/27 23:44ID:???
>>394(馬鹿)nl2br
>>395(低能)stripslashes
0398394(馬鹿)04/06/28 00:05ID:???
分かったよ、確かに俺は馬鹿だ。
テキストファイルを表示するときに、
HTMLとして表示されているため、改行が行われないんだ。
当たり前だな。で、どうすれば改行されるんだ?
preタグ使うと横スクロールするようになるんでこれではちと困るのだが。
0399nobodyさん04/06/28 00:06ID:bkEAVbgz
PHPでメルマガ配信プログラムを書いていますが、
mail関数で、DBに登録されているメールアドレスに
送信済みのフラグをたてながら一件づつ送信するプログラムなのですが
ループが早すぎてサーバーが処理しきれないのは問題があります。
ループの間隔をおくのも確実とは言えません。
過負荷にならない程度にメールを配信するには
どういった方法が挙げられるでしょうか?ご教授ください。
0400nobodyさん04/06/28 00:09ID:???
毎度レベルの変わらない釣りにテンプレを作る意味はなし。
反応してる奴と2人でさしつさされつ完結していて欲しい。
0401nobodyさん04/06/28 00:15ID:???
>>398
せっかく答え書いたのに... ・゚・(つД`)・゚・
0402394(馬鹿)04/06/28 00:32ID:???
>>401
ああ、ゴメンよ。
これ関数だったんだ、気づかなかった。

ありがとう。
0403nobodyさん04/06/28 08:52ID:???
質問なのですが、PHPからLinuxのシェルコマンドを動かす場合どのようにすればいいのでしょうか?
よろしくお願いします。
0404nobodyさん04/06/28 09:28ID:WEBa9e2h
>>403
exec();
system();
passthru();
shell_exec();
``;
0405nobodyさん04/06/28 12:30ID:???
いやいやWindows上のPHPからLinuxのシェルコマンドを動かしたいのかも知れんぞ

('A`)
0406nobodyさん04/06/28 12:39ID:???
test
0407nobodyさん04/06/28 12:50ID:WEBa9e2h
IDがWEBだった。ヽ(´ー`)ノ
0408404.HDML ◆StMXML.EXE 04/06/28 13:08ID:???
>>407
そのIDをWeb製作板で出してくれてたなら、、嗚呼。

ヌッ(・∀・∀・)ホッヘー
0409nobodyさん04/06/28 13:39ID:???
Smarty を久々にバージョンアップした所、動作が変わって対処に悩んでまつ。

定義されていないテンプレート変数、例えば {$hoge} に assign が無ければ、
以前はスキップしてくれたのですが、バージョンアップ後は
>FATAL .. Undefined index hoge
とエラーを吐いています。
いちいち {if isset($hoge)} と囲うのも鬱陶しく、どう対処すべきかな〜、と。

# Smarty の設定かと思いマニュアル見直しましたが適当な設定は見あたらず。
# $smarty->undefined = NULL とかも試しましたが変化無しでした。
0410nobodyさん04/06/28 14:53ID:???
Perl互換の正規表現/置換(preg_replace)についての質問です。
%に挟まれた文字列(%test%)から%を取り除き、
それをキーとする要素を連想配列から取り出して出力したいのですが、何も表示されません。
もしよろしかったら、教えていただけると幸いです。

<?php
 $template = "%test%";

//%に挟まれた文字列にマッチ
 $pattern = "/(\%)(.+)(\%)/";

//置換用配列
 $replacement = array("test" => "キタ━━━━ヽ(゚∀゚ )ノ━━━━!!!!");

//このままだと、%を取り除いた文字列を表示
//"$2"の部分を$replacement['$2']や$replacement[$2]、$replacement['\\2']などとしてみましたが、ダメでした。
 echo(preg_replace($pattern, "$2", $template));

?>

#一応全角スペースでインデントしました。よろしくお願いします。
041141004/06/28 14:58ID:???
あ、環境を書くのを忘れていました。。。

OS: Windows XP SP2 RC2
Server: Apache 2.0.49
PHP: 5.0 RC3

モジュールとして動かしております。
0412nobodyさん04/06/28 15:00ID:???
$replacement["test"]ならいけると思うんだがそれじゃあかんの?
0413nobodyさん04/06/28 15:02ID:???
あ、ごめん。俺何言ってんだ。
ソース斜め見しただけでレスしてました。
0414nobodyさん04/06/28 15:06ID:???
>>412
そうなんですが、htmlファイルでテンプレートを作って、%で囲まれた文字列を置換して出力したいんですよ…。
キーもtestだけではないので、
str_replace("%test%", $replacement["test"], $template);
などとしてもやはり複数行になってしまいますよね。

できることなら一行にまとめたいのですが…。
041540904/06/28 15:06ID:???
>>410
マニュアルよく読むべし。

<?php
$template = '%test%';

$patterns[] = '/(\%)(.+)(\%)/';
$replacements[] = 'キタ━━━━ヽ(゚∀゚ )ノ━━━━!!!!';

echo(preg_replace($patterns, $replacements, $template));

?>

テンプレートを探してるなら自作するよりどこかから持ってきた方がいいよ。
regex 型のテンプレートならそれなりに普及しているのが幾つかあるし。

http://smarty.php.net/
http://pear.php.net/packages.php?catpid=10&catname=HTML
0416nobodyさん04/06/28 15:06ID:???
>>410
パーサーの存在を忘れとる
041740904/06/28 15:07ID:???
人いないんじゃなくて Smarty 使ってる人がこのスレにいないのか _| ̄|◯

流れたら pear スレの方に逝ってきまつ、、
0418nobodyさん04/06/28 15:09ID:???
使ってる俺がアドバイスするが、逝くならsmartyスレだろ。
0419nobodyさん04/06/28 15:10ID:???
>>418
あら、、専用スレあったの知りませんでした。
取り敢えず過去ログ見に逝ってきまつ。
ありが�d
042041004/06/28 15:19ID:???
>>415-416
なるほど…。
まだまだ理解できていないようでした。

Parserから勉強しなおすことにします。
ありがとうございました。
0421nobodyさん04/06/28 15:22ID:???
%をグループ化して参照可能にする意味は多分ないだろう。
042241504/06/28 15:23ID:???
パーサーって何でつか。。(´・ω・`)
0423nobodyさん04/06/28 15:25ID:???
エスケープする意味もなさげ
042441004/06/28 15:28ID:???
>>421-423
Σ(´д`ノ)ノ
ちょっとeval()とか見ながらひぃひぃ言ってました…。

小学校から勉強しなおしてきます。。。
0425nobodyさん04/06/28 15:54ID:???
<?=変数名?>で記述しているファイルをincludeしたまへ。
0426nobodyさん04/06/28 16:08ID:???
>>422
paserの日本語表記。多分耳で聞くとパーザ[ー]
0427nobodyさん04/06/28 16:14ID:???
   〃∩ ∧_∧
   ⊂⌒( ´・ω・)くpaserは何語表記なんだろう...
     `ヽ_っ⌒/⌒c
042842204/06/28 16:17ID:???
>>426
そうでつか。添乗してくれるおねーさんの事じゃないんでつね (´・ω・`) 残念でつ。
0429nobodyさん04/06/28 16:39ID:???
>>428
そっちはaじゃなくてuだね
0430nobodyさん04/06/28 17:32ID:???
今日本屋で見たWebDesigningという雑誌のPHPのコーナーでアンケート集計スクリプトが紹介されており、
誰かが投票するたびにYYYYMMDD-HHIISS.txtという形式でファイルを生成して書き込むという仕組みでした。
この場合1秒間に複数の投票があったら対応できないので明らかにまずいんじゃないかと(排他処理でなんとか
なるかもしれませんが)と思います。
素直に1ファイルに追加書き込みしていった方が後で集計するのも楽だと思いますが。
0431nobodyさん04/06/28 17:58ID:???
>>430
スクリプトを見てみないと分からないけど上書き処理で前のデータが消えるんだろうね
それより閲覧する場合は投稿分のファイルを全部オープンする気だろうか・・・
ログを生成して保存してるのかなぁ


1つのスクリプト内でMYSQLに頻繁にアクセスする場合、その都度
mysql_connect('localhost:3306','id','pass');
と、みなさんは書いてますか?
classやfunction内でmysql_connectを書いてるのが美しくない気がしてならない
0432nobodyさん04/06/28 18:42ID:???
>>431
美しい美しくない以前にリソースの無駄遣いのような...
グローバルスコープで$my = mysql_connect();して
関数やクラス内でglobal $my;するとかではだめっすか?
PEARのDB_DataObjectのソースが参考になるかと。
0433nobodyさん04/06/28 18:43ID:???
>>431
書き込もうと思ったファイルが存在したら、乱数秒待機させるとか。

>MYSQLに頻繁にアクセスする場合
単一コネクションで済む場合は、普通コネクションは使いまわしだわな。
コネクション張るのにコスト(PHPの場合は少なくて済んでるけど)が必要だから。
0434nobodyさん04/06/28 19:17ID:l4cOKm4n
くだらない質問ですが、よろしくです。
index.php
<?php require("hogehoge.inc");?>
<? echo $hogehoge_1;?>

hogehoge.inc
$hogehoge_1=123456
とすれば123456と返ってくると思うのですが。
これを
$_GETを使って
ttp://127.0.0.1/index.php?main=1 もしくは
ttp://127.0.0.1/index.php?main=2

index.php
<?php require("hogehoge.inc");?>
<? echo $hogehoge_$_GET['main'];?>

hogehoge.inc
$hogehoge_1=123456
$hogehoge_2=78910

などで呼び出せないものでしょうか。
<? echo $hogehoge_$_GET['main'];?>を
<? echo $hogehoge_{$_GET['main']};?>
にした場合、夢だったのか呼び出せたように思えたのですが、、(2日ほど寝ていないので・・)
わかる方よろしくお願いします。
0435nobodyさん04/06/28 19:38ID:???
仕事がすすまねぇ
今日はもうやめるか
0436nobodyさん04/06/28 19:52ID:???
echo ${'hogehoge_'.$_GET['main']}
俺個人的には可変変数は気持ち悪い。。。
0437nobodyさん04/06/28 20:02ID:???
>>436
うぉ〜〜ありがとうございます!
できました!(ノ_・。)
とてもうれしいです!
今夜はゆっくり眠れそうですw
<(_ _)>
0438nobodyさん04/06/28 20:18ID:???
最近MySQLに書き込むとき10回に一回ぐらい割合で
文字化けするようになったのだが、
どんな原因が考えられますか?
昔は全然なかったような気がするだけどなぁ、なんでやろ。
0439nobodyさん04/06/28 20:46ID:???
>>438
\だな。間違いない。
0440nobodyさん04/06/28 21:37ID:O2HF8evS
Webサーバとは別にあるメールサーバからメールを送信したいのですが
php.iniのSMTPの内容をそのサーバ名に指定してもメールが送れません。
mb_send_mailでもmailでも戻り値はTrueです。
また、Webサーバからはちゃんとtelnetでそのメールサーバにつないで
メールを送ることはできていますがPHPで送信しても
ログにも残っていないんでデータが渡せていないっぽいんですが・・
他にも設定しないといけないところがあるのでしょうか?
0441nobodyさん04/06/28 22:03ID:???
>>440
マニュアルのmail関数のあたりに詳しく書いてあるのだけど、
Windows版の場合はメールサーバに渡してくれて、
それ以外の場合はsendmailプログラム(not サーバ)に渡してくれる。

鯖OSを書いてないから勝手にirixだと仮定して話を進めるけど、
mail()がtrueになってるってことは、Webサーバのメールプログラム(ややこしいな..)を
呼び出していてそこで溜まってるんじゃないかな。

で、解決方法はと言うと、Webサーバのメールサーバ設定をきちんとするか、
メールサーバとsocket通信をするか、くらいかな。
0442nobodyさん04/06/29 00:49ID:zFB2Z8eM
Cookieについて質問させて下さい。

<?php
setcookie("bbs_name",$_POST['name'],(time()+60*60*24*30),"","",0);
?>
<html><head><title>掲示板</title></head><body>
<form action='このファイル自身' method='post'>
  <input type='hidden' name='action' value='regist'>
  名前<input type='text' name='name' value="<?php echo $_COOKIE['bbs_name'] ?>">
  <?php
  if ($_POST['flags'] == 'return') {
    echo "<input type=submit value=[" . $_POST['return'] . "]に返信>\n";
    echo "<input type=hidden name=ress value=" . $_POST['code'] . ">\n";
  } else {
    echo "<input type=submit value=書き込み/更新> <input type=reset value=リセット>\n";
  }
  ?>
  以下、記述が続きます・・・

上記の記述でサブミットボタンを押し、1回目に更新した時には、
名前入力欄に前回入力した内容が表示されるのですが、
2回目に更新をかけると、全て消えてしまうのです。
いったい何が原因なのか、わかる方、ご教授下さい。
0443nobodyさん04/06/29 01:40ID:???
>>442
submitボタンを押して更新しているから大丈夫っぽだが、
前後の取り合いが判らんので、念のため、
if($_POST['name']) {
setcookie("bbs_name",$_POST['name'],(time()+60*60*24*30),"","",0);
}
ってするとどうなる。

#どうなる。って聞きながら今日はもう寝る。l
0444nobodyさん04/06/29 01:51ID:2uVjJIh2
他は出来たんですが、フォームからデータを送り、それを処理するスクリプトを書くという問題おしえてください!
--------------------------------------------------------------------------------
送信側でりんごとみかんとどっちか選ぶ選択肢があって、
処理側でりんごとみかんをどっち選んだかの結果を表示し、

    かごの中にはりんごは今 個です
    かごの中にはみかんは今 個です

と表示させたいのですが、どうしてもできないんです。。
セッション関数、formタグのinputを使ってもいいみたいなんですが・。・・
0445nobodyさん04/06/29 01:55ID:???
     /⌒彡           /⌒彡
     / 冫、)        / 冫、)
    /  ` /        /  ` /
   /:::::::::::\       /::::::::::::;\
  //:::::::::::: l |       //´|::::::::::::l |
  //|::::::::::::/| | >>444 // /::::::::::::/| |
  U |::::::::::/. U  ↓  U |::::::::::/ U
   |::::||::|  | | /⌒ヽ/  |::::||::|
   | / | |  | / ´_ゝ`)  | / | |
   // .| |  / __ ,/   // | |
  //  | | | / | |    //   | |
  U   U U  U    U   U
0446nobodyさん04/06/29 02:00ID:2uVjJIh2
<html>
<head>
<title>課題</title>
</head>
<body>

<center><h2>ワークシート4</h2></center>

<form action = "worksheet4.php"method = "POST">
<center>

お名前<input type="text" name="username">
<br>
メールアドレス<input type="text" name="mail">
<br>
郵便番号<input type="text" name="bango">
<br>
住所<input type="text" name="zyusyo">
<input type="submit" name="submit" value="登録!">
<br>

<input type = "hidden" name ="product" value="Apple"><br>
<input type = "submit" value = "かごに入れる">
<input type = "hidden" name ="product" value="Orange"><br>
<input type = "submit" value = "かごに入れる">

</center>
</form>

</body>
</html>
というふうにしたんですが、オレンジとりんごを選択するタグって何をつかうんですが?
0447nobodyさん04/06/29 02:08ID:9Mhdwhm6
質問です。
fgetcsvには文字化けするという問題があります・・・。

fgetcsvに相当する関数を自作すれば良いと言われましたが、
そんな事できませんです。

だれか fgetcsvに相当する関数作った事ある、知っている
という方 教えて下さい。
0448nobodyさん04/06/29 02:14ID:???
> fgetcsvには文字化けするという問題があります・・・。

へぇ、初耳。

> fgetcsvに相当する関数を自作すれば良いと言われました

ext じゃなくて PHP によるユーザー定義関数の自作、でしょ。
余裕で可能。
0449nobodyさん04/06/29 02:36ID:???
正規表現についてなのですが、掲示板にURLが張られた際に

ereg_replace("(https?|ftp) 〜〜

上記のようにURLを判定し、文字列をリンクするよう置換しています。
これに当てはまらない場合でよく見かける直リンク避けの「ttp」から始まるものも
違う文字列に置換したいのです。

ereg_replace("(ttp) 〜〜

このようにしてしまうと上に書いた通常リンクのものと衝突してしまいますし
ereg_replace("(^ttp) 〜〜
このようにすることでそれらの問題は回避でき、望みの動作をするのですが
本文の一番最初にURLが記載されないといけないので不都合です。

例えば 「あいうえおttp://hogehoge/」 という投稿があった際にも
置換処理を行いたいのですが、いい方法はないでしょうか?
0450nobodyさん04/06/29 02:37ID:???
>>447
>fgetcsvには文字化けするという問題があります・・・。
>fgetcsvに相当する関数を自作すれば良いと言われましたが、

その話が話題になったところで回答出てるだろ。
人づてで聞いたなら、聞いた人に訊け。
0451nobodyさん04/06/29 02:40ID:???
>>449
httpやttpが単語だってことを肝に命じてください
0452nobodyさん04/06/29 03:06ID:???
>>449
それら2つの違いを見比べれば、
hでは無い文字の次にttpが続く文字列 という条件に気づきそうなものだが?
0453nobodyさん04/06/29 03:14ID:???
>>449
とりあえずオライリー・ジャパン「正規表現デスクトップリファレンス」でも買っとけ。
良書だよ。
0454nobodyさん04/06/29 03:18ID:???
>>451
おっぱいソングの変な外人の声が聞こえてきたよ…
0455nobodyさん04/06/29 09:55ID:???
>>447
何ができないの?プログラムを作ったことがないのか?

0.前処理(ファイルオープン、DBトランザクション開始とか)
1.1行読み込む
2.ファイルエンドまで繰り返す
3. 読み込んだバッファをカンマ(,)をセパレータにして区切る
4. (必要に応じて、フィールド数が想定したものと違っていたらerrorとする)
5. (必要に応じて、フィールド後のチェックを行う)
6. (必要に応じて、DBテーブルに格納してもいいかも)
7. 1行読み込む、2のループへ
8.後処理(ファイルクローズ、DBコミットとか)

※1、フィールドのダブルクオート(")囲みを想定している場合、3.の処理でダブルクオート(")を
取り除く処理が必要、データ中にカンマ(,)ダブルクオート(")を許す場合はさらに複雑
※2、フィールド中に改行を許す場合は2.7.のと読み込み処理にも工夫が必要
0456nobodyさん04/06/29 13:12ID:???
>>455
> ※1、フィールドのダブルクオート(")囲みを想定している場合、3.の処理でダブルクオート(")を
> 取り除く処理が必要、データ中にカンマ(,)ダブルクオート(")を許す場合はさらに複雑
> ※2、フィールド中に改行を許す場合は2.7.のと読み込み処理にも工夫が必要

この条件が満たされないと、CSVを読み込めるとは言えないでしょう。
0457nobodyさん04/06/29 13:54ID:???
>>456
別にたいした事ではないと思うが・・・。初心者?
0458nobodyさん04/06/29 13:56ID:???
>>452
この方法で対処できました。有難うございます。
0459nobodyさん04/06/29 14:38ID:???
>>456
ところが、用途が限定されていれば、1行読んでカンマで切り分けるだけすむ場合も良くあるよ。
必要ないなら、わざわざ汎用的なCSV読み込みプログラムを作る必要もない。
どっちにしろ>>457の言う通り、大した事じゃない。
0460nobodyさん04/06/29 16:17ID:???
ああ、最近php-usersで流れてたfgetcsvの文字化けネタを
引っ張ってきたのかと思ってスルーしてたよ
0461nobodyさん04/06/29 16:30ID:???
>>460
いや、たぶんその人じゃないのかな?ファイルのコード変換してからやることにした
とか言った手前、もう訊けなくなったんじゃ?
0462nobodyさん04/06/29 16:45ID:8D9V5eyp
正規表現置換で、うまくいかないので教えてください。
+という文字が2回以上続いた場合、+一個にしたい。
+++→+
++→+
+→そのまま
0463nobodyさん04/06/29 16:49ID:???
正規表現スレにあるリンク集読んで調べろ。
質問の仕方もどうにかしてくれ。
0464nobodyさん04/06/29 17:10ID:???
最近PHPを勉強し始めたのですが、ちょっと困ってます。

Apache1.3.28とPHP4.3.7でオフラインでやっているのですが、html内に記述したPHPが実行されなくて
困ってます。
PHP単体だと問題なく動作します。

例えば、
//----------------
<?php print "テスト"; ?>
//----------------
これで **.phpとすれば問題なく表示されますが、

//----------------
<html><body>
<?php print "テスト"; ?>
</body></html>
//----------------
これだと何も表示されません。

何が原因として考えられますか?

インストールには下記のサイトを参考にしました。
ttp://www.dream-seed.com/server/php_apache.html
0465nobodyさん04/06/29 17:13ID:???
>>464
下の方のファイル名は **.phpですか?
それとも**.html or **.htm ですか?
046646404/06/29 17:18ID:???
あ、すいません。
書き忘れてました。
下の方は **.htmlです。
0467nobodyさん04/06/29 17:27ID:???
あははははは。
0468nobodyさん04/06/29 17:28ID:???
ちょっと気の利いた人間なら、>>465を読めば、
拡張子を.phpに変えてみようかな、とか思うものだが。
■ このスレッドは過去ログ倉庫に格納されています