【初心者】励ましあいながらサイト製作【PHP】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/09/03(土) 10:30:34ID:???http://pc8.2ch.net/test/read.cgi/php/1125396428/
から分家。
共同で何かを作るわけではなく、それぞれが勝手に自分の物を
作りながらひとり言を言ったり傷を舐めあったり質問をしあったりするスレです。
0002nobodyさん
2005/09/03(土) 12:45:25ID:???【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
0003nobodyさん
2005/09/03(土) 13:01:20ID:30OL2LBWttp://modern.dw.land.to/2ch/
動作がとても重いので誰か励まして下さい
0004nobodyさん
2005/09/03(土) 13:04:16ID:???移ってきますた。
0005nobodyさん
2005/09/03(土) 13:29:24ID:???すごいっす。
初心者なのでソースはよくわかりませんが・・・
ただ>>*形式のレスアンカーが効かなくてちょっともったいないので、
<a name="レス番">を各レスに埋め込んでおいてレスアンカーで
そこに飛べるように置換してみたらどうでしょ。
あと、inline_linkのコードはどこにあるのだろう・・・
$str=ereg_replace("(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)","<a href=\"\\1\\2\" target=_blank>\\1\\2</a>",$str);
うちで使っているのはこれだけど、借り物なので意味わからずに使っていたり。
0006nobodyさん
2005/09/03(土) 13:32:46ID:???00073
2005/09/03(土) 13:37:34ID:30OL2LBW同ディレクトリにddd.incというファイルがあって、それをインクルードしています
僕もインラインリンクはそれを使ってます!一応ftpのとこは削除してます
正規表現は今勉強中で僕もよくわかりません・・・
0008nobodyさん
2005/09/03(土) 13:37:55ID:???ないんだったっけか・・・
一旦レスデータからstrip_tagsで<br>以外のタグを消して、もう一度
処理しなおせばいいのかな。
0009nobodyさん
2005/09/03(土) 14:12:26ID:30OL2LBWレスアンカー機能つけました!上みたいに一件だけ表示します
にしても重い・・・
0011nobodyさん
2005/09/03(土) 14:19:12ID:30OL2LBWでアンカーリンクを置換
最後の数字をforループの$iに代入して一件だけ表示しています
正規表現は
http://phpspot.net/php/pg%90%B3%8BK%95%5C%8C%BB%81F%82%B7%82%D7%82%C4%94%BC%8Ap%89p%90%94%82%A9%82%C7%82%A4%82%A9%92%B2%82%D7%82%E9.html
を参考にしました
0012nobodyさん
2005/09/03(土) 14:20:42ID:30OL2LBWていうかまずjavaスクリプトすらできねーw
0013nobodyさん
2005/09/03(土) 14:22:57ID:30OL2LBW0014nobodyさん
2005/09/03(土) 14:26:37ID:???ソース読んでみた。
1つバグっぽいのがあるんだけど、
Ins_read::make()
の中にある
exitはいらないんじゃないかな。
0015nobodyさん
2005/09/03(土) 14:29:13ID:30OL2LBWほんとだ!気づきませんでした
ありがとうございます
0016nobodyさん
2005/09/03(土) 14:32:05ID:???http://www.atmarkit.co.jp/fwcr/special/ajax01/03.html
意外と簡単なのよこれが
>>13
$str=$str.追加分のデータ で溜め込んで行って
最後に
$fp=fopen("なんたら.html",'w');
fputs($fp,$str);
fclose($fp);
でキャッシュさせとく、と。
//キャッシュされたデータがあれば
if (file_exists ("なんたらhtml")){
//そこに飛ばす
header("Location: なんたら.html");
exit();
}
なければ動的に書き出す。こんなんでどうだろね。
0017nobodyさん
2005/09/03(土) 14:33:21ID:ELI2ChlaおりはPHP初心者。
ネットのみで勉強しようかなと思ったけど、やっぱり本があった方がいいね。
マンモス本と呼ばれる本がPDFであったけど、読んでてつかれた。
とりあえずPHPの書籍は「はじめてのPHP言語プログラミング入門」あたりを買おうと思う。
0018nobodyさん
2005/09/03(土) 14:37:47ID:???0019nobodyさん
2005/09/03(土) 14:42:00ID:30OL2LBWthanks!!でもやっぱAjaxはむずかしそうだな〜
ちょっとJsの基礎を学んでからじゃないとできなさそう・・・
HTML生成をがんばってみます
0020nobodyさん
2005/09/03(土) 16:20:05ID:???ウザいからsageろ
0021nobodyさん
2005/09/03(土) 19:05:34ID:???結構難しい・・
0022nobodyさん
2005/09/04(日) 00:19:42ID:???本屋3件くらい回ってとりあえず「10日で覚えるPHP」みたいな本を買ってみた。
1日目のやつで既に挫折しそうだ…_| ̄|○
0023nobodyさん
2005/09/04(日) 02:07:56ID:Xe72iwaXとりあえずPHPとMySQLで掲示板モドキでもできたらうれしい
↓これはけっこうタメになりそう。
http://allabout.co.jp/career/database/closeup/CU20030227/
0024nobodyさん
2005/09/04(日) 08:51:42ID:???このスレは個人個人が好きに作っているから、プロジェクトとしては
潰れようがないところがいいね。
webprogなんて時間さえかければ一人でも作れるしな。
>>23
>>20が怒っているのでsageでよろ
0025nobodyさん
2005/09/04(日) 10:47:42ID:???テスト環境を自分のパソコン(Win2000)で構築したいのですが、サーバソフト
は何を使ってもいいのでしょうか?
それとも素直にApacheを入れておいた方が幸せになりますか?
0026nobodyさん
2005/09/04(日) 11:00:04ID:???anhttpdでやってみたけどちょっと不安定だったし。
Perlの時はanhttpd、PHPの時はApacheで使い分けてる。
0027nobodyさん
2005/09/04(日) 11:10:06ID:???4ヶ月も触っていてこれかと思うと自分が情けなくなるのぅ。
//取り出して$strに入れる
$str=array_pop($hairetu);
//減っちゃうので元に戻す
array_push($hairetu,$str);
こんな回り道な方法しかないとも思えないのだけど・・・
0029nobodyさん
2005/09/04(日) 11:19:56ID:???0031nobodyさん
2005/09/04(日) 12:00:13ID:???やっぱりそうですか。
私もPerlでanhttpを使っていたので、anhttpでいけるのならそうしようと思っていました。orz
0032nobodyさん
2005/09/04(日) 12:13:10ID:???http://pc8.2ch.net/test/read.cgi/php/1120611474/350-
0033nobodyさん
2005/09/04(日) 12:58:07ID:???あっ、サンクス。
1クリックで開発環境を一度にインストールするツールもあるんだ。
紹介してもらったスレに誤爆してもうた。。。orz
0034nobodyさん
2005/09/04(日) 14:40:37ID:???「10日で覚えるPHP」はあまり良くないらしい。
PHPの基礎である関数、演算子、制御構造の説明が少ないからどうとか、、、
オイラは改訂新版基礎PHPと10日の二つを買ったけど、前者の方が、PHPを勉強してるっていう感じがする。
最初はPHPの基本的な文法の説明からはじまって、
後半で掲示板とスケジュール管理アプリケーションをつくる。
それに、章ごとに練習問題があるから勉強したことを確認できる
後者はPHPの勉強というよりは紹介してあるプログラムを作っておしまいっていうような・・・。
たしかにプログラムとかをつくるから楽しいけど。
本屋で立ち読みしてみればどうかな?
0035nobodyさん
2005/09/04(日) 18:54:34ID:???祝日はボールドで、マウスオーバーで祝日名が出る。
全部で200行。
まぁ、何の役にも立たんけど、練習ということで。
2005〜2010年
http://ancosme.s101.xrea.com/calendar/
0037nobodyさん
2005/09/04(日) 20:20:54ID:???ありがとう。
祝日はデータとしてまず持っておきます。
HM2は2週目のハッピーマンデーの意味。
1/1 元旦
1/HM2 成人の日
2/13 建国記念日
・
・
・
そして祝日に該当した日は、赤のボールドで書くようにしています。
春分、秋分の日の判定は以下のサイトから計算して出してます。
春分秋分日
http://homepage1.nifty.com/chibipage/pgsyunbun.html
0038nobodyさん
2005/09/04(日) 21:10:18ID:???こんなのまであるんですね・・・
凄すぎてとてもついていけないので、ブラックボックスのまま使わせてもらおう・・・
0039nobodyさん
2005/09/04(日) 21:42:49ID:???そのサイトからたどっていくと、カレンダーって結構奥が深い。。。
祝日ロジック [昭和の日]対応 変更箇所
http://www.h3.dion.ne.jp/~sakatsu/holiday_logic_Showa.htm
004039
2005/09/04(日) 22:00:58ID:???祝日について
http://www.h3.dion.ne.jp/~sakatsu/holiday_topic.htm#kokumin_2nd
004122
2005/09/04(日) 22:42:45ID:???改訂新版基礎PHP自分も持ってる。そうかそっちの本の方がいいのか…。
最初、はじめてのPHP(都ひさおて人が書いた方)って本読んで全然意味がわからんかったので
10日で〜を買ってみた。
別の本屋行ったらまたよさげな本みっけたので基礎PHPも買ってみた。
本増えても自分でPHP書けなきゃ意味ないけどね'`,、(ノ∀`)'`,、
ガンバルス(`・ω・´) 34さんサンクス!
0042nobodyさん
2005/09/04(日) 23:02:53ID:???やっぱ逆引きあると便利だなあ
0043nobodyさん
2005/09/04(日) 23:32:39ID:???0044nobodyさん
2005/09/05(月) 00:10:52ID:???10年も20年も先に同じの使ってるわけないだろうし。
0045nobodyさん
2005/09/05(月) 00:13:47ID:???おたがい頑張ろうお!
---けえかほおこく1――9がつ5日---
今、基礎PHPのP.112まで読んだところ
大体の意味は理解できたと思うけど、本をみながらじゃないと書けない・・・
配列は理解するのに少し時間がかかった
ビット演算子ってのは、2進方とか10進方が分からないから理解できなかったw
これって重要なのかな・・・
今のところはつまずいてないけど、クラスとかオブジェクト指向らへんでつまずきそうな予感(´・ω・`)
>>42
自分もなんか一つリファレンス本がほしいなぁと思ってたところ
「PHP5逆引き大全」と「PHPポケットリファレンス」どっちにしようか迷ってる。
それとも、もう少し基礎を固めてからの方がいいのかな
0046nobodyさん
2005/09/05(月) 00:40:04ID:???俺は困った時だけポケットリファレンスを開く程度。
ほとんどの場合、それすら面倒くさくてGoogle検索してコピペするw
おかげさまでDBも正規表現もオブジェクト指向もさっぱりだぜひゃっほう。
こんな風になっちゃいけないよ。
0047nobodyさん
2005/09/05(月) 01:09:30ID:???多次元配列となると、ちんぷんかんでわかんねー
0048nobodyさん
2005/09/05(月) 17:16:35ID:???ビット演算子は、PHPみたいなスクリプト言語じゃあんまり使わない。
使えば容量圧縮・負荷削減に繋がる場合もあるけど、最近の環境からしてみれば微々たるものだし
多少オーバヘッドがでかくなっても、移植性のいいアスキーデータで扱うべき。
2進は中学か高校でも習うしょ。指が1本しかない状態で数を数える方法、って考えればいい。
8, 16進は2進をそれぞれ3, 4桁ごとに区切った物だと覚えれば不都合ない。
>>47
多次元配列は変数が色んな方向に並んでるだけで、特に難しく考える事は無い。
1次元が変数の行列で、2次元が表、3次元がルービックキューブ、って考え方を基本にして、
4次元はルービックキューブを1次元に並べた奴 = ルービックキューブの行列(n番目のルービックキューブのx, y, zという指定の仕方)
5次元はルービックキューブを2次元に並べた奴 = ルービックキューブの表(x2, y2のルービックキューブのx, y, z)
6次元はルービックキューブを3次元に並べた奴 = ルービックキューブを1ピースにしたルービックキューブ(x2, y2, z2のルービックキューブのx, y, z)・・・
あとは、ルービックキューブ状になったルービックキューブを1つのルービックキューブとして扱って後はループ、って感じ。
0050nobodyさん
2005/09/05(月) 17:47:37ID:???理解しとかなきゃ恥ずかしいというか、色々な面で不都合の出てくるものでもあるよ。
ビット演算なんて難しく考えなければ2進数の論理演算とシフトだけなんだから、ちゃんと覚えといた方がいい。
0051nobodyさん
2005/09/05(月) 22:09:32ID:???この際だから覚えておこうと思います。
いろいろとアドバイスありがとうございます。
0052nobodyさん
2005/09/05(月) 22:12:56ID:???まだ75ページ目くらいしか見てないけど、なかなかいい感じですこの本。
MySQLとの連携も書いてあるみたいだし。
WEBでいろいろPHP関連のサイトをずーっと見てたけど、やっぱり本はいいね。
PDFのマンモス本見てるより本見る方が楽。
おたがいがんばりまそ。
0053nobodyさん
2005/09/05(月) 22:22:17ID:CGyYRIw9まぁPHPやる前にPerlやってたから最初の方は適当に読んだけどね。
今は2XXページあたりの図書管理のデータベース使ったプログラムを書いてる
データベースすげーー!って感じですw
0054nobodyさん
2005/09/05(月) 22:27:04ID:lQwp6BJc知ってる人はよろしく
0055nobodyさん
2005/09/05(月) 22:40:39ID:???MS Access + SQL Server程度しかやった事なかったんで、DBすげーになるまでがんがりまつ。
やっぱアマゾンの書評より2chの書評の方がいいような希ガス。
0056nobodyさん
2005/09/05(月) 22:42:43ID:???携帯電話以外でもUser-Agentに載ってる情報でクライアントに関する色々な情報が得られる。
0057nobodyさん
2005/09/05(月) 22:51:31ID:???DBすげーってなったら、DBの設計・操作の基礎みたいなのが掴めれば、
DB絡みの簡単なシステムは大体は作れるようになると思う。非効率的なコードになるとは思うけどね。
あと、DB独自の関数群(php側DB側両方)とかも覚えていくと、phpでごちゃごちゃ書く量が減ってかなり楽になる。
設計とかユーザ管理が面倒くさいけど、とにかくシステムをサクサク作りたい、って時は
phpMyAdminとかphpPgAdminを使うとスプレッドシートみたいな感覚でお手軽にやれるよ。
0058nobodyさん
2005/09/05(月) 22:59:16ID:???糞マルチ死ねよ
糞マルチ死ねよ
糞マルチ死ねよ
糞マルチ死ねよ
糞マルチ死ねよ
糞マルチ死ねよ
というマルチを誘う罠だな
0059nobodyさん
2005/09/05(月) 23:03:39ID:???やっぱ自分には無理なのか…(つД`)グスッ
自分の頭悪さ加減が嫌になった…
0060nobodyさん
2005/09/05(月) 23:16:57ID:???解説書全てに言えることだけど、適当に読み飛ばしつつ、使えそうなところだけ拾っていって
よく読んでないところも「この辺にこんなのがあったなぁ」程度に覚えとくだけで十分。
あとは自分の作りたいものを作りつつ、2chの関連スレやフォーラムをブラブラして
初心者質問スレで聞いたり、分かる範囲で人に教えたりしながら、少しずつ出来る事を増やしていけばいい。
止めずに続けてりゃ、気が付いたら大概の事が割とまともに出来るようになってるはず。
正直、入門書の類を何冊読んだって、ゴリゴリ書いて自分なりのノウハウを掴んで行かないと、いい物は作れないと思う。
入門書読むより何が大事かって、楽しいと思って取り組む事と、興味の沸いた事を積極的に調べて取り込んで行く事だ、と言ってみる。
0061nobodyさん
2005/09/06(火) 00:07:11ID:???まだまだ4で逝くのでPHP4版が欲しいけど大きな本屋に逝けばあるのかな?
0062nobodyさん
2005/09/06(火) 00:38:16ID:???チェーン店とか他の書店からの取り寄せが出来るところで店員に聞いてみるといいかも。
PDFで必要なとこだけ印刷して読むとかじゃ駄目?
確かにディスプレイ上じゃ見難いけど、1回通して読んだ後は、必要なとこ読むだけだから
検索の利くPDFの方が利便性高いと思うんだけど。
まぁ、どうしても製本されたのが欲しいって気持ちも分からなくもないから、止めはしないけど。
0064nobodyさん
2005/09/06(火) 02:30:16ID:???ありがとさんです。
phpMyAdminとかphpPgAdminぐぐってみました。
かなり便利なもんがあるんですね。
たすかりますた。
0065nobodyさん
2005/09/08(木) 00:16:36ID:???0066nobodyさん
2005/09/08(木) 10:34:50ID:???http://phpspot.net/php/phpeditor.html
たまにエラーが出て白紙が開いたり上書き保存が効かなくなるバグが
0068nobodyさん
2005/09/09(金) 16:59:32ID:tGBnfrTyHeader("Content-type: text/octet-stream;");
Header("Content-disposition: attachment; filename=hoge.csv");
print("あいうえお\n");
?>
単純にCSVファイルをダウンロードさせたいだけなのですが、
これにアクセスしてもただ文字が表示されるだけです。
なぜでしょうか。お願いします。
0070nobodyさん
2005/09/09(金) 18:32:14ID:tGBnfrTyありがとうございます。
もう1個だけ教えて下さい。
<?
function csv(){
Header("Content-type: Application/octet-stream;");
Header("Content-disposition: attachment; filename=hoge.csv");
print("あいうえお\n");
}
function html(){
print "<form action=csvtest.php method=post>";
print "<input type=hidden name=hoge value=hoge>";
print "<input type=submit>";
print "</form>";
}
global $_POST;
$hoge = $_POST['hoge'];
if($hoge == ""){
html();
}else{
csv();
}
?>
007170
2005/09/09(金) 18:33:16ID:tGBnfrTy開くをクリックすると、なぜかもう一度ダイアログが出て開くをクリックすると
csvが開けます。なぜダイアログが2回出てしまうのでしょうか。
ご教示ください。
POSTしているのがいけないのでしょうか?
確認していませんが、GETでやると1回で済むと思います。
0072nobodyさん
2005/09/10(土) 00:49:37ID:X+h+0+O00073nobodyさん
2005/09/10(土) 02:24:58ID:4eRTgX7aすると聞きました。
高性能らしいのですが、書き込みの多いサイトだと放っておいたら
レン鯖だとそのうち容量オーバーしやすいのでしょうか。
大した事はしないので、おとなしくMySQLを使っていた方が無難?
0074名無しさん@そうだ選挙に行こう
2005/09/10(土) 19:32:31ID:p09f3dkK例えばこんな感じで、〜/hoge.php?a=1&b=2&c="d&e"とかくくってもダメなんです...
0075名無しさん@そうだ選挙に行こう
2005/09/10(土) 19:34:00ID:???&→%26
0076名無しさん@そうだ選挙に行こう
2005/09/10(土) 19:42:07ID:???urlencodeしなきゃだめだ
つか励ましあうのって無理があるな
0077nobodyさん
2005/09/12(月) 01:55:38ID:Wrz9iarD0078オナニスト ◆MRmxpjiK.2
2005/09/12(月) 04:15:34ID:6Ew75INN詳しくは日記を見てください;;
http://zone.s33.xrea.com/nik/nik.cgi
1Mでいいので開通早くて速度でる会社教えてください
YAHOO ソネット Jコム ビッグローブ アサヒネット
ケーブル以外でお願いします;;。
0079nobodyさん
2005/09/12(月) 21:29:17ID:EmmBgl/h0080nobodyさん
2005/09/13(火) 09:34:30ID:???0081nobodyさん
2005/09/13(火) 09:39:38ID:???http://images-jp.amazon.com/images/P/B00009B8MC.09.99TLZZZZ.jpg
Amazonみたいに、path_infoとGDを使って値引率を動的に画像の中に
合成しようと思っているのだけど、ImageTTFTextは使わずにimagestringを
使いたい。
でも、imagestringのパラメータにフォントサイズの項目が見当たらない・・・
ビットマップフォントを無理に拡大しても荒れるだけだからなのかなあ。
0083nobodyさん
2005/09/13(火) 11:54:05ID:???PHPで同じ機能を再現できないかと思って。
でもAmazonの値引率の表示って結構凝っていて、文字部分まで
リアルタイムに合成して作っているんじゃないっぽい。
どうも1.png〜99.pngまでの合成用画像をあらかじめ用意しておいて
それを使っているような気がしてきた。
で、そんな面倒なことをする気がない私はビットマップフォントの合成で
お茶を濁しましたとさ。
見た目ちょっとヘボいけど、汎用性が高いからこれでいいや。めでたしめでたし。
サイト名と設置URLとメールアドレスを設定するだけですぐにスタートできる、
お手軽なショッピングサイト構築ツールを作ってるんですわ。
フリーの書体だとしても、配布セットの中に勝手に他人の著作物を
同梱するわけにもいかないので、お気軽さ優先で。
紹介感謝です。
もし公開後にショボいと言われまくるようだったら、専用のフォントでも
自作して同梱することにします。
たかだか「0〜9+o+f」の12文字だけだしね。
0089nobodyさん
2005/09/13(火) 14:35:55ID:???池沼ばっかりでいいぞ。
0091nobodyさん
2005/09/13(火) 20:11:47ID:???自分はこういうやり方でやってるんですが、皆さんはどうやってますか?
0092nobodyさん
2005/09/13(火) 20:40:08ID:???自分の場合、一通り読んでからプログラムを組みます。
それで実際、組むとき、あやふやな部分を確かめるって感じです。
ヒマな時間にリファレンス本を流し読みして「この言語ではこういうことができる」
という部分をまず掴みます。
使いそうな関数のページには折り目をつけておきますが、まず読み返すことはありません。
実際に組む時は、8割方過去に作ったスクリプトからコピペして改変します。
過去にない処理が必要になった場合、例えば「php 全角英数 半角英数 変換 」
とかググって、その処理に必要な関数名を調べます。
次にその関数名でまたググり、オンラインリファレンスから例文をコピペして
パラメータだけいじります。
自分で暗記で打てるのはif文程度。
0094nobodyさん
2005/09/14(水) 02:20:26ID:???プログラミングってものに慣れてきたら>>93みたいなやり方。
別に参考書が全部を完璧に教えてくれるわけじゃないから(というか中途半端な場合が多い)
分からないところは、「分からなかった」って事だけ覚えてれば、その場では分からなくてもいいと思う。
(サンプルコードを打ち込むのはいまいち為にならない。サンプルコードを落として、適当にいじくり倒す方がずっと為になる)
1,2回読んで分からなければ、その文章自体が下手糞か、自分にはまだ早い場合が殆どだと思うんで
放っておいて、色んなドキュメントとかソースなんかを見てるうちに
ピンと来る内容にあたることがあるだろうから、その時にしっかり物にすればいい。
(ずっとピンと来ないのであれば、向いてないって事だろうし、参考書をいくら読んでも理解出来ないはず)
最初の頃のお勧めの方法としては
1.参考書の章を読む
2.よく分からない部分はピックアップしていく
3.いまいち処理が分からない時は、関数名や文中のキーワードでググる(公式ドキュメントの関連項目は必読)
4.もう1回読む
5.分からなくても、分からなかったこととして保留したまま次の章へ。本を読み終わったらしばらく読み直さない(すぐに読み直してもどうせ理解出来ない)。
0095nobodyさん
2005/09/14(水) 09:48:53ID:???だから最初は基本的な部分だけ押さえて、後はリファレンスばっかり読む。
あーこんなことが出来るんだーなんて言いながら概要を掴んで、
実際に書いてみて、いじってみて、あーこうなるんだーって理解する。
そういうのの積み重ねだ。あhっはははははははははははh
0096nobodyさん
2005/09/14(水) 23:30:59ID:???めちゃくちゃな処理でなんとか思い通りに動かして、あとになって、もっとスマートな方法を見つけるけど、自分で書いたコードなのにもう、こんがらがってそれを適用するのもまた大仕事。
0097nobodyさん
2005/09/14(水) 23:41:11ID:???これからの勉強の参考にさせていただこうと思います。
0099nobodyさん
2005/09/17(土) 19:09:39ID:???いま、オブジェクト指向ってのを勉強してるけど、やっぱり難しい・・
0100nobodyさん
2005/09/18(日) 00:51:32ID:???PHPのオブジェクト指向って、使わなきゃ使わないでどうにかなるし、
どうにかしちゃう場合が多いので、他のとこ覚えてからの方がいい気がするよ。
0101nobodyさん
2005/09/18(日) 01:20:10ID:???そうなんですか。
じゃぁとりあえずは後回しでもいいんですね。
PHPはまだまだ覚えていない部分がたくさんあります(д`;)
ファイルの扱いや、サーバーとクライアント間のデータのやりとりといったモノの方が実用的な気がするので
こっちの方を先に覚えようと思います。
ありがとうございました。
0102nobodyさん
2005/09/18(日) 10:10:54ID:???これって変数をまとめて初期化しているんですよね?
0103nobodyさん
2005/09/18(日) 19:23:32ID:???羅列してる変数全てに""を代入してる。
PHPでは基本的にあまり変数の宣言や初期化はしないし、
するにしても、そういう分かりにくい仕方はしないよ。
0104nobodyさん
2005/09/18(日) 22:10:06ID:???気持ち悪いからしてるけど普通しないもんなの?
0105nobodyさん
2005/09/19(月) 00:01:34ID:???http://d.hatena.ne.jp/keyword/register_globals
register_globals問題もあるので、念のため初期化してからの方が無難なのかもね。
自分も初心者なのでよーわからんのですが、
function Hoge_Hoge(){
//必要なグローバル変数だけを意識的に取り込む
global $str;
処理
}
Hoge_Hoge();
ってな感じでとりあえずfunctionで囲んでおけば安心?
0106nobodyさん
2005/09/19(月) 00:32:40ID:???初期化とは異なるけど、例えば分岐処理を簡単に済ませたい時とか
function fooBar(){
$text = "";
if (式) {
$text = "foobar";
}
return $text;
}
こういうelseの必要ない書き方とか、あとは何があったかな
0107nobodyさん
2005/09/19(月) 03:13:27ID:???たとえば
for($i = 0; $i < 10; $i++) $foo .= $bar[$i];
なところは
$foo = "";
for($i = 0; $i < 10; $i++) $foo .= $bar[$i];
とするとか。そのくらい。
自分が始めた時は、そういうことも大事だけど
http://php.s3.to/man/types.comparisons.html
あたりの挙動をちゃんと把握する事の方が、変な動作するスクリプト減らすのには役立つなぁと思った次第。
>>106
それって、パフォーマンス的にも可読性保つためにも、素直にelse使った方がいい気が…
0108nobodyさん
2005/09/19(月) 10:20:39ID:???漏れは>>106の書き方好き。
先にまず初期値。
その後、複数の条件を羅列することも出来る。
case文っぽい感じだよね?
可読性に関しては好みだとは思うけど、パフォーマンス的に差が出るようなものなの?
0109nobodyさん
2005/09/19(月) 16:09:08ID:???まぁ、「最初は""で、trueだった時だけ"foobar"」って見方も出来るから、好みっちゃ好みなのは確かなんだけど、
>>104みたいな初期化の仕方をした上で>>106の記述をすると、
「ん?この値何が入ってるんだよ」って感じで、ソースをさかのぼって見なきゃいけなくなっちゃう事が多い。
(書いてる時はいいんだけど、後から保守する時が……)
パフォーマンス云々は、体感できる差じゃないけど、後から必ず値が入る場合にも初期化されちゃう分無駄だよ、ってだけ。
0110nobodyさん
2005/09/19(月) 17:37:00ID:???>>>104みたいな初期化の仕方をした上で>>106の記述をすると、
>>106の方で「初期化とは異なる」と最初で断ってるわけなんだからこれはおかしいんじゃない?
変数を空にするのは、単に初期化するためだけはないと言ってるんじゃないの?
それに>>106みたいな手法の方が楽だということもあるんだし、それぞれじゃないかな。
0111109
2005/09/19(月) 21:08:52ID:???>>106は、初期化(初期値の代入)と取るのが自然な気が。
現に、""を初期値に設定して、ifがtrueの場合のみ"foobar"を代入、と捕らえるのが自然な記述だと思うし。
こういうのって、本人がどういうつもりで書いたかという事よりも
実際の挙動や、読み手がどう取るか、の方が大事なんじゃないかな。
んで、それぞれはそれぞれだよ、駄目だなんて一言も言ってない。
読み難くなくて、ちゃんと動けば全然問題ないと思う。
0112nobodyさん
2005/09/20(火) 10:32:51ID:???if (!式) { return; }
return "foobar";
}
自分ならこう書くかな。
初期化以前に極力新しい変数は作らない。
0113nobodyさん
2005/09/20(火) 11:01:10ID:???たとえば式がcount(array)とかで、1ページで何回も呼び出されるものなら、
staticでページ1回につき1回の計算だけで済ましたりするだろう。
単純になんでもない式なら>>112だな。
0114nobodyさん
2005/09/28(水) 20:10:51ID:???という感謝祭が私の作ったプログラムの中で連日開催されているのですが
何とかならないものでしょうか
0115nobodyさん
2005/09/29(木) 07:55:10ID:???if (get_magic_quotes_gpc()) {
$_POST['com'] = stripslashes($_POST['com']);//¥除去
}
0116nobodyさん
2005/09/29(木) 14:07:07ID:???function getGPC($string) {
if(is_array($string)) {
foreach($string as $key => $value) $string[$key] = getGPC($value);
return $string;
}
if (get_magic_quotes_gpc()) {
return stripslashes(urldecode($string));
} else {
return urldecode($string);
}
}
0118nobodyさん
2005/10/01(土) 17:52:21ID:???0119nobodyさん
2005/10/08(土) 00:46:19ID:???0120nobodyさん
2005/10/08(土) 10:03:04ID:???完成してから公開、とか考えると逆に駄目だね。
一人で製作の弱点って、そこだな。
0121nobodyさん
2005/10/10(月) 11:56:34ID:???0122nobodyさん
2005/10/10(月) 18:16:08ID:???0123nobodyさん
2005/10/10(月) 19:57:17ID:???0124nobodyさん
2005/10/16(日) 23:41:23ID:???0125nobodyさん
2005/10/18(火) 15:18:57ID:???このシリーズ、役に立つようになるかも。
0126nobodyさん
2005/10/19(水) 22:49:11ID:CHcSnYiIまだまだ未完だけど上げてみる
0127nobodyさん
2005/10/20(木) 10:14:07ID:???HTMLで済むのをむりやりPHPに移植するスレだったのか。
>ククク.
だまされましたね?
ここは自宅のPowerBook Serverです.
くれぐれもアタックをかけない様に(藁
ttp://glagla.dw.land.to/index.php
こっちにも同じ事書いてあるけど、land.toはいつからオマイの自鯖になったんだ?
というか新たなnullの誕生か?
2度と行かね。
0128nobodyさん
2005/10/20(木) 15:43:58ID:???作ってますよー
Guestアカウント
ID:trial@smartworks.jp
pass:guest
カートの方は製作中かつ仕事だからまだ非公開だけど。
どちらにせよ意地になって無理やり公開するもんじゃないね。
不具合多すぎ。
0131126
2005/10/20(木) 19:13:20ID:???indexねぇぞっつう警告メール来たんでとりあえず置いて、そのままだったや。
思い出サセテクレテありがとう。
まぁ見るに耐えられない痛いサイトなのは承知だぜぃ・・・
0132nobodyさん
2005/10/30(日) 09:14:30ID:???0133nobodyさん
2005/10/30(日) 18:17:15ID:???本家が単発スレ立ち上げたものだから、
今一つ気がのらないだけ。
0134nobodyさん
2005/11/04(金) 20:37:45ID:???0135nobodyさん
2005/11/04(金) 21:41:10ID:KfXUaxV2XOOPSがあるんだから、独自にサイト作るのって車輪の再発明ってことに気づいてない?
XOOPSを改良する方向に力注げよ。
0136nobodyさん
2005/11/05(土) 10:10:40ID:???つかXOOPSは駄目スクリプトだと洩れは思うぞ
0137nobodyさん
2005/11/05(土) 10:16:14ID:???むやみに XOOPS を設置しまくるように仕向けるのは賛成できない
0138nobodyさん
2005/11/05(土) 10:16:55ID:???0139nobodyさん
2005/11/05(土) 17:13:50ID:???0140nobodyさん
2005/11/05(土) 20:25:11ID:???0141nobodyさん
2005/11/06(日) 15:58:35ID:???案外工夫の余地があるんだよな
デザインをテンプレートで分離するとか RSS の出力を工夫して管理しやすくするとかね
データの管理の仕方とか
0142nobodyさん
2005/12/19(月) 00:32:48ID:???テキストファイルのデータを読み込んでinsert文でmysqlのテーブルに挿入するスクリプト作ったんだが上手くいかなかった
んで、いろいろ試して文字/改行コードをEUC、LFじゃなくてSHIFT-JIS、CR+LFにしたら上手くいった
phpってEUCで書くもんだと思ってたけどコレでいいの?
0143nobodyさん
2005/12/20(火) 17:06:27ID:???0144nobodyさん
2005/12/20(火) 20:45:17ID:???0146142
2005/12/24(土) 00:04:49ID:???今こんなカンジ
テキスト(EUC)を読み込んでPHPスクリプト(S-JIS)でテーブルに挿入
mysqlにログインして直にテーブル内容を確認したらデータが文字化け
文字化けしたデータを別のPHPスクリプトで内容表示させたら文字化せずちゃんと表示される
ちなみに表示させたデータをmb_detect_encoding()で確認したらEUCだった
で、mysqlにログインしたついでにスクリプトではなく直にinsert文で同じデータを追加してみた
結果、テーブル内では文字化けしないが、スクリプトで表示させると文字化け(つーか日本語部分が表示されない)
mb_detect_encoding()で確認したらS-JISになってた
mysqlの設定がおかしいのか?
0147nobodyさん
2005/12/25(日) 01:34:00ID:???0148nobodyさん
2005/12/25(日) 22:59:15ID:???[mysqld]
default-character-set=sjis
>>147
PHPの方かな
0149nobodyさん
2005/12/26(月) 00:24:45ID:???テーブルからデータ読み込む時はS-JIS→EUCとする事で思ったとおりの動作させることが出来たけど・・・
もしかしてmysqlの設定がS-JISになってるからダメなのか?
でも何処でWINDOWSでmysqlの設定方法調べてmy.iniに
[mysqld]
default-character-set=sjis
[mysql]
default-character-set=sjis
[mysqldump]
default-character-set=sjis
って書けって書いてるんだが
0150nobodyさん
2006/02/01(水) 18:32:48ID:???どうにもうまくいかない。ちょっと、教えてくれると助かります。
とりあえず、元のテキストデータ(複数)があって、たとえば0行目が
1であれば内容を表示するって言う感じで↓みたいにとりあえずして
実際動かしてみた。
<!--ファイル読み込み-->
<?php
$ファイル(1) = file("ファイル(1)");
}
?>
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
<!--内容表示-->
<?php
if(ファイル(1)の0行目指定 == 1) { print("内容");
}
?>
で、まあこれで動いたんで調子乗ってもう一つのテキストデータを
読み込ませた同じやつ(ファイルの0行目指定(2)みたいな感じで)
を同じように書いてみたんだけど、なぜか表示されない。(↓)
0151nobodyさん
2006/02/01(水) 18:35:13ID:???<?php
$ファイル(1) = file("ファイル(1)");
$ファイル(2) = file("ファイル(2)");
}
?>
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
<!--内容表示-->
<?php
if(ファイル(1)の0行目指定 == 1) { print("内容");
}
?>
<?php
if(ファイル(2)の0行目指定 == 1) { print("内容");
}
?>
にんともかんともわからなかったので
if(ファイル(2)の0行目指定 == 1)を
if(ファイル(2)の0行目指定 == 0←※)と言う風に他のに変えたら
OKでした。これはやっぱり、なんか競合してるからダメポという事
なのでしょうか??
説明ベタですみませんが、
知っている方教えていただけると助かります。
0152nobodyさん
2006/02/01(水) 19:01:48ID:???0153nobodyさん
2006/02/03(金) 14:11:35ID:XtE8ZpDP$f_one = file("hoge1.dat");
$f_two = file("hoge2.dat");
if($f_one[0] == 1){ print "内容";}
if($f_two[0] == 1){ print "内容";}
?>
・・・こういうこと?
0154nobodyさん
2006/02/13(月) 19:22:54ID:CRi0u1UUイメージ的にはこんな風に・・・。
<FORM action="a.php" method="post">
print "<input type='hidden' name='sel[][]' value='$sel'>";
</FORM>
配列はnameに[]をつけないといけないということはわかったのですが、
この書き方ではうまくいかず。。。
1個ずつ送らないといけないのでしょうかorz
0155nobodyさん
2006/02/13(月) 21:46:07ID:c0AZgeUz0156nobodyさん
2006/02/13(月) 21:50:46ID:???0157nobodyさん
2006/02/13(月) 21:54:42ID:???でもただの質問スレになるならいらね
0158nobodyさん
2006/02/14(火) 01:32:16ID:bs1BKFdz,を</td><td>に変えるのってどうやるのでしょうか?
初心者なもんで。誰かおしえてください。
0159nobodyさん
2006/02/14(火) 17:11:30ID:???0160nobodyさん
2006/02/15(水) 09:06:20ID:???でやって
foreachで繰り返す時にtrとかやったらいいんじゃない
0161158
2006/02/15(水) 13:16:56ID:oPyCFoG40162nobodyさん
2006/02/15(水) 19:06:58ID:???0163nobodyさん
2006/02/21(火) 17:27:31ID:???ereg_replaceとかで置換できますよ
0165nobodyさん
2010/01/02(土) 12:12:00ID:???01661/3
2012/01/19(木) 10:56:51.20ID:8XvWf5+2外部RSSを簡単に読み込んで出力するルーチン
(ttp://phpspot.net/php/pg%E5%A4%96%E9%83%A8%EF%BC%B2%EF%BC%B3%EF%BC%B3%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF.html)を使用して、
HPにブログの更新された日付とタイトルを表示させたいのですが、
日付が表示されないです。
どうかご教授下さい。
01672/3
2012/01/19(木) 10:59:35.67ID:8XvWf5+2<?php
// 外部RSSを簡単に読み込んで出力するルーチン
$RSSURL = "ttp://feedblog.ameba.jp/rss/ameblo/staff/rss20.xml";
$buff = "";
$fp = fopen($RSSURL,"r");
while ( !feof($fp) ) {
$buff .= fgets($fp,4096);
}
fclose($fp);
// パーサ作成
$parser = xml_parser_create();
// パーサオプションを指定
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
// パース実行、連想配列にパース結果代入
xml_parse_into_struct($parser,$buff,$values,$idx);
// パーサ開放
xml_parser_free($parser);
// パースして得た連想配列をまわす
$in_item = 0;
$count = 0;
foreach ($values as $value) {
$tag = $value["tag"];
$type = $value["type"];
$value = $value["value"];
$tag = strtolower($tag);
if ($tag == "item" && $type == "open") {
$in_item = 1;
} else if ($tag == "item" && $type == "close") {
if($count < 10){
echo "<tr><th>".$dateDisp."</th><td><a href=\"".$link."\"> ".$title."</a></td></tr>\n";
}
01683/3
2012/01/19(木) 11:01:19.55ID:8XvWf5+2$in_item = 0;
}
if ($in_item) {
switch ($tag) {
case "title":
// UTF-8なドキュメント
$value = mb_convert_encoding($value, "UTF-8", "UTF-8");
$title = $value;
break;
case "link":
$link = $value;
break;
case "category":
// UTF-8なドキュメント
$value = mb_convert_encoding($value, "UTF-8", "UTF-8");
$category = $value;
break;
case "dc:date";
$date = $value;
$dateArr = explode("T",$date);
$dateDisp = explode("-",$dateArr[0]);
$dateDisp = implode(".",$dateDisp);
break;
}}}
?>
</table>
amebloを使用してるので、
$RSSURL = "ttp://feedblog.ameba.jp/rss/ameblo/staff/rss20.xml";
にはamebloスタッフさんのブログを表示させていただきました。
お知恵拝借できればとおもいます。 宜しくお願いします。
0169nobodyさん
2012/02/16(木) 06:38:50.92ID:esLRBlikまだApache云々とかまで全然手出せてないからわからないんだけど
色んな人のプログとかサイト見てるとブラウザのurlバーにhoge.htmlとかって
リクエストに対して返ってきたファイルの拡張子まで表示される場合と拡張子のない場合と
あるんだけどあれってどうゆうことなんでしょうか?
0170nobodyさん
2012/04/12(木) 06:21:26.33ID:m/Rs2chW使ってるphpのバージョンが5なら、「simplexml_load_file」を使うと、もっと簡素なソースで組めるぞ?
この関数でサンプルソースをググってみれ。
>>169
http://httpd.apache.org/docs/current/content-negotiation.html
0172nobodyさん
2014/01/21(火) 17:09:22.14ID:QV3/HIGbphpのコードとhtmlの見通しをよくしようと考えました。
<h1 id="h1"><img src="<?php bloginfo(template_url); ?>/images/title/info.png"></h1>
<h3 id="h3">管理情報</h3>
を
<?php
echo '<h1 id="h1"><img src="'. bloginfo(template_url) .'/images/title/info.png"></h1>',
'<h3 id="h3">管理情報</h3>'
?>
のようにしてみたのですが、
imgのsrcにURLを設定するbloginfo(template_url)の部分の処理の順番が前後してしまって、
表示したWebページのソースを見ると、
http://localhost/<h1 id="h1"><img src="/images/title/info.png"></h1><h3 id="h3">管理情報</h3>
のようになっています。
これを修正する方法を教えてください。
0173nobodyさん
2014/01/22(水) 09:11:10.70ID:BWvY5tS3あと、WordPress を参考にしたんなら、
あれはプログラムの手本の真逆を行ってる
糞コードの最右翼だから気をつけれ
0174nobodyさん
2014/01/22(水) 19:24:26.87ID:???0175nobodyさん
2014/01/24(金) 16:36:28.39ID:qjy9c34Obloginfo()がどこにあるのか見つけられなかったのですが、これはWordPressの関数なんですよね?
ま、それはそれとして、自分でも、このコードの見通しは、大差ないかむしろ悪いくらいだわ、とは思ったんです…。
ふだんはC#なんですけど、phpって、こんなに見通しが悪いんだ…。
いやはや。
0176nobodyさん
2014/01/31(金) 11:37:17.46ID:???main.php(メイン)
include_once( 'myclass.php' );
$my_class = new myclass();
$my_class->クラスの関数();
myclass.php(の中身)
class myclass{
myclass(){}
クラスの関数(){
include_once('hoge.php' );
$戻った値=関数1();
}
}
hoge.php(の中身)
include_once('tmp.php' );
関数1(){
global $tmp;
…
return …
}
tmp.php(の中身)
$tmp = array(なんたら,かんたら)
hoge.phpの関数1で、$tmpの中身が空なので、
間違っている所を教えてください。
■ このスレッドは過去ログ倉庫に格納されています