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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/08/06 15:44ID:paJ4kjjQ
・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


抜けているものがあったら補足願います
016614604/08/10 16:29ID:???
>>156
どもども。
検索じゃなくて目次から探すんですね。
なかなか難しそうだけどがんばってみますv

亀レスすまそ。
0167nobodyさん04/08/10 19:29ID:???
>>166
chm版なら全文検索があるからそれが使える
0168nobodyさん04/08/10 19:32ID:???
コナミ減収オメ
0169nobodyさん04/08/10 19:45ID:???
>>165
あったよ
http://www.nttdocomo.co.jp/p_s/imode/tag/s3.html#3_6
0170nobodyさん04/08/10 20:19ID:???
ドコモがPNG対応してくれれば、俺も完全にPNGに移行するんだがなぁ。
対応する気がないみたいだから、まぁ当分はgifかな・・・。
つうか、何故ドコモはPNGに対応しないんだべ。技術不足?
0171nobodyさん04/08/10 20:27ID:???
>>165>>169
imodeの昔の端末はGIFでないとダメ
逆にJ-skyの昔の端末はPNGのみ

仕方が無いのでJPEGで吐き出してる
これも一部端末で見られないけど、
最近のはカメラ対応の関係で見られたりするんで
01726804/08/10 20:55ID:???
>>126
やっとできましたよ。
fgets($fp)のところをfgets($fp,4096)にしてできました。

どうもすみませんでした。
0173nobodyさん04/08/10 21:40ID:???
>>172
根本的な対策になっていないような気がするぞ。おい。
0174nobodyさん04/08/10 21:43ID:???
fgets使わなくても他の関数でいけるような
0175nobodyさん04/08/10 22:41ID:???
phpはじめたいんだけど、一から教えてくれる人いませんかー
全然わかりません。

ゲームの攻略サイト作りたいんだけど、php必要ない?
どこにphpを使ったらいいのかわからんのよ
0176nobodyさん04/08/10 22:43ID:???
>>175
ない
0177nobodyさん04/08/10 22:48ID:???
>>176
使うとすればどこに使う?ちみなら
0178nobodyさん04/08/10 22:52ID:???
>>175
まぁゆっくりマンモス本でも眺めてみたらどうだろうか
http://www.sra.co.jp/people/t-ishii/php_new/php4_new.html
0179nobodyさん04/08/10 22:56ID:???
>>175
ヘッダーとかフッターとか、同じリンクボタンで複数のページに登場するときとか
phpでやると楽ですよ。
metaも全部のページに書かないでもいいので楽。
0180nobodyさん04/08/10 23:01ID:???
>>179
それがあたりまえになるともっと楽したくなるさ
018113104/08/11 00:04ID:???
>>172
・・・俺の予想があたっとるやんけw
0182nobodyさん04/08/11 00:27ID:???
やんけ
0183nobodyさん04/08/11 00:41ID:2sgdWAV8
DOM勉強してるんですが、
ファイルに出力するときって何を使えばいいのでしょうか?
普通に一つずつテキストとして出力するんじゃ駄目ですよね。

どうもDOM関係の資料が少なくて困ってます。
ヒントでもいいので教えてください。
0184nobodyさん04/08/11 00:45ID:???
>>183
結構詳しい資料を発見した。
http://broadband.ocn.ne.jp/gmms/dom.html
0185nobodyさん04/08/11 03:29ID:???
>>184
わかりやすい図入りでよくわかりました。
018616504/08/11 11:36ID:???
>169-171 どもです。
GIF でないと表示できない端末があるっつーことは、GD の GIF 対応も
うれしいかな。端末によって表示できないのは可哀想だし。
0187nobodyさん04/08/11 11:51ID:???
質問です。
require_onceで他サーバにあるライブラリ等を読込事は出来ないのでしょうか?
ini_set('include_path','http://******')
で変更しても上手く出来ないです。
ご教授下さいます様お願い致します。
0188nobodyさん04/08/11 11:55ID:???
>>187
できるのかどうかは知らんが、できたら恐ろしい。
0189nobodyさん04/08/11 11:57ID:???
夏だ、夏過ぎる。
0190nobodyさん04/08/11 12:02ID:???
>>188
そうですよね…セキュリティの問題等もあるでしょうから、
出来なくて当然なのですよね。
有難う御座いました。
0191nobodyさん04/08/11 12:04ID:m7sM3Cg8
>>187
実行形式である限り結果しか読み込めない
読み込めたら面白いが問題山積み

今日は更に暑くなりそうだね
0192nobodyさん04/08/11 12:05ID:???
phpsとかなら読み込めるけどね
0193nobodyさん04/08/11 12:34ID:???
いやできるだろ。
ライブラリを置いている鯖がtext/plainとして吐いてくれればの話だが。
019419304/08/11 12:35ID:???
あ、text/plainつうより、ソーススプリクトをそのまま吐いてくれればってことね。
0195軟式PHP04/08/11 12:54ID:???
(つω;)
0196nobodyさん04/08/11 13:03ID:???
>>187
SOAP や XML-RPC を検討したら。
0197nobodyさん04/08/11 13:53ID:???
php.ini の設定次第で
include ('http://example.com/lib.php');
は出来るワケだが。

require_once は知らない。
あと出来ない方がいいってのも事実。safe_mode で運用しような。
0198nobodyさん04/08/11 14:00ID:???
できるわけないじゃん
019918704/08/11 14:25ID:???
親切に皆さん有難う御座います。
行いたかったのはエラーの関数等を読み込んで
結果を別のPHPで行いたかったのです。
しかしそれが出来たら怖いですよね…
勉強が足りないです。ありがとう御座いました。
0200軟式PHP04/08/11 14:52ID:???
共通関数作ってライブラリ化してそれを読み込むってんなら常套手段だが
他サーバーってのがよく分からんのだが。
0201nobodyさん04/08/11 14:54ID:???
たぶん、エラー処理用のスクリプトがあって、それをrequireしたかったと
言ってるのだろうから、素直にコピーしたら良いのでは?
0202軟式PHP04/08/11 14:57ID:???
そだよね。なんで他サーバー・・・?(´・ω・`)
0203nobodyさん04/08/11 14:59ID:???
インターネットと仮定しているからあれだけどLAN等で複数のサーバーが
あった場合なら出来そうな気がするのですが、それは先読みし過ぎだろうか^^;
LANで接続されている環境であれば共有したい事もあるだろうしね
0204nobodyさん04/08/11 15:02ID:zEQw5zg8
PEARのMail_mimeDecodeをつかって、メールから本文と添付ファイル(画像)を
引き出してます。
が、あぽーのメーラーは、メールに画像を添付した場合、multipartのひとつ
のpartがmultipartになってます。
multipartのネスティング状態です。
その中に、プレビュー用のパートと画像本体のパートに別れているようです。

$decode1 = new Mail_mimeDecode( メール全体 );
でPart1/Part2/Part3とデコードできるのですが、
Part3がmultipartだったばあい、どうやってでこーどすればいいのでしょう?
$decode3 = new Mail_mimeDecode( Part3のbody );
とやっても、mime decodeしてくれません。

よろしくおながいします。
0205軟式PHP04/08/11 15:03ID:???
NASのようにしたいのだろうか。
0206nobodyさん04/08/11 15:12ID:???
>>203
その場合だってHTTP使わんでもいいと思うんだけど・・・NFSとかさ
0207nobodyさん04/08/11 17:28ID:???
Googleの検索文字の分割みたいなのをやりたいのです。
と、いっても全文検索みたいな高度なものではないです。

ひとまず実現したいのは・・・
1. スペース区切りの場合はスペースで単語を分割
2. ダブルクォーテーションでくくられている場合は、その間のスペースは文字扱い

1だけなら explode() を使えばいいんですが、
2も実現するためにはどうしたらいいでしょうか?

例)
あああ いいい ううう
→ "あああ" と "いいい" と "ううう" に分割

あああ "いいい ううう" えええ
→ "あああ" と "いいい ううう" と "えええ" に分割

スペースもダブルクォーテーション括りも複数可で。

0208nobodyさん04/08/11 17:31ID:???
まず、""で分割して、次にスペースで分割すれば
0209nobodyさん04/08/11 17:39ID:Ad++av00
PHP初心者で、分からない事があるので質問させてください。
よろしくお願いします。

$fp = fopen("xx.txt","a+");
fputs($fp,"あああああ");
でテキストファイルに何か文字列を書き込む場合、モードが
a+になってるのでファイルが無かったら自動で作成するはずですよね?

事実、ローカルで試したら作成してくれたのですが、Web上で試そうと
思ってPHPが実行できる無料スペースにUPしたところ、エラーが出て書き込め
ませんでした。

テキストファイルを先に自分で用意しておくと書き込みが成功しました。
なぜ、ローカルではうまくいってWeb上ではうまくいかないのでしょうか?
サーバーの仕様とか、そういう問題なのでしょうか?

こんな質問で申し訳ありませんが分からないので教えてください。
0210nobodyさん04/08/11 17:42ID:???
>>209
エラー内容を書く!

多分 パーミッション だと思うけど。
0211nobodyさん04/08/11 17:44ID:J4D7ZMSz
GDを使ってサムネイルを作った時に
jpegにICCプロファイルの埋め込みって出来ないもんですかね。
webで見ると全然色が違うので。
分かる人居ませんか。
0212nobodyさん04/08/11 17:45ID:???
PHP初心者とあそぼう
0213nobodyさん04/08/11 17:47ID:???
>>208
ありがとうございます。

例)
あああ "いいい えええ ししし" ううう えええ "search text"

Array
(
[0] => あああ
[1] => いいい えええ ししし
[2] => ううう えええ
[3] => search text
)

なかなかいい感じなんですが、
最初に ダブルクォート で explode() しちゃうと、
[1] と [2] の区別がつかなくなっちゃいますね・・・。
0214nobodyさん04/08/11 18:13ID:???
うんこソースどぞー


$str = 'あああ "いいい えええ ししし" ううう えええ "search text"';

$str2 = explode(" ",$str);
$count = count($str2);

unset($str);
$flag = 0;
$j = 0;
for ($i=0; $i<$count; $i++) {
if( mb_ereg("(^\")",$str2[$i]) ){
$flag = 1;
$str[$j] = $str2[$i];
}
else if ( $flag==1 && !mb_ereg("(\"$)",$str2[$i]) ) $str[$j].=" ".$str2[$i];
else if ( $flag==1 && mb_ereg("(\"$)",$str2[$i]) ) {
$str[$j].=" ".$str2[$i];
$j++;
$flag=0;
}
else {
$str[$j] = $str2[$i];
$j++;
}
}

foreach($str as $key => $value) echo "\$str[".$key."] = ".$value."<br>";
0215nobodyさん04/08/11 18:28ID:???
ウンコー
__$1__ がとてもいけてない。


$text = 'あああ "いいい えええ ししし" ううう えええ "search text"';

$text = preg_replace("/\"([^\"]+)\"/", "\"__$1__\"", $text);
$quote = explode("\"", $text);

$list = array();
foreach ($quote as $item) {
if (preg_match("/^__(.+)__$/", $item, $arr) != 0) {
$list = array_merge($list, $arr[1]);
} else {
$list = array_merge($list, explode(" ", $item));
}
}

for ($i = 0 ; $i < count($list) ; $i++) {
$list[$i] = trim($list[$i]);
if (strlen($list[$i]) == 0) {
array_splice($list, $i, 1);
}
}

print_r($list);
0216nobodyさん04/08/11 21:17ID:???
リモートファイルの最終更新日を拾得するには
allow_url_fopenを有効にするしかないのでしょうか?
0217>>21304/08/11 22:18ID:???
$str = 'aaa "iii eee i\"iii\"kkk" uuu o\"oo "search text"';
$words = array();
if( preg_match_all('/("[^"]*(?:\\"[^"]*)*?"|\S+)(?:\s|$)/',$str,$m) ) {
 if( is_array($m[1]) ) {
  foreach($m[1] as $tmp) {
   $tmp = preg_replace('/^"(.*)"$/','$1',$tmp);
   $tmp = preg_replace('/\\\\"/','"',$tmp);
   array_push($words,$tmp);
  }
 }
}
print_r($words);

バグ入ってないかな・・・確認求む
入れ子のケースは簡単そうでとても難しい
文字の出てくる順序を気にして考えるとよいよ
0218nobodyさん04/08/11 23:33ID:UR02D5bF
変数名$fileが20**00のときにこの条件を実行したいのですが、
これだとうまくいきません。

if($file == 20..00)

どのように変更したら良いのでしょうか?
0219nobodyさん04/08/11 23:50ID:???
性器表現
0220nobodyさん04/08/12 00:34ID:???
"U" 性器表現むずい
0221nobodyさん04/08/12 00:36ID:???
if(ereg("20[0-9]{2}00",$file)){echo "U";}
0222nobodyさん04/08/12 00:53ID:???
>>211
俺はImageMagickに逃げた。
0223nobodyさん04/08/12 01:07ID:???
functionの中でfunction以外のところで定義した変数は使えないんでしょうか?
0224nobodyさん04/08/12 01:18ID:???
使わない方が身のためです
0225nobodyさん04/08/12 01:48ID:???
>>222
どもー
ImageMagickはICCが埋め込みできるんですか?
ってググってみますー
ありがとねん!
0226nobodyさん04/08/12 01:52ID:???
>>223
マニュアルくらい読もうよ・・・
0227nobodyさん04/08/12 08:44ID:aDJWVDD6
>>223
localとglobal...プログラミングのアロハでつね
0228nobodyさん04/08/12 09:35ID:???
ページ切り替えって
headder "Location:index.html";
だっけ?
0229nobodyさん04/08/12 10:02ID:???
/public_html/fairy/page/item/touroku.phpから
/public_html/fairy/data/clist.cgiまで飛ぶのに
.../data/clist.cgiじゃだめなのか?
0230nobodyさん04/08/12 10:03ID:???
多分そんな感じ。
023122904/08/12 10:07ID:???
$clist = '.../data/clist.cgi';
にしたのに、
Warning: file(): Unable to access .../data/clist.cgi in /virtual/drk/public_html/fairy/page/item/touroku.php on line 177
だって;;
だめだ_| ̄|○
0232nobodyさん04/08/12 10:09ID:???
普通こうじゃね?
../../data/clist.cgi
023322904/08/12 10:11ID:???
>>232
おお、あり!
どうやら.../はCGIしか無理だったようだ・・・

$time = data("Ymd");
にするとエラー出るぽウワァァァァァン
Call to undefined function: data()
0234nobodyさん04/08/12 10:12ID:???
dateじゃね?
0235nobodyさん04/08/12 10:13ID:???
パスの指定はCGI云々関係ないし。
023622904/08/12 10:18ID:???
>>234
スマ、あほな間違いだった&ありがと


間違え探し
$all = file($slist);
$yoyaku = "";
$count = count($all);
$put = implode(",", array($id,$item,$syurui,$str,$dex,$def,$luck,$taikyu,$plusa,$plusb.$plusc,$kazu,$memu,$comment,$time,$yoyaku));
$fp = fopen($all,"w");
flock ($fp,LOCK_EX);
rewind ($fp);
fputs($fp,"$put\n");
for ($i=0;$i<=$count ; $i++){
fputs($fp, $all[$i]);
}
flock ($fp,LOCK_UN);
fclose($fp);
データが書き込まれないぽ
0237軟式PHP04/08/12 10:22ID:???
間違え探しワロタ。素直になれよ・・な?初心者君。
023822904/08/12 10:32ID:???
素直になったぽ!
間違い見つかったので糸冬キボン
0239nobodyさん04/08/12 10:33ID:???
$allってカウントした数字だよね?
$fp = fopen($all,"w");
$fp = fopen($slist,"w");じゃないの?

0240軟式PHP04/08/12 10:39ID:???
>>238
あと、fopenの例外処理しとけよ。
0241nobodyさん04/08/12 10:55ID:???
PHPで並列処理をさせる為に
特に気を付けなければならない点はなんしょうか?
0242nobodyさん04/08/12 11:28ID:I9M6Mw7p
mysql_fetch_arrayで進んだポインタを最初に戻すのはどうやるの?
0243軟式PHP04/08/12 11:36ID:???
>>241
DB使ってるならトランザクションとか気をつければいいんじゃないかな。
てか、漠然としすぎてて答えようが無いっす。

>>242
http://php.s3.to/man/ref.mysql.html
マニュアル見る事に慣れよう。モロ載ってるから。
0244nobodyさん04/08/12 11:41ID:???
軟式PHPって もしかして あのひと?
024524204/08/12 11:51ID:I9M6Mw7p
>>243
うーんわからん
mysql_field_seekのことか?
0246nobodyさん04/08/12 11:54ID:a319dClm
リンクの参照元って
$_ENV['HTTP_REFERER']
で宜しいのでしたっけか?
0247nobodyさん04/08/12 11:56ID:???
$yoyakuの中身が空っぽなのに
if ($yoyaku != ""){
$color = '#cccccc';
}else{
$color = '#ffffff';
}
で、$colorが#ccccccになります。なぜでしょうか
024824704/08/12 12:13ID:???
よく見ると半角スペースが入っています。
0249nobodyさん04/08/12 12:18ID:???
>>248
だったら半角スペースを入らないようにすればいいのでは??
0250nobodyさん04/08/12 12:26ID:aDJWVDD6
trimしたら?
025124704/08/12 12:31ID:???
>>249
といいますと?

>>250
初心者なんで使い方がわかりません・・・
もしよければ教えていただけると有難いです。
0252nobodyさん04/08/12 12:48ID:???
初心者なので……とか言ってないで頼むからマニュアルを検索してくれよ
0253nobodyさん04/08/12 12:52ID:???
初心者なのでではなく、調べる気がない怠惰で救いようがない人間の間違いだろう。
検索すれば一瞬で分かることすらやろうとしない。
0254nobodyさん04/08/12 12:55ID:???
>といいますと?
って言い方がマジ腹立つわw
0255軟式PHP04/08/12 12:56ID:???
>>初心者なのでではなく、調べる気がない怠惰で救いようがない人間の間違いだろう。
これ良いな。俺も使わせてもらおう。的射すぎw
0256軟式PHP04/08/12 12:57ID:???
【PHP】質問スレッドpart21【といいますと?】
次スレはこれにケテーイ
0257nobodyさん04/08/12 13:19ID:???
if ( if($syurui2!=""){$syurui==$syurui2}){
みたいにifの中にif入れられないのかな〜
検索システム勉強中なんだが・・・
0258nobodyさん04/08/12 13:21ID:???
>>257
何がしたいの?
025924204/08/12 13:27ID:???
なんとか解決
0260nobodyさん04/08/12 13:28ID:???
if(if2($syurui2!=""){}else{}){$syurui==$syurui2}
0261nobodyさん04/08/12 13:28ID:???
>257
したいことは
if( ($syurui2!="") && ($syurui==$syurui2) )
なんじゃないかな、と予想してみる
0262nobodyさん04/08/12 13:36ID:???
>>260
if2とか初めて聞いたよママン

>>261
検索の時、検索内容が空白ならその項目を除外して検索したい。
0263nobodyさん04/08/12 13:38ID:???
変数がどうゆう内容なのかわかんないし意味不明
0264nobodyさん04/08/12 13:41ID:???
$joukenA $joukenB $joukenC があるとする。
list (jA,jB,jC)(ry
       を読み込む
$joukenAとjAを比較して同じ、joukenBとjBを比較して同じ、joukenCとjCを比較して同じだったらTRUE
&joukenAが空白ならjoukenA以外を比較して同じならTRUEとやりたいんだ
026526404/08/12 13:42ID:???
すまん、&joukenA→$joukenAな
■ このスレッドは過去ログ倉庫に格納されています