【PHP】下らねぇ質問はここに書き込みやがれpart20
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/04/28(金) 04:12:33ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【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あたり
0042nobodyさん
2006/04/29(土) 03:26:54ID:???0043nobodyさん
2006/04/29(土) 09:44:01ID:???あるサイトのスクリプトを参考に作ったのですが
編集するたびにとデータとデータの間に改行が増えていきます。
どの部分を修正すれば改行せずに編集できるのかがわかりません。
大変失礼かと思いましたが教えていただけないでしょうか。
//編集プログラム
$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:???併存させると何か問題発生するかな。っていうかそもそも不可能?
0046nobodyさん
2006/04/29(土) 10:10:13ID:???を
$line=explode(",",trim($Data[$i]));
に(ざっとしか見てないので適当)。
0047nobodyさん
2006/04/29(土) 11:42:15ID:6qKEu+sv0049nobodyさん
2006/04/29(土) 12:10:52ID:???0050nobodyさん
2006/04/29(土) 12:38:22ID:???読み込み,書き込みさせないようにロックかけたり解除したり
ttp://jp.php.net/manual/ja/function.flock.php
マニュアル読んで
0051nobodyさん
2006/04/29(土) 13:47:35ID:???>>31
> サーバ負荷はphpに処理させないファイルが無い場合は変わらないよ。
そりゃそうだ。でも今まで.htmlをPHP扱いしてなかった上に.
htmlでPHPを動かす方法が分かりません!って言ってるのに
それで全ページがPHP生成のはずだと思い込む君の脳みそが心配です。
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=…を追加するというのはできないでしょうか?
日本語がおかしくてすいません。
0055nobodyさん
2006/04/29(土) 16:17:35ID:???echo <<<EOT
<select name="color" style="color:white;">
EOT;
foreach ($colors as $val)
echo <<<EOT
<option value="{$val}" style="background-color:{$val};">{$val}
EOT;
でいけるっしょ
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(`* )〜♪
( つと) (つと) . ( つつ .[~~~~~~~] ●⊂ )
(_)__) (_)__) (_)__)|| ̄ ̄ ̄|| (__(_)
006154
2006/04/29(土) 18:01:20ID:???"をそのまま使ってるので、echo(やprint)では無いらしいからテンプレートエンジンを使ってると思った次第。
0062nobodyさん
2006/04/29(土) 18:03:37ID:???0063nobodyさん
2006/04/29(土) 18:04:45ID:???Smartyではあるまいか?と予想する54も間違っちゃいないと思う。
0064nobodyさん
2006/04/29(土) 18:38:57ID:???こちらの書き方が悪くて勘違いをさせてしまって申し訳ありません。
>>55
上手くいきました。
ありがとうございました。
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
とエラーが出ます。これはどういう意味なんでしょうか?
0073nobodyさん
2006/04/30(日) 02:28:33ID:???ちょースレ違いを通り越して板違い。うにっくすの板向けだろそりゃ。
「2>&1」のりダイレクトのリダイレクト先が書かれてないからエラーになってる。
見よう見まねでそんなの書いてるんじゃないよ。
0074nobodyさん
2006/04/30(日) 02:47:40ID:???あのさ、オブジェクト指向が俺全然解らなかったんだよ。
で、実際にお仕事初めて半年ぐらい起ったんだけど、ずっとPHPとPerlのプログラミング
しててなんとなくオブジェクト指向のすばらしい理由ってのが解った気がするんだけど、
なんかグローバル変数とかが散在しなくて、メンテしやすい!ってのが理由なのかな?
0076nobodyさん
2006/04/30(日) 04:01:20ID:???0077nobodyさん
2006/04/30(日) 09:02:25ID:???GWだから?
こんなとこ着ても意味無いのにな。
0078nobodyさん
2006/04/30(日) 09:04:17ID:???0079nobodyさん
2006/04/30(日) 12:15:38ID:msE59x+3ことはできますか?
0082nobodyさん
2006/04/30(日) 13:27:35ID:msE59x+3具体的にはどうすれば実現出来るのでしょうか?
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:???どこまで真面目にやるかにもよるんだが、
単純にHTMLファイル1枚だけ拾ってくるなら標準でfile()などが対応するし、
libwww並のことがしたいならPEARでHTTP_Requestってのがあるよ。
0086nobodyさん
2006/04/30(日) 13:51:23ID:msE59x+3ありがとう(・∀・)! 調べてみるよ。
0087nobodyさん
2006/04/30(日) 16:20:47ID:???(言語は共にja)これって文字化けしますか?
初歩過ぎてすいません。
0088nobodyさん
2006/04/30(日) 16:23:47ID:???>これって文字化けしますか?
>
>初歩過ぎてすいません。
やってみればわかるだろ。
とりあえずmb_convert_encoding()しとけ。
0090nobodyさん
2006/04/30(日) 16:30:52ID:???0091nobodyさん
2006/04/30(日) 16:36:26ID:???0093nobodyさん
2006/04/30(日) 16:43:12ID:23/3bPSVShift-JISで出力されてしまいます。
fputs($file,"にほんご");
etf-8で出力したいのですが、
毎回、mb_convert_encoding()で変換してから
fputs関数に渡さないと出来ませんか?
最初から、文字コードを指定してファイル出力する
方法があるならば教えてください
0094nobodyさん
2006/04/30(日) 16:43:41ID:???0095nobodyさん
2006/04/30(日) 16:48:37ID:???0097nobodyさん
2006/04/30(日) 16:51:34ID:???毎回すればいいじゃない。
fputs($file,mb_convert_encoding("にほんご", "UTF-8"));
ってしとくだけでしょ。
0098nobodyさん
2006/04/30(日) 17:01:19ID:???有難うございます。調べてみます
>>95
これは僕へのレスですかね?
>>97
マジレスですか?
一様、釣られるてみます。
それが面倒だから質問してるのに・・・
0099nobodyさん
2006/04/30(日) 17:02:34ID:???0101nobodyさん
2006/04/30(日) 17:03:42ID:???0102nobodyさん
2006/04/30(日) 17:07:37ID:???> 一様、釣られるてみます。
一様に釣られたの?
それとも一応釣られたの?
もし「一応」の誤用だったらカッコワル(´・ω・')
0105nobodyさん
2006/04/30(日) 17:25:12ID:???$name に$_POST['name']が入っていて、
setcookie(namecookie','$name);と設定し、$COOKIE['namecookie']を投稿フォームの名前のvalueに設定しています。
しかし、それでは投稿後名前欄に$nameと出力されるだけで、先ほど投稿した名前は表示されません。
このような場合、どうしたらよろしいでしょうか?
010687
2006/04/30(日) 17:31:54ID:???mb_convert_encoding()
この関数はインクロードする時(UTF-8のファイル)に記述?出力する(eucのファイル)時に記述?
どちらでも良いでしょうか?
0107nobodyさん
2006/04/30(日) 17:40:55ID:???というかオマエさんのソースファイルのエンコードは何なんだ?
>>105
まずソースをしっかり晒せ
それじゃシンタックスエラー出まくりだ
#おそらくこれ↓で直る
# setcookie( 'namecookie', $name )
# $_COOKIE['namecookie']
0109nobodyさん
2006/04/30(日) 17:42:36ID:???0110nobodyさん
2006/04/30(日) 17:43:05ID:???typoが多すぎるな。。
$nameになる -> $_COOKIE['namecookie']を表示するなどしてチェックする
-> $_COOKIEをチェックする
-> setcookieを疑ってみる
ぐらいやって欲しいものだ。
>>106
だから、俺はどのエンコードで喋ればいいんだ!?
0111nobodyさん
2006/04/30(日) 17:52:28ID:???cronでphpを実行するにはphpの記述を変える必要があるんですか?
というかcronの書き方がわかんないのでphpを起動させるシェルスクリプト書いて下さい
0112nobodyさん
2006/04/30(日) 17:57:48ID:???うん、マジレス。
HTTPへの文字列出力(標準出力)だけならともかく、
バイナリが含まれるかもしれない各ファイルへの出力を
自動文字コード変換なんて設定あったら確実にバグるって。
これを実現するには「絶対に文字列しか出力しない出力関数」を用意する必要があって、
だったら
function fputs_utf8($fp, $str) {
return fputs($fp, mb_convert_encoding($str、"UTF-8"));
}
とか自前で用意するだけで事が足りる。
> 皆さん、ホントに>>97さんの方法でやってるんですか?
というか、エンコードの必要なものと必要じゃないものをそれぞれ区別して処理してるから
「出力するすべてのものをUTF-8変換」なんてアホなこと自体やったことないっす
0118nobodyさん
2006/04/30(日) 18:13:10ID:???実装の方法を分かる方いますか?
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:???0120nobodyさん
2006/04/30(日) 18:20:20ID:???何気ない書き込みだったとしても、多数の typo をする奴はマには向いてない。
0121nobodyさん
2006/04/30(日) 19:00:32ID:???HTMLソースくらい見れ
<td background="images/h_photo01.jpg"><img src="http://img.yahoo.co.jp/images/clear.gif"></td>
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")
?>
0125124
2006/04/30(日) 23:14:11ID:???入力フォームからリダイレクトされたサーブレットから
それらを呼び出すようにした方がいいっすかね?
0126nobodyさん
2006/04/30(日) 23:16:48ID:???<?php
require("hoge1.php");
require("hoge2.php");
require("hoge3.php");
header("Location: hoge.html");
?>
でいいと思う
0127nobodyさん
2006/04/30(日) 23:18:38ID:???phpにアクセスしてヘッダー送信→RSSソース表示という手順を踏めばしっかり表示されるのですが、
RSSのソースのファイルをphpに生成してRDFファイルにアクセスすると表示してくれません・・・・
解決方法ありますでしょうか。。。
サーバーはロリポップです。
0128124
2006/04/30(日) 23:21:25ID:???本当に本当に有難うございました
0129nobodyさん
2006/04/30(日) 23:23:06ID:???0131nobodyさん
2006/05/01(月) 00:13:12ID:???0132nobodyさん
2006/05/01(月) 00:33:09ID:???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:???0134nobodyさん
2006/05/01(月) 01:04:11ID:???0135nobodyさん
2006/05/01(月) 01:10:54ID:???0136127
2006/05/01(月) 01:14:33ID:???.htaccess入れたら正常に閲覧できるんですが、何かほかの方法ってありますでしょうか?
phpで出力の方は成功しました。
0137nobodyさん
2006/05/01(月) 01:22:37ID:W7/kimMe指定すると追加でファイル出力されるんですが、
ファイルの最後に出力されてしまいます。
どうしたら、ファイルの最初に追加(挿入)する
事ができますか?
0138127
2006/05/01(月) 01:30:35ID:???もとのログファイルを
$lines = file("ログファイル");
で読み込んでおいて、
fputs(ファイルポインタ,"文字列");
fputs(ファイルポインタ,$lines);
とするか
fopenの第二引数にr+を指定するといいと思います
■ このスレッドは過去ログ倉庫に格納されています