【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あたり
0002nobodyさん
2006/04/28(金) 04:13:11ID:ICV8N6RN【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
0003nobodyさん
2006/04/28(金) 04:13:42ID:ICV8N6RNhttp://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
0004nobodyさん
2006/04/28(金) 04:14:12ID:ICV8N6RNextractは極力使わないほうがいいと思います。
例えば、
hoge.php?_SESSION[user_pw]=hogehoge
って形で送られてきたとします。これを
extract($_GET)
しちゃうと、$_SESSION['user_pw']の値が、
"hogehoge"に変更されてしまいます。
もし事前にユーザのパスワードを、$_SESSION['user_pw']に
保持してたとしたら、勝手に書き換えられてしまうことになります。
それを避けるために
extract($_GET, EXTR_SKIP)
ってやって上書きを避けたとしても、
このままでは変数の初期化を忘れる危険性があります。
extract($_GET, EXTR_PREFIX_ALL, "get")
と、接頭辞をつけるのが一番安全な気はしますが、
それなら最初から
$hoge = $_GET['hoge'];
ってやるのと手間が変わらないと思いますし、可読性も増します。
確かにextractするのは楽だと思いますけど。
0005nobodyさん
2006/04/28(金) 04:31:15ID:???ttp://search.net-newbie.com/php/function.usort.html
こことか見たんですがよくわかりません
超初心者の俺にPHP詳しい人教えてください
よろしくお願いします
0006nobodyさん
2006/04/28(金) 05:43:54ID:???usort使おうとしてるということは配列なんだろうけど
取得したRSSを・・・と言われてもどのように配列に入っているかわからなければ
答えようも無い。
0007nobodyさん
2006/04/28(金) 05:53:54ID:???こんなんでダメ?
0008nobodyさん
2006/04/28(金) 10:04:43ID:???item単位でソートなのかrss単位でソートなのか知らんが、
日付を元にitemソートすればいいんじゃないの?
0009nobodyさん
2006/04/28(金) 12:02:48ID:???RSSが最新のものに更新されたかどうかをどうやって取得すればいいのでしょうか?
現在わたしがやっているのは最新のRSSを自分のサーバーに置き、
クローンで一定間隔で再取得し、違いがあった場合に自分のサーバーにある
RSSを更新するというやり方をとっています
しかしこれだとあまりにも無駄が多いような気がします。
何か良い方法が教えてもらえませんか?
0010nobodyさん
2006/04/28(金) 12:20:52ID:???一番賢い方法教えてくれませんか?
0012nobodyさん
2006/04/28(金) 13:03:23ID:???っていうのをヘッダーに記述する以外で、phpで実現する方法はありますか?
全てのページに対して
ヘッダー周りは別途ファイルを分けてincludeしているためです。
0013nobodyさん
2006/04/28(金) 13:16:01ID:???PHPはページを表示させる前の処理をするんだよ。
表示させた後の処理はクライアントサイドで動作する言語で書け。
0014前スレ994
2006/04/28(金) 14:26:27ID:Na6jyHe3>.htaccess「のようなもの」をディレクトリに置くだけでcron代わりになるんだったら
>鯖選びでcronが使えるかどうかなんて見ない。
そうですよね。確かに良く考えてみれば分かるようなことでした。
>cronが使える安鯖か自分のPCにあるブツ(cronでもタスクスケジューラでも)から
>wgetでも叩かせれば、定期的にスクリプトが走るよ。
今あるサーバのスクリプトを、自鯖にあるCRONでも命令可能ってことですか!!?
何だか危険な気もしますが、それが出来れば便利ですね!
wgetを叩けば良いのですね!調べてやってみます!!
どうもありがとうございました。。
0016nobodyさん
2006/04/28(金) 14:59:53ID:???0017nobodyさん
2006/04/28(金) 17:56:10ID:UkqacfT1例えば、カラムが5列ほどの表があり、ユーザ設定で表示のON・OFFをしたいです。
今考えてる処理では、下のようにPage1.phpでDBに表示するカラム名を直接保存し、
Page2.phpでDBからカラム名を呼び出しSELECT文に加えて表を出力、という流れです。
項目が増えたりなど後々の汎用性も考慮して、カラム名DB保存→表示と
かなり考えて最終的に今はこういう処理を思いついたのですが、
一般的にもっとスマートな方法があるような気がしまして、
ヒントなどありましたら御教示おねがいします。
/* Page1.php ユーザ設定画面 */
// 表示されるHTML
□身長 □体重 □視力 □住所 □電話番号 [表示項目の更新]
※チェックがあった項目を表示
// HTMLソース部分
print '<input type="checkbox" name="display[]" value="height">身長';
print '<input type="checkbox" name="display[]" value="weight">体重';
// 処理部分(実際にはサニタイズ処理などします)
$sql = "UPDATE DisplayColumn SET display='" .join(",", $_POST["display"]). "'";
$rs = mysql_query($sql);
/* Page2.php データ表示画面 */
$sql = "SELECT display FROM DisplayColumn";
$rs = mysql_query($sql);
$dispay = mysql_result($rs,0,0);
$sql = "SELECT $display FROM Profile";
$rs = mysql_query($sql);
while ( $row = mysql_fetch_array($rs) ) { }
0018nobodyさん
2006/04/28(金) 18:25:30ID:bvVZ5vZVhoge.php(カレンダー表示のphpです。)
をhtml内に表示させるには
html内で <? include "hoge.php";?>
と説明があったのですが、 html内に埋め込んでも
表示されません。
hoge.phpに直接アクセスすると表示されるのですが…
超ド素人な私に表示させる方法を教えてください。
0019nobodyさん
2006/04/28(金) 18:57:17ID:???拡張性があると考えたんならいいんじゃないの?
DisplayColumnテーブルのdisplayフィールドにjoinする時に
表示しちゃいけないフィールドを更新しないようにね
(というか表示できるフィールドだけ更新するようにチェック)
>>18
htmlという拡張子もphpで処理するようにすればできるけど
普通はそういう設定してない。
htmlじゃなく拡張子をphpにすれば動くんじゃない?
またはSSIが使えれば少し修正すれば使えると思うけど。
0021nobodyさん
2006/04/28(金) 19:07:54ID:???>>またはSSIが使えれば
0022nobodyさん
2006/04/28(金) 19:10:38ID:???002318
2006/04/28(金) 19:24:34ID:???拡張子をphpに変えたら表示出来るようになりました。
有難うございます。
SSIも使えます。
その場合はどのようにしたら
使えるようになるのでしょうか?
0024nobodyさん
2006/04/28(金) 19:35:49ID:???>>19は少し言葉足らず
SSIが使えればではなく
SSIのincludeVirtualなどでPHPが読み込めれば が正しい
これはApache2からしか出来ない
0025nobodyさん
2006/04/28(金) 19:38:21ID:???0027nobodyさん
2006/04/28(金) 20:46:02ID:???セッションを解放する方法はありますか?
002818
2006/04/28(金) 22:16:32ID:???SSIのinclude Virtualはまだまだ勉強が必要なようなので
とりあえず拡張子をphpに変えてやってみます。
有難うございました。
0029nobodyさん
2006/04/28(金) 23:06:59ID:???そのサーバーで.htaccessが使えるなら、それで.htmlをPHPとして解釈させるように設定すれば動くと思う。
AddType application/x-httpd-php .html
でもサーバー負荷が増えるから、可能なら.phpで使う方がいいと思うけどね。
0031nobodyさん
2006/04/28(金) 23:12:04ID:???サーバ負荷はphpに処理させないファイルが無い場合は変わらないよ。
検索エンジンに最適化するには拡張子がhtmlの方が良い。
(Googleは拡張子によってクロール頻度が変わる。
動的に生産されるページと認識されるとクロール頻度が下がるなどの悪影響がある。
Googleによれば相手のサーバの負荷を考慮しているとのこと。)
0032nobodyさん
2006/04/28(金) 23:15:29ID:???>サーバ負荷はphpに処理させないファイルが無い場合は変わらないよ。
↑はぁ??何言ってんの???
HTMLとしてApacheに処理させれば済むものを
わざわざPHPエンジンを通せば当然遅くなる(負荷が増える)。
003331
2006/04/28(金) 23:28:25ID:???誤解を招いたようですまない。
「phpに処理させないファイルが無い」ってのは、ようするに静的に生産されるページが1個も無いって事。
全ページphpで構築していると、phpエンジンに通さないファイルは無いと思って、、、
0036nobodyさん
2006/04/28(金) 23:49:36ID:???「誤解」じゃなくて、完全に認識を間違っている。
HTMLは「静的に生産される」云々の話ではない。
「すでに生産されている静的なファイル」がHTMLである。
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・-・) @@@ ノlVvV从(´ー`●)
.( つと) ( つと∋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:???■ このスレッドは過去ログ倉庫に格納されています