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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/04/28(金) 04:12:33ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart34【php】
http://pc8.2ch.net/test/read.cgi/php/1142903954/

【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/

過去スレは>>2-3あたり
0039nobodyさん2006/04/29(土) 00:10:25ID:???
>>29,32,36,38
何でそんなにムキになってるの?
0040nobodyさん2006/04/29(土) 01:44:36ID:???
>>39=>>34はなんでそんなにムキになってるの? 自分の無教養を指摘されたから?
0041182006/04/29(土) 02:21:28ID:???
>>29さん
有難うございます!
出来ました!!!
感謝です。
0042nobodyさん2006/04/29(土) 03:26:54ID:???
「生産」じゃなくて「生成」が適切だと思う
0043nobodyさん2006/04/29(土) 09:44:01ID:???
csvファイルの編集のプログラムを
あるサイトのスクリプトを参考に作ったのですが
編集するたびにとデータとデータの間に改行が増えていきます。
どの部分を修正すれば改行せずに編集できるのかがわかりません。
大変失礼かと思いましたが教えていただけないでしょうか。

     //編集プログラム
     $ID=$_POST["id"];
$Cat=$_POST["cat"];
$ImageLink=ShapeStr($_POST["image"],0,0);
$TextLink=ShapeStr($_POST["text"],0,0);
$Comment=ShapeStr($_POST["comment"],1,1);
$Price=ShapeStr($_POST["price"],0,0);
//配列の格納後文字列へ変換
$lines=array("$ID",$Cat,$ImageLink,$TextLink,$Price,$Comment,"","","","1");
$lines=implode(",",$lines);
$lines=$lines."\n";
//配列を入れ替え
$Data=file("item.csv");
for($i=0;$i<sizeof($Data);$i++){
$line=explode(",",$Data[$i]);
if($line[0]==$_POST['id']){
array_splice($Data,$i,1,$lines);
}
}
0044nobodyさん2006/04/29(土) 09:44:38ID:???
上の続きです


//CSVファイルに書き込み
$fp=fopen("item.csv","w");
flock($fp, LOCK_EX);
foreach($Data as $item)fputs($fp,$item);
fclose($fp);
print "編集しました";

(参考にしたサイトのURLを載せていいものか迷ったので
編集部分だけ記載させていただきました。)

どうぞよろしくお願いします
0045nobodyさん2006/04/29(土) 10:08:52ID:???
PHP4系と5系を同じサーバーに併存させることって可能??
併存させると何か問題発生するかな。っていうかそもそも不可能?
0046nobodyさん2006/04/29(土) 10:10:13ID:???
$line=explode(",",$Data[$i]);
を
$line=explode(",",trim($Data[$i]));
に(ざっとしか見てないので適当)。
0047nobodyさん2006/04/29(土) 11:42:15ID:6qKEu+sv
PHP4を5に書き換えるくらいできるだろ
0048nobodyさん2006/04/29(土) 11:48:00ID:???
>>45
まずは併存させてくれ
0049nobodyさん2006/04/29(土) 12:10:52ID:???
flockってどういう意味があるの?
0050nobodyさん2006/04/29(土) 12:38:22ID:???
fopenでリソース開いてるときに
読み込み,書き込みさせないようにロックかけたり解除したり
ttp://jp.php.net/manual/ja/function.flock.php
マニュアル読んで
0051nobodyさん2006/04/29(土) 13:47:35ID:???
なんか荒れてたのね。
>>31
> サーバ負荷はphpに処理させないファイルが無い場合は変わらないよ。
そりゃそうだ。でも今まで.htmlをPHP扱いしてなかった上に.
htmlでPHPを動かす方法が分かりません!って言ってるのに
それで全ページがPHP生成のはずだと思い込む君の脳みそが心配です。
0052nobodyさん2006/04/29(土) 13:49:16ID:???
>>49
今、このファイルを開いてる人がいるよーと他のプログラムに通知するもの
0053nobodyさん2006/04/29(土) 15:47:35ID:???
現在掲示板を作っているのですが、文字色の設定で一つ質問があります。
投稿画面で色(投稿色)を設定するのですが、現在$colorsに配列として色をいれています。
それを以下のようにしてます。
<select name="color" style=color:white;>
<option value="{$colors[0]}" style="background-color:{$colors[0]};">{$colors[0]}
・
・
・
-------------------------------ここまで-----------------------------
しかし、$colorsに色を追加しても、手動で<option value= …を追加しなければいけません。

そこで、$colorsに色を追加したら自動で<option value=…を追加するというのはできないでしょうか?

日本語がおかしくてすいません。
0054nobodyさん2006/04/29(土) 15:57:54ID:???
>>53
その書き方を見るとSmartyを使ってるようなので、sectionを使えばいいのではあるまいか?
0055nobodyさん2006/04/29(土) 16:17:35ID:???
>>53
echo <<<EOT
<select name="color" style="color:white;">
EOT;
foreach ($colors as $val)
echo <<<EOT
<option value="{$val}" style="background-color:{$val};">{$val}
EOT;
でいけるっしょ
0056nobodyさん2006/04/29(土) 16:36:08ID:???
>>54の根拠が知りたい
0057nobodyさん2006/04/29(土) 16:37:01ID:???
>>54の巨根が知りたい
0058nobodyさん2006/04/29(土) 16:38:08ID:???
>>54の巨根が尻に…
0059nobodyさん2006/04/29(土) 17:53:27ID:???
そして掘られました
0060nobodyさん2006/04/29(土) 18:01:12ID:???
\   矢 口 さ ん 誕 生 日 お め で と う  /

       ノノノハヽヽ                ノノノハヽヽ
∋oノノハヽ(0^〜^)ノノハヽ#ノノハヽo@ノハ@|(‘〜‘ 川
 从*`、っ´) ( つと)( ^▽^)(’ー’川 (‘д‘ ) (つと )
  ( つと)  | | |  ( つと) (つと )  (つと )  | | |
oOノハヽOoノハヽ*∈_)__) .(__(_) (_ノノノハヽヽ〉ノノノハヽヽ
 ( ・e・) 川o・-・)      @@@    ノl�Vv�V从(´ー`●)
 .( つと)  ( つと∋oノハヽo☆@.*ノノノハヽヽつと )  (つと )
 (_)__)  (_)__)(〜^◇^)@+@(`.∀´ )__(_) .(__(_)
〆〃ハハ ☆ノハヽ ( つつ \|⊂⊂  ) oノノ人ヽo ¶¶¶¶ ∋oノハヽo∈
∬∬´▽`) ノノ*^ー^) (_)__)    (__(_)从・ 。.・*从[~~~~~]  (´v(`* )〜♪
 ( つと)   (つと)          .    ( つつ .[~~~~~~~] ●⊂ )
 (_)__)   (_)__)              (_)__)|| ̄ ̄ ̄|| (__(_)
0061542006/04/29(土) 18:01:20ID:???
ああ、ヒアドキュメントの存在を忘れてたよ。
"をそのまま使ってるので、echo(やprint)では無いらしいからテンプレートエンジンを使ってると思った次第。
0062nobodyさん2006/04/29(土) 18:03:37ID:???
単なるPC初心者の知ったかでした^^;
0063nobodyさん2006/04/29(土) 18:04:45ID:???
まぁ、ヒアドクでわざわざ[0]の配列を{〜}で括る必要なんてないはずだから
Smartyではあるまいか?と予想する54も間違っちゃいないと思う。
0064nobodyさん2006/04/29(土) 18:38:57ID:???
>>54
こちらの書き方が悪くて勘違いをさせてしまって申し訳ありません。
>>55
上手くいきました。
ありがとうございました。
0065nobodyさん2006/04/29(土) 19:05:14ID:???
>>61
で、オマイは巨根なのか?
0066nobodyさん2006/04/29(土) 19:17:53ID:???
>>65
そんなに巨根が好きなのか?
0067nobodyさん2006/04/29(土) 19:34:16ID:???
巨根に勝るものは無い
0068nobodyさん2006/04/29(土) 19:47:32ID:???
大きすぎると痛いよ?
0069nobodyさん2006/04/29(土) 19:53:10ID:???
やらないか
0070nobodyさん2006/04/29(土) 23:27:54ID:???
しょうがないなぁ、やろうか
0071nobodyさん2006/04/30(日) 00:16:43ID:???
スレ違いな気がしなくもないですが、どこで聞けばいいのかわからなかったので・・・
xreaでcronを使うシェルファイルを

#!/bin/sh
#PHP
/usr/bin/wget -q --spider http://xxx.com/mmm.php > /dev/null 2>&1
exit
と設定したんですが
/virtual/legnabea/public_html/cron.sh: line 3: 1: ambiguous redirect
とエラーが出ます。これはどういう意味なんでしょうか?
0072nobodyさん2006/04/30(日) 01:31:56ID:???
>>71
> /dev/null 2>&1

エラーの内容からだと、ここじゃないですか?
0073nobodyさん2006/04/30(日) 02:28:33ID:???
>>71
ちょースレ違いを通り越して板違い。うにっくすの板向けだろそりゃ。
「2>&1」のりダイレクトのリダイレクト先が書かれてないからエラーになってる。
見よう見まねでそんなの書いてるんじゃないよ。
0074nobodyさん2006/04/30(日) 02:47:40ID:???
PHPにもあるから良いかな?
あのさ、オブジェクト指向が俺全然解らなかったんだよ。
で、実際にお仕事初めて半年ぐらい起ったんだけど、ずっとPHPとPerlのプログラミング
しててなんとなくオブジェクト指向のすばらしい理由ってのが解った気がするんだけど、
なんかグローバル変数とかが散在しなくて、メンテしやすい!ってのが理由なのかな?
0075nobodyさん2006/04/30(日) 03:02:38ID:???
>>73
黙ってろクズ
0076nobodyさん2006/04/30(日) 04:01:20ID:???
ちゃんと回答してる人をクズ呼ばわりするんじゃないよ
0077nobodyさん2006/04/30(日) 09:02:25ID:???
何で春休みも終わったのに厨房が沸いてるんだ?
GWだから?
こんなとこ着ても意味無いのにな。
0078nobodyさん2006/04/30(日) 09:04:17ID:???
GWってまだじゃね?
0079nobodyさん2006/04/30(日) 12:15:38ID:msE59x+3
PHPでは、Lynxのようなウェブブラウザでサイトにアクセスさせるような
ことはできますか?
0080nobodyさん2006/04/30(日) 13:08:32ID:???
>>78
いや、もうあちこちで新大学生のGW帰省は始まってる
0081nobodyさん2006/04/30(日) 13:09:23ID:???
>>79
できる
0082nobodyさん2006/04/30(日) 13:27:35ID:msE59x+3
>>81
具体的にはどうすれば実現出来るのでしょうか?
Perlのモジュールなら「libwww」というのは知っているのですが、PHPにはありません。

よろしくお願いします。
0083nobodyさん2006/04/30(日) 13:37:32ID:???
正規表現で「ひらがな」はマッチするのですが「漢字」はマッチしません。
どうすればいいんですか?

$str = "あ";
if(mb_ereg("あ",$str)){
print "OK";
}

$str = "一";
if(mb_ereg("一",$str)){
print "OK";
}
0084nobodyさん2006/04/30(日) 13:44:31ID:???
文字コードが原因でした。失礼しました。
0085nobodyさん2006/04/30(日) 13:48:57ID:???
>>82
どこまで真面目にやるかにもよるんだが、
単純にHTMLファイル1枚だけ拾ってくるなら標準でfile()などが対応するし、
libwww並のことがしたいならPEARでHTTP_Requestってのがあるよ。
0086nobodyさん2006/04/30(日) 13:51:23ID:msE59x+3
>>85
ありがとう(・∀・)! 調べてみるよ。
0087nobodyさん2006/04/30(日) 16:20:47ID:???
UTF-8で記述されたページにeucで記述したファイルをインクロードしたとき
(言語は共にja)これって文字化けしますか?

初歩過ぎてすいません。

0088nobodyさん2006/04/30(日) 16:23:47ID:???
>>87

>これって文字化けしますか?
>
>初歩過ぎてすいません。

やってみればわかるだろ。
とりあえずmb_convert_encoding()しとけ。
0089nobodyさん2006/04/30(日) 16:26:17ID:???
>>87
する
0090nobodyさん2006/04/30(日) 16:30:52ID:???
自分で初歩的って言うなら自分で解決しろよ
0091nobodyさん2006/04/30(日) 16:36:26ID:???
なんか質問の仕方がトリビアっぽいな
0092nobodyさん2006/04/30(日) 16:37:58ID:???
>>87
俺はどの文字エンコードとして表示すればいいんだ??
0093nobodyさん2006/04/30(日) 16:43:12ID:23/3bPSV
fputs関数で日本語をファイル出力した場合、
Shift-JISで出力されてしまいます。

fputs($file,"にほんご");

etf-8で出力したいのですが、
毎回、mb_convert_encoding()で変換してから
fputs関数に渡さないと出来ませんか?
最初から、文字コードを指定してファイル出力する
方法があるならば教えてください
0094nobodyさん2006/04/30(日) 16:43:41ID:???
fwriteにする
0095nobodyさん2006/04/30(日) 16:48:37ID:???
インクロード
0096nobodyさん2006/04/30(日) 16:48:55ID:???
>>90
多分、各HTML内で個別に文字コード指定ができることを期待したんじゃないの
0097nobodyさん2006/04/30(日) 16:51:34ID:???
>>93
毎回すればいいじゃない。
fputs($file,mb_convert_encoding("にほんご", "UTF-8"));
ってしとくだけでしょ。
0098nobodyさん2006/04/30(日) 17:01:19ID:???
>>94
有難うございます。調べてみます

>>95
これは僕へのレスですかね?

>>97
マジレスですか?
一様、釣られるてみます。
それが面倒だから質問してるのに・・・
0099nobodyさん2006/04/30(日) 17:02:34ID:???
wgetでphpを定期実行させるときに、phpファイル側になにか特別な記述って必要ですか?
0100nobodyさん2006/04/30(日) 17:03:29ID:???
むしろ>>94がネタレス
0101nobodyさん2006/04/30(日) 17:03:42ID:???
うんにゃ
0102nobodyさん2006/04/30(日) 17:07:37ID:???
>>98
> 一様、釣られるてみます。

一様に釣られたの?
それとも一応釣られたの?

もし「一応」の誤用だったらカッコワル(´・ω・')
0103932006/04/30(日) 17:08:44ID:???
ほんとだ、バイナリモード・・・釣られた。
皆さん、ホントに>>97さんの方法でやってるんですか?
0104nobodyさん2006/04/30(日) 17:10:18ID:???
>>99
なんでwgetなんだ?
Cronでいいじゃん。。
0105nobodyさん2006/04/30(日) 17:25:12ID:???
setcookieで掲示板で名前欄に記入されたやつをブラウザ閉じるまで保存して名前欄に出力していたいのですが、

$name に$_POST['name']が入っていて、
setcookie(namecookie','$name);と設定し、$COOKIE['namecookie']を投稿フォームの名前のvalueに設定しています。
しかし、それでは投稿後名前欄に$nameと出力されるだけで、先ほど投稿した名前は表示されません。

このような場合、どうしたらよろしいでしょうか?
0106872006/04/30(日) 17:31:54ID:???
ありがとうございます。
mb_convert_encoding()
この関数はインクロードする時(UTF-8のファイル)に記述?出力する(eucのファイル)時に記述?
どちらでも良いでしょうか?



0107nobodyさん2006/04/30(日) 17:40:55ID:???
>>93
というかオマエさんのソースファイルのエンコードは何なんだ?

>>105
まずソースをしっかり晒せ
それじゃシンタックスエラー出まくりだ

#おそらくこれ↓で直る
# setcookie( 'namecookie', $name )
# $_COOKIE['namecookie']
0108952006/04/30(日) 17:41:08ID:???
>>98
俺のは>>87へのレスだから気にするな
0109nobodyさん2006/04/30(日) 17:42:36ID:???
レスがぐちゃぐちゃでわかんないです(><)
0110nobodyさん2006/04/30(日) 17:43:05ID:???
>>105
typoが多すぎるな。。
$nameになる -> $_COOKIE['namecookie']を表示するなどしてチェックする
         -> $_COOKIEをチェックする
         -> setcookieを疑ってみる
ぐらいやって欲しいものだ。

>>106
だから、俺はどのエンコードで喋ればいいんだ!?
0111nobodyさん2006/04/30(日) 17:52:28ID:???
>>104
cronでphpを実行するにはphpの記述を変える必要があるんですか?
というかcronの書き方がわかんないのでphpを起動させるシェルスクリプト書いて下さい
0112nobodyさん2006/04/30(日) 17:57:48ID:???
>>98
うん、マジレス。
HTTPへの文字列出力(標準出力)だけならともかく、
バイナリが含まれるかもしれない各ファイルへの出力を
自動文字コード変換なんて設定あったら確実にバグるって。

これを実現するには「絶対に文字列しか出力しない出力関数」を用意する必要があって、
だったら
function fputs_utf8($fp, $str) {
return fputs($fp, mb_convert_encoding($str、"UTF-8"));
}
とか自前で用意するだけで事が足りる。

> 皆さん、ホントに>>97さんの方法でやってるんですか?
というか、エンコードの必要なものと必要じゃないものをそれぞれ区別して処理してるから
「出力するすべてのものをUTF-8変換」なんてアホなこと自体やったことないっす
0113nobodyさん2006/04/30(日) 17:59:33ID:???
>>103
ソース自体をUTF-8で書いてるからエンコードなんて要らない
0114nobodyさん2006/04/30(日) 18:00:38ID:???
>>99
特にない
0115nobodyさん2006/04/30(日) 18:05:10ID:???
>>106
どっちでもやる気になればできるがUTF-8のファイル側でやった方が多分楽
0116nobodyさん2006/04/30(日) 18:06:51ID:???
>>102
utf-8をetf-8と書いちゃう人にあまり厳しい突っ込みはしてやるな
0117nobodyさん2006/04/30(日) 18:08:58ID:???
>>105
多分、setcookieで$nameを'〜'で括っちゃってるだけ
0118nobodyさん2006/04/30(日) 18:13:10ID:???
以下のサイトのように、プロパティのURLと実際の画像のURLを変えたいのですが、
実装の方法を分かる方いますか?

http://tv.yahoo.co.jp/tv_show/nhk/komyo/photo/index.html?p=17_01

プロパティの画像URL
http://img.yahoo.co.jp/images/clear.gif
実際の画像URL
http://tv.yahoo.co.jp/tv_show/nhk/komyo/photo/shot/17/01.jpg
0119nobodyさん2006/04/30(日) 18:16:30ID:???
PHPと関係ねーじゃん
0120nobodyさん2006/04/30(日) 18:20:20ID:???
IDE使用してるから〜、普段はもっと気を使ってるから〜、とか反論する余地もなく
何気ない書き込みだったとしても、多数の typo をする奴はマには向いてない。
0121nobodyさん2006/04/30(日) 19:00:32ID:???
>>118
HTMLソースくらい見れ
<td background="images/h_photo01.jpg"><img src="http://img.yahoo.co.jp/images/clear.gif"></td>
0122nobodyさん2006/04/30(日) 19:06:43ID:???
>>121 THX!!
0123nobodyさん2006/04/30(日) 19:49:36ID:???
>>111
氏ね。もしくは1万円払え。
0124nobodyさん2006/04/30(日) 23:05:56ID:23/3bPSV
クライアントからの入力フォーム情報を元に
サーブレットでの処理をいくつかのファイルに分けようと思っています。
そのため、以下のようなファイルを一つ生成し
クライアントは、このファイルにまずリダイレクトしてしました。
hoge1.php,hoge2.php,hoge3.phpが
それぞれ異なる処理ロジックを持つようにしています。
ですが、これだと入力フォームの情報がhoge1,2,3.php
に渡りません。
どうしたらhoge1,2,3.phpに入力フォーム情報を
渡す事が出来ますか?

<?php
header("Location: hoge1.php");
header("Location: hoge2.php");
header("Location: hoge3.php")
header("Location: hoge.html")
?>
01251242006/04/30(日) 23:14:11ID:???
それより、hoge1,2,3.phpをクラス化して
入力フォームからリダイレクトされたサーブレットから
それらを呼び出すようにした方がいいっすかね?
0126nobodyさん2006/04/30(日) 23:16:48ID:???
>>124
<?php
require("hoge1.php");
require("hoge2.php");
require("hoge3.php");
header("Location: hoge.html");
?>
でいいと思う
0127nobodyさん2006/04/30(日) 23:18:38ID:???
ブログの更新情報をRDFに落として配信できるようにしようとしています

phpにアクセスしてヘッダー送信→RSSソース表示という手順を踏めばしっかり表示されるのですが、
RSSのソースのファイルをphpに生成してRDFファイルにアクセスすると表示してくれません・・・・
解決方法ありますでしょうか。。。
サーバーはロリポップです。
01281242006/04/30(日) 23:21:25ID:???
おぉ、できました。require()初めて知りました。
本当に本当に有難うございました
0129nobodyさん2006/04/30(日) 23:23:06ID:???
<?xmlとかかいてる予感。
01301272006/04/30(日) 23:28:31ID:???
>>129
書いてます・・・・
まずいんでしょうか・・・
0131nobodyさん2006/05/01(月) 00:13:12ID:???
拡張子php?rdf?どっちで保存してるの?
0132nobodyさん2006/05/01(月) 00:33:09ID:???
Amazon Web Serviceで売上ランキング情報を取得するにはどうしたらいいの??
ttp://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=******&Operation=ItemLookup&IdType=ASIN&ItemId=B000AYEI5Y&ResponseGroup=Large
ttp://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=******&Operation=ItemLookup&IdType=ASIN&ItemId=B000AYEI5Y&ResponseGroup=SalesRank
上記二つを試したけど、期待した結果XML(<SalesRank>〜</SalesRank>)が
返されなくて困ってます。。。
0133nobodyさん2006/05/01(月) 00:59:11ID:???
$_SERVER["PHP_SELF"]って偽装できないですよね?
0134nobodyさん2006/05/01(月) 01:04:11ID:???
偽装してどーすんだそんなの
0135nobodyさん2006/05/01(月) 01:10:54ID:???
いや、偽装できるなら、偽装されたときを想定しないといけないのかなと思って。
01361272006/05/01(月) 01:14:33ID:???
拡張子はrdfです
.htaccess入れたら正常に閲覧できるんですが、何かほかの方法ってありますでしょうか?

phpで出力の方は成功しました。
0137nobodyさん2006/05/01(月) 01:22:37ID:W7/kimMe
fputs()のオープンモード(第二引数)に"a"を
指定すると追加でファイル出力されるんですが、
ファイルの最後に出力されてしまいます。
どうしたら、ファイルの最初に追加(挿入)する
事ができますか?
01381272006/05/01(月) 01:30:35ID:???
>>137
もとのログファイルを
$lines = file("ログファイル");
で読み込んでおいて、

fputs(ファイルポインタ,"文字列");
fputs(ファイルポインタ,$lines);

とするか
fopenの第二引数にr+を指定するといいと思います
0139nobodyさん2006/05/01(月) 01:44:44ID:???
>>132
アマゾンの売上情報は取得できない(らしい)。
■ このスレッドは過去ログ倉庫に格納されています