くだすれPHP(超初心者用)2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/11/27(月) 17:46:42ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
0175172
2007/01/30(火) 00:30:34ID:???申し訳ないです。
PEAR::DBを利用して以下のように接続しました。
--
include_once 'DB.php';
$res = DB::connect('mysql://root:*****@localhost:3307/test');
var_dump($res);
--
上記で期待した動作は、Mysql4.1への接続です。
しかし、ルートのパスワードに対するエラーが返るばかりでした。
そこでMysql4.0のルートに設定してあるパスワードに変更してみるとMysql4.0へ接続できてしまいました。
それ以降、ポートを3308、3309と変更するとすべてMysql4.0へ接続できます。
0177nobodyさん
2007/02/01(木) 22:05:46ID:Ak2sQwef只今、PHP5.2をインストールし、<? phpinfo() ? > で
テストしたところ、IE、Operaでは正しく表示されましたが、
Firefoxでは<? phpinfo() ? > とそのまま表示されました。
なぜですか?わかる人おしえてください。
サーバーはアパッチ2.2です。
0178nobodyさん
2007/02/01(木) 22:46:52ID:???ちょっと限定的なのですが、プロバイダのWAKWAKでホームページスペースを借りて
そこにPHPファイルをアップしてみたのですが、PHPが実行されないです。
WAKWAKのホームページを調べてみたらPHPに関する情報が全くなかったのですが
これはPHPに対応していないということでFAでしょうか?
WAKWAK使いの方いましたらお願いします。
0179nobodyさん
2007/02/02(金) 08:49:55ID:???これ?
ここならPHP使えない
もしかしたらPHPをCGI形式で実行できるかもしれないが、それは問い合わせてみた方がいい。
PHPをCGI形式で実行ってなに?という質問はしないように。
0180nobodyさん
2007/02/02(金) 15:25:02ID:???そうですか。やっぱりですね。CGI形式ためしてみます。
0182nobodyさん
2007/02/04(日) 02:09:17ID:???$data = 'a.txt'; //ファイル位置を指定
$file = fule($data); //ファイルを1行ずつ配列に読み込む
$count = count($file); //配列の数をカウント
echo $count; //行数の出力
0183nobodyさん
2007/02/10(土) 21:29:22ID:???ユーザー定義関数とinclude(&require)の違いって何ですか?
ユーザ定義関数は使用後関数内の変数は初期化され、
includeは初期化されずに以降も使われる
ぐらいの違いしかわかりません。
速度の違い何かがあるのでしょうか。
馬鹿な質問だと思いますがよろしくお願いします!!
0184nobodyさん
2007/02/10(土) 23:36:18ID:???用途が違う、というか、あなたの考えかたからして間違ってる
ユーザ定義関数はその名の通り「ユーザが定義した関数」
include(require等も同等)は「他のファイルを読み込むために使う制御構造」
基本的に全く別の概念のもの。混同しないように。
>ユーザ定義関数は使用後関数内の変数は初期化され、
>includeは初期化されずに以降も使われる
任意の関数内でincludeを使用して別のスクリプトを読み込めば
(読み込んだスクリプトの)変数のスコープはその関数内のみとなるし、
includeでユーザ定義関数だけを読み込むこともできる(もちろん
この読み込んだ関数内の変数のスコープはその関数内だけで、
includeの外からは見えない)。
>ぐらいの違いしかわかりません。
そもそも基本的な事から間違っているから、分かっていないんだと思う。
0185nobodyさん
2007/02/11(日) 11:14:10ID:???ありがとうございます。別の概念ということですね。
元のphp文で参照できるかできないかもですかね。
でもやっぱりよくわかりません。(別の概念ということは
わかっても本質的な違いが分からないです)
自分の考えではある値AをA'にするユーザ定義関数&別ファイルのphp文と
読み込むincludeを
ユーザー定義関数関数 = ■
include(require) = ロ
とすると
A→■→A'
A→ロ→A'
のようになりますがこの二つの違いが変数の処理の違い以外わかりません。
よく自分の書いた文章を読むと質問の仕方が悪かったのではと思います。
「ユーザ定義関数を使って処理をするのと別ファイルにphp文を書いて
それをinclude文で処理することの本質的な違いが分かりませんでした。」
自分が理解していないのだとは思いますが、このまま理解せずにやってくのも
アレだと思うので、違いが書いてあるサイトをリンクしていただけるだけでも良いので
教えてください。
0186nobodyさん
2007/02/11(日) 12:52:18ID:???>A→■→A'
>A→ロ→A'
>のようになりますがこの二つの違いが変数の処理の違い以外わかりません。
↓こういう事かな?(コードは未検証)
---a.php---
<?php
$c1=$a1+$b1;
---test.php---
<?php
function sub1() {
global $a2, $b2, $c2;
$c2=$a2+$b2;
}
$a1=1;
$a2=1;
$b1=2;
$b2=2;
sub1(); // $c1の処理
include 'a.php'; // $c2の処理
echo "\$c1={$c1} \$c2={$c2}";
// $c1=3 $c2=3
a.phpとsub1()は同じ処理だが、関数外で処理(何て言うのか失念)しているか、
関数で処理しているか、の違い。
0187nobodyさん
2007/02/11(日) 12:54:13ID:???(続き)
そもそもinclude文というのは、includeで読み込まれるファイルの内容を、
include文そのものと置き換える(もう少し厳密に言えば、include文を
"?>読まれるファイルの内容<?php"に置き換える)処理をしているに
過ぎないので(でも本当はちょっと違う。returnで抜けられる等)、
読み込むファイルの内容を一旦ペーストして考えてみては?
>「ユーザ定義関数を使って処理をするのと別ファイルにphp文を書いて
>それをinclude文で処理することの本質的な違いが分かりませんでした。」
個人的には、複数のphpスクリプト内で同じ処理を行う
(同じ処理のスクリプトが存在する)場合、その関数を
別ファイルにしてincludeで読み込み、複数のファイル間で
共用する、というパターンがほとんど。
人によってはある程度の処理単位で(関数以外も含んでいる)
スクリプトに分割して、それを大元のスクリプトで場合分けして
読み込んで処理、なんて人もいるかも知れない。
この辺は個人の好みのような気がする。
なお速度的にはファイル処理をする関係上悪化してしまう。
参考になりそうなサイト等についてはちょっと分かりません。
個人的には公式マニュアルしか参考にしていないので・・・。
0188nobodyさん
2007/02/11(日) 19:14:50ID:???ありがとうございます。>>186そうです
そういった時に結局やってることは同じじゃないかと思ったわけです。
説明を読むと理解できました。
例えば漢字交じりの文、
「いい天気です。」
があったとすると
includeは
外部ファイル「天気」→「てんき」
いい天気です。 →いいてんきです。 → 実行
でユーザー定義関数は
「天気」→「てんき」と設定
いい天気です → 実行
というように違うということですね。(例えが悪くてすみません)
今までは複数回使う部分(関数)を何でも外部ファイルにして
使ってました。でも>>187の後半部分の方がスマートですね。
なんにしろいろいろとありがとうございました。精進します。
0189nobodyさん
2007/02/14(水) 12:53:53ID:???includeは埋め込むもの
functionは何か引数を与えて処理させて返り値を返すもの(それだけじゃないが)
その例えもあいまいで論理的になってないし
公式マニュアルかプログラミング入門書を読んだほうがいいと思うよ
0190nobodyさん
2007/02/15(木) 02:48:47ID:???別ファイルに
2月12日/豚肉のしょうが焼き/1時30分
2月13日/海鮮丼/2時10分
2月14日/魚の煮付け/1時50分
とデータが格納されていて、
それを表にする
<table>
<tr>
<td>日付</td><td>夕食</td><td>就寝時間</td>
<td>$day</td><td>$dish</td><td>$night</td>
</tr>
</table>
といった感じでわけて取り出したいのです。
0191nobodyさん
2007/02/15(木) 06:32:56ID:???他に携帯対応のランキングないですか?
0192nobodyさん
2007/02/16(金) 21:15:51ID:???うーん全く別の概念ですか。処理の速さの違いやどんな目的から発展してきたか、
どんな時に有用性があるかは>>188までで大体理解したつもりでした。
やっぱりまだ理解してないのかな…。とりあえず言葉の行き違いが
あると行けないのでもう少し詳しく自分の疑問を説明します。
とりあえず私が言う違いが感じられないとは
使用例や経緯とかではないです。(>>183は簡単に書きすぎました)
私としてはプログラムはどの一部分をとっても
f:a→b
のようにaからbへの対応にしか見えないです。
なので埋め込みと関数の違いが判らないのです。
この二つはプログラムを処理する上で、どんな形でどこから(どこを経由して)
プログラム文(対応)を持ってくるかの違いだけしかないのではと思うわけです。
その意味で言うなら、print文を使用するのもincludeを入れ子構造で100回
繰り返した後にprint文を使用するのも入力aに対して像bは
違いが無いという意味で違いが無いという言葉を使っていました。
以上から>>183では「どのような用途で使い分けるのか?」と質問したほうが
いいと思いました。反省します。
あまり長々と続けても他の皆さんの迷惑になるのであとは自分で調べてみます。
いろいろとありがとうございました。
0193nobodyさん
2007/02/17(土) 19:06:20ID:3OVOZ2Sy教えてください。
Windows XP
PHP 5.0.1
0194nobodyさん
2007/02/17(土) 19:14:32ID:???すごいアバウトな質問で答えようがありません
0195nobodyさん
2007/02/17(土) 19:27:16ID:3OVOZ2Sy「この設定方をすればOK」という文字コードの基本的な設定方法を教えてもらえませんか?
本やネットを見たのですがそれぞれ文字コードの設定が異なっているように思います。
いろいろ試してみたんですが上手くいきません・・・。
0196nobodyさん
2007/02/18(日) 01:09:50ID:???つttp://allabout.co.jp/internet/database/closeup/CU20050321A/index.htm
これじゃねーの?
0197nobodyさん
2007/02/18(日) 02:03:20ID:k8UF3L2w「phpiniの文字コードの設定」には4つありますが、どれが最適なんでしょう?
0199nobodyさん
2007/02/18(日) 13:02:11ID:???define('NL',"<br />");
function test(){
static $var = 100;
return $var++;
}
echo test().NL;
echo test().NL;
?>
という例文を勉強しているのですが、
実行結果が
100
101
でした。returnのところからすると
101
102
と思ってましたがどういうことでしょう?
ご教授ください。
0200nobodyさん
2007/02/18(日) 13:24:01ID:???0201nobodyさん
2007/02/18(日) 14:18:22ID:???環境は PHP4 fedora です。
今社内ネットワーク用のファイルアップローダを作っていて、機能拡張として複数ファイルのアップロードに対応することになりました。
http://search.net-newbie.com/php/feature-fileupload.multiple.html を参考にして
フォームには <input name="userfile[]" type="file" /> をいくつか記述し
POSTデータを受け取ったPHP側は $_FILES['userfile']['name'][n] で配列として処理すればよいと思って
プログラマに訊いてみたら、
「どこでそんなの見たんですか。それはダメです。 name="userfile[]"ではなく、それぞれ固有のnameを指定しないといけません」
と怒られました。
でもどうしてダメなのかわかりません。
input name="userfile[]" を 使ってhいけない理由を教えてください。
0204nobodyさん
2007/02/18(日) 15:30:41ID:vTDBy95k$filename = ("log.csv");
$file = file("$filename");
echo count("$file");
と書いてみましたが、どんなCSVを読み込んでも「1」と表示されてしまいます。
CSVファイルの行数を取得する方法、お教え願えませんでしょうか。
0205nobodyさん
2007/02/18(日) 15:44:35ID:???0206nobodyさん
2007/02/18(日) 16:03:16ID:vTDBy95k$file = file("$filename");
echo count($file);
""を外してみましたが、やはり「1」と表示され・・・・・
0207nobodyさん
2007/02/18(日) 16:12:15ID:vTDBy95k$file = file($filename);
echo count($file);
と記述したところ、行数が出力されました。
ヒントありがとうございました。
" " や ' ' の使い方がいまいちよく分かってません・・・・
0208nobodyさん
2007/02/18(日) 17:10:57ID:T5LKQUPj0210nobodyさん
2007/02/20(火) 09:42:40ID:v0Mu3VTD0211nobodyさん
2007/02/20(火) 11:04:28ID:???opendir して read_dir と while を使ってカウントを取るとか。
ファイルのリストを一発でとる関数が実装されるとかいう話を
聞いたことがあるけど、詳細忘れた。
0212nobodyさん
2007/02/20(火) 11:27:45ID:v0Mu3VTDどうもありがとうございます。
その関数実装されたらいいなぁ・・・
0213nobodyさん
2007/02/20(火) 19:58:28ID:???0214nobodyさん
2007/02/20(火) 21:03:06ID:v0Mu3VTD超初心者なので作れません(><)
>>211
おかげ様で思ってた通りに動作しました
本当にありがとうございました
0215nobodyさん
2007/02/20(火) 22:17:03ID:mf88VPVMにマッチさせる正規表現下さい。
0216nobodyさん
2007/02/20(火) 22:41:17ID:???0217nobodyさん
2007/02/20(火) 22:48:37ID:mf88VPVMな〜るへそ。
・・・っておい!
0218nobodyさん
2007/02/20(火) 23:04:34ID:???0219nobodyさん
2007/02/20(火) 23:25:52ID:mf88VPVMわかるくせに〜
0220nobodyさん
2007/02/20(火) 23:39:53ID:???0221nobodyさん
2007/02/21(水) 07:26:38ID:???決まったフォーマットから値を抜き出すなら
sscanf( )のほうがいいんじゃない
$date = "2007/02/20/ 20:19:06";
list($year, $month, $day, $hour, $minute, $second) = sscanf($date, "%d/%d/%d %d:%d:%d");
0222nobodyさん
2007/02/24(土) 20:35:08ID:???2、その後、ログインする機能をつけたいと思っています
1でフォームを通じてデータベースに登録するところまではできました
2ではどうしたらいいのでしょうか
ログインするページで、データベースから登録された全てのIDパスを読んで、フォームに入れられた情報が合致するかどうかをチェックしているのでしょうか?
0223nobodyさん
2007/02/25(日) 02:12:45ID:???OS:mac 10.4
ブラウザ:Safari + SafariStand
追加したい検索データベース:http://www.allcinema.net/prog/index2.php
参照で他の検索クエリとエンコードは下記のようになっています。
Amazon.jp : UTF- : http://www.amazon.co.jp/exec/obidos/external-search/?mode=blended&keyword=@key
goo英和:EUC-:http://dictionary.goo.ne.jp/search.php?MT=@key&kind=ej&mode=0
0224nobodyさん
2007/02/28(水) 07:23:35ID:???RSSのように取得して表示させたいのですが・・・・
どなたか教えてくれませんでしょうか?
myrssなどいろんなサービスがありますが
それらだとどーしても不要な部分まで入ってしまうので困ってます。
レッツPHP!にある「新着ブロガー」や「RSSブロガー」と一緒に併用したいのです。
http://php.s3.to/net/#rss
よろしくお願いします
0225nobodyさん
2007/02/28(水) 11:37:06ID:wzkUfUn+対象htmlを読み込んでpregで抜き取るしかない。
0226nobodyさん
2007/02/28(水) 11:53:54ID:ZCccNT7sssh接続にてサーバー上でコンパイルした実行ファイルに
phpから引数を渡して実行することはできるのでしょうか?
0227nobodyさん
2007/02/28(水) 14:52:35ID:N694lB7MXREAのSSHはMySQLやPostgreSQLのコマンドだけが使用可能じゃなかったか?
0229nobodyさん
2007/02/28(水) 19:55:30ID:???そうじゃなかったかな
0230nobodyさん
2007/02/28(水) 21:16:46ID:ZCccNT7sコンパイルしたものアップロードしてSSHから実行してみたら
「引数が必要です」っていうメッセージが出たので、使えてるのかなーと思ったんですが・・・・
0232224
2007/03/01(木) 11:12:07ID:???上記からDLできるサンプルコードの「hack084」で出来るらしいのですが、
DLして指定してみたものの、うまく表示されません。
どなたかこのサンプルを利用してうまく取得できるような
設定の方法を教えてもらえませんか?><
0233nobodyさん
2007/03/01(木) 19:05:27ID:xCxwkag3fsockopen ですが、レスポンスのデータは
全て返ってきてるのにタイムアウトになるまで
処理が止まってしまう ('A`)
fopen みたいにサクっといかないのはナゼでしょう?
何か対策あればご教授ください。
もうひとつ、その返ってきたデータに
オフセット値らしきゴミデータが混入してるんですが
どうやって取り除けばよいのでしょうか。
よろしくです
0234nobodyさん
2007/03/02(金) 00:41:55ID:tN+ZB4K3$hoge = "山田さん\n";
$hoge = "佐藤さん\n";
$hoge = "田中さん\n";
としていってechoすると当然ですが田中さんのみ出ます。
echoした時に全員を出したいのですがどうすればいいでしょうか?
(配列を使うのかなと思うのですが、配列が苦手で;;;)
0237233
2007/03/02(金) 12:17:50ID:???http://pc11.2ch.net/test/read.cgi/php/1172151461/648
0238nobodyさん
2007/03/04(日) 16:14:12ID:???一応こんな感じに書いたんですが、コードが汚くて・・・。
<?php
$fp = fopen("sale.txt","r");
while(!feof($fp)){
$line = fgetcsv($fp,1000);
print ("<tr>");
print ("<td>"."$line[0]"."</td>");
print ("<td>".number_format($line[1])."</td>");
print ("<td>".number_format($line[2])."</td>");
$int = number_format($line[1]-$line[2]);
print ("<td>"."$int"."</td>");
$per = (float)$per1*$int/$line[1];
print ("<td>"."$per"."</td>");
print ("</tr>");
}
?>
sale.txtに格納しているのは、
記入年月日(Y-M-D),売上高,仕入高 です。
よろしくお願いします。
0239nobodyさん
2007/03/05(月) 03:23:21ID:FSyHHO6k0240nobodyさん
2007/03/05(月) 03:26:43ID:???0242nobodyさん
2007/03/05(月) 05:05:23ID:???0243nobodyさん
2007/03/05(月) 05:40:04ID:3xQLJLRdアクセスが集中している場合、ずーっと書き込みできない状態になってしまうのでしょうか?
またその場合はどう回避すればいいのでしょうか。
0244nobodyさん
2007/03/05(月) 05:45:27ID:???0246nobodyさん
2007/03/05(月) 12:06:35ID:FSyHHO6kで、元に戻せるのか?
0247nobodyさん
2007/03/05(月) 15:45:50ID:???すみません。
えと、形式は
sale.txt
記入年月日(Y-M-D),売上高,仕入高 です。
(例)2007-03-09,100000,20000(改行)
2007-02-09,100000,50000(改行)
って感じです
同様の処理をする際、他によいやり方はないかな?と思いまして
質問してみました
0248nobodyさん
2007/03/05(月) 22:57:54ID:peb4Wfoipostfixに送られたメールをメールエイリアスでphpに送り、PEARで解析して
内容をファイルに出力しようと思ったんですが、ブラウザで実行しないと
ファイル操作はできないんでしょうか?
0250nobodyさん
2007/03/05(月) 23:20:54ID:peb4Wfoi返信ありがとうございます。
ちょっと説明不足だったようです。
申し訳ない。
Cli 4.4.4を使用しておりまして、
postfix => php PEARで解析 => 送信者に自動返信を出す
までは出来ているのですが、
postfix => php PEARで解析 => 外部ファイルもしくはMySQLに送信者アドレスを記録 => 送信者に自動返信を出す
としたいのです。
見当違いな返事してましたら申し訳ありません。
宜しくお願い致します。
0251nobodyさん
2007/03/05(月) 23:25:22ID:???ん?何故出来ないのか不思議だが・・
php PEARで解析 してるPHPの後ろに、mysqlにinsertする構文を書き足せばいいんじゃないの?
0252nobodyさん
2007/03/05(月) 23:30:54ID:peb4Wfoimysqlに接続、もしくは外部ファイルオープンするとそこで処理止まってしまうようなのです。
同じphpでPEARでの解析失敗の場合die;の所だけコメントアウトしてブラウザで実行すると
ちゃんと書き込めるんですが・・
0254nobodyさん
2007/03/05(月) 23:43:07ID:peb4Wfoi失礼しました
phpinfo()のコピーですが
OS MacOSX 10.4.8
Apache/1.3.33 (Darwin) PHP/5.1.6
MySQL Client API version 5.0.24a
でターミナルでphp -v を実行すると
PHP4.4.4(Cli)
と出ます。
他何か必要な環境ありますでしょうか?
宜しくお願い致します。
0256nobodyさん
2007/03/05(月) 23:48:04ID:???【PHP】下らねぇ質問はここに書き込みやがれ 40
http://pc11.2ch.net/test/read.cgi/php/1172151461/
こっちのほうが人いるからいいかもしれない。
0257nobodyさん
2007/03/05(月) 23:52:41ID:peb4Wfoiありがとうございます。
マルチになってしまうと思ったのですが、書き込んでみます。
ありがとうございました。
0258nobodyさん
2007/03/06(火) 00:08:11ID:???0259nobodyさん
2007/03/06(火) 02:21:14ID:Crrd1LQsありがとうございます。
こちらでは終了させて頂きます、ありがとうございました。
0260nobodyさん
2007/03/13(火) 17:04:07ID:???$tcount ++;
$tcount --;
のように足したり引いたりする意味って何なのでしょうか?
0262260
2007/03/13(火) 18:37:33ID:???足したり引いたりせずに、そのままでも同じな気がするんですが。
0263nobodyさん
2007/03/13(火) 19:25:19ID:???猫手をindex.phpに使用していたのですが、間違えて消してしまい、
どういうタグを描いていたかも忘れてしまい・・・
0265nobodyさん
2007/03/14(水) 06:00:53ID:???0268GC ◆v7P9gkbRs6
2007/03/15(木) 17:44:55ID:???まちがいた。かなりの分析力がないとqewrtyからは出せないとおもたので。
サービス・ヒント
つ「うぃぇ」ローマ字に直せ?
$tcount = date(d);
while($tcount<1000){
print "$tcount";
$tcount++;//←これだろ!?
}
△
または
▽
$tcount = date(d)+1000;
while($tcount<1000){
print "$tcount";
$tcount--;//←これだろ!?
}
△
または
▽
for($tcount=date(d);$count<1000;$tcount++;){
print "$tcount";
}
△
▲
△
出力してみればわかると思うが…orz
0269nobodyさん
2007/03/15(木) 17:52:22ID:SLFW7rVS0270nobodyさん
2007/03/15(木) 19:25:51ID:???このような場合はどのようにすればいいのでしょうか?
0272nobodyさん
2007/03/16(金) 13:25:13ID:???ネットでPHPの掲示板をフリーでDLさせていただき、それをatwikiに設置したいと考えております
FFFTPというソフトウェアを使うところまでわかったのですが、それ以降はどのようにして設置してよいのかわかりません
どなたかわかる方居られないでしょうか?
よろしくお願いします
0273nobodyさん
2007/03/16(金) 18:46:11ID:???0274nobodyさん
2007/03/16(金) 19:05:32ID:???それはわかるのですが、wikiにアップロードしてPHPのファイルを開くと文字化けというかなんかすごいことになってるんですよ
で、掲示板なので文字書いて送信するとこのページは存在しないとかなんとかでてきて・・・
どうするばいいんですかね?
■ このスレッドは過去ログ倉庫に格納されています