くだすれPHP(超初心者用)4at PHP
くだすれPHP(超初心者用)4 - 暇つぶし2ch310:nobodyさん
08/09/21 20:29:10
>>308
俺の経験では出来ない。

file.phpの中に関数f_fileを書いて以下の様にすればいい。

<?php
include('file.php'); f_file('123');
?>

311:308
08/09/21 20:49:34 uUB1weY6
>>309-310
ありがとうございました
phpは .htmlの拡張子のファイルでは動かないということでいいでしょうか?

また、二つ目の質問に関しては
URLリンク(okwave.jp)という解決法を見つけました
>>310さんの答えと合わせて考えたいと思います

312:nobodyさん
08/09/21 21:12:27
>>311
できる
addtypeでググってみ

313:300
08/09/21 22:14:17 G8wZRX1E
>>306
ありがとうございます。
自分の持ってるPHP辞典には記載されてなかったでわかりませんでした。
なんとも中途半端な仕様ですね。

314:nobodyさん
08/09/21 22:33:44 aDAFCUyF
しつもーん。
URLリンク(jp.php.net)
> 注意: PHP 5以降、デフォルトで値はリファレンス渡しとなります。

の、主語というか目的語というか、ナニのデフォルトが参照渡しになるんでしょか。

function alter($str){
$str = $str . '!';
}
$nya = 'nya';
alter($nya);
echo $nya;

は PHP 5.2.0-8+etch9~bpo31+1 (cli) では $strを 変更せずに nya が表示されました。

315:nobodyさん
08/09/21 23:03:33
それは日本語版スタッフの訳が悪いと思う。
原文読むといいかと。
URLリンク(jp.php.net)

316:nobodyさん
08/09/21 23:22:56
引数がデフォルトでリファレンスよ
やってみれば分かるが&付けなくても参照元の値も変わるぜ

余談だが
PHP4では 「&$arg=null」なんてデフォルト引数が使えないんだが、PHP5から問題なく通る
呼び出し時に引数指定したかどうかでスイッチしてんだろうなぁ

317:nobodyさん
08/09/21 23:29:51
>>314では&無しでは変わってなくないか?

318:nobodyさん
08/09/22 01:05:35
PHPで逆IP制限ってできる・・・?
変数$aに1が入ってる時だけ変数$bに入ってるIP以外からのアクセスがあった場合にifコマンド使って、
他の内容を表示するの。


319:nobodyさん
08/09/22 01:09:02
IP見て比較すれば普通にできるんでない?

320:318
08/09/22 01:10:00
if ( !strcmp ( $ip_address, $list_ip ) )
これ使っていけるかな・・・・・・?

321:318
08/09/22 01:10:58
>>319 それなぜか思いつかなかった。トンクス。

322:318
08/09/22 02:51:53
txtファイルから文字列読み込んだときに改行まで読み込まれて比較ができない。
どうすればよいですか?

323:nobodyさん
08/09/22 03:00:08
改行文字を除いてから比較すれば?

324:318
08/09/22 03:15:17
>>323どうもうまくいかなかった.........

<?php
$ip = $_SERVER['REMOTE_ADDR'];
$str = "$ip";
$len = strlen($str);

$handle = fopen('ip.txt','r');
$contents = fread( $handle, $len );
fclose( $handle );
echo $contents."<br />\n";

if($ip==$contents){
echo "成功";
}
else{
echo "失敗";
}
?>

ipアドレスの文字数分引っ張り出して比較することで回避できた。

325:nobodyさん
08/09/22 03:21:01
ip.txtに入ってるIPの方が今アクセスしてる人のIPより長かったらどうすんの?

326:318
08/09/22 03:24:26
>>325 したら絶対IP違うからエラーでていいんでない?

327:318
08/09/22 03:27:42
一時的にip.txtの中に入ってる一番最初のIPの人以外見せたくないものを作るんだ。
処理が終われば解除されるようなかんじで。



328:nobodyさん
08/09/22 03:39:53
212.134.32.14

212.134.32.143


329:nobodyさん
08/09/22 06:54:54
>>317
変わってないな

330:nobodyさん
08/09/22 12:43:54
PerlのNet-CIDRを移植したら?

331:nobodyさん
08/09/22 15:10:26 EKIEGJ69
phpでカート作成のHP教えて

332:nobodyさん
08/09/22 15:12:32
>>331
URLリンク(www.nintendo.co.jp)

333:nobodyさん
08/09/22 15:19:02 EKIEGJ69
ありがとう><;

334:nobodyさん
08/09/22 16:42:16
ワラタ

335:nobodyさん
08/09/22 16:44:51
>>331
ショッピングカートの基本はセッションを上手く扱うことだと思う
具体的なカート作成のサイトはなくてもセッションに関する記事は多いから、そこから学べば良いかと
どうせ学習目的とかでしょ?

336:nobodyさん
08/09/23 01:10:46 KzC+qHTk
>>312
ありがとうございます! 助かりました!

337:nobodyさん
08/09/23 12:55:10 BK/ZFWc8
ちょっとまてよ、>>331はPHPを使ってカートを作るHPというのを教えて欲しいんじゃないか?

338:nobodyさん
08/09/23 12:59:43
さあ?

339:nobodyさん
08/09/23 13:06:07
>>331-333の流れでネタのようにしか思えん

340:nobodyさん
08/09/23 13:08:38
>>318は日本語の勉強から始めないと意図が伝わりにくいと思うが
まず何が目的で特定IP以外からのアクセスを制限したいかが不透明

内容からするに何らかの処理をしている期間は別の接続者を拒否したいって意味のようだが
その処理ってのが何度もリクエストを受けて完了するもだとしたら
---
アクセスがある

閲覧者IPのデータを確認する─(IP記録なし)→閲覧者IPを記録し結果表示
↓<(IP記録がある)
IP比較─(一致)→結果表示
└(不一致)→拒否
---
こんな感じでコード書けばいいだろ
記録IPをいつ削除するかは知らんけど、この処理書くどこで詰まってるの?

もし、一回のリクエストの結果表示までにすべて処理が終わってしまうようなものだったら
ファイルロックとかの方法でも調べれれ。IPを比較する意味ない

あとどうでもいいけど改行の削除は置換を使えよ

341:nobodyさん
08/09/23 13:10:56
<?php
echo(">>331\n");
echo("このサイトを見れ\n");
echo("URLリンク(www.nintendo.co.jp)");
?>

つまりこういうことだな

342:nobodyさん
08/09/23 14:16:43
echoで括弧を付けるのはダサい

343:nobodyさん
08/09/23 14:20:41
echoはカッコ付けなくてもエェ子やで

344:nobodyさん
08/09/23 18:25:40
PHPなんて久しぶりに書いたから忘れてたわw
えーこと聞いた

345:nobodyさん
08/09/23 19:38:04
fopenを使ってURLを開くとき
複数のURLに対して並列に処理を行いたいんだけど
どういう風にやればいいですかね?
最悪参考になりそうなサイト教えてください。

346:nobodyさん
08/09/23 19:52:08
fopenはブロックするから並列処理には向かない

347:nobodyさん
08/09/23 20:59:24
>>346
ブロック?とはどういうことでしょうか?
並列処理に向いているfopenに代わる関数を
教えていただけるとありがたいです。

348:nobodyさん
08/09/23 21:01:16
そんなのない

349:nobodyさん
08/09/23 21:05:07
じゃあfopenでがんばるとして
並列処理を行うにはどうすればよいでしょうか?

というかPHPでそんなことするなってことでしょうか?

350:nobodyさん
08/09/23 21:18:43
>>345
HTTPDのプロセスを複数起動

351:nobodyさん
08/09/23 21:31:31
>>345 ちなみにPHPではマルチスレッドはできない。
プロセスで何とかする。

352:nobodyさん
08/09/23 22:13:13
なるほどプロセスを複数起動ですか
とりあえずその方向でググったりしてなんとかしてみます
ありがとうございました

353:nobodyさん
08/09/24 23:43:55
$a=1;
$b=9;
$c=3;

「bが一番大きいです。」
と表示させたいのですが、maxだと数値しか返ってこないし・・・
教えていただけると幸いです。

354:nobodyさん
08/09/25 00:11:02
>>353
変数名を取得することは出来ないから値の管理方法を変えよう
出来ないなら諦めるしかないと思う

例: 連想配列
$var = array(
 'a' => 1,
 'b' => 9,
 'c' => 3,
);

355:nobodyさん
08/09/25 00:19:45
ありがとうございます!

356:nobodyさん
08/09/25 00:20:07
いいてことよ

357:nobodyさん
08/09/25 05:09:05
ちょっと疑問に思ったんだけど、
連想配列の場合、
$var = array(
 'a' => 1,
 'b' => 9,
 'c' => 3,
 'd' => 9,
);

この場合、どうなるんだろ?

358:nobodyさん
08/09/25 05:29:20
何がどうなるんだろなのかわからないけどこういうこと?

$var = array('a'=>1, 'b'=>9, 'c'=>3, 'd'=>9);
$keys = array_keys($var, max($var));
var_dump($keys);

359:nobodyさん
08/09/25 06:08:13
>>358
この出力結果ってb dってなるのかな?

360:nobodyさん
08/09/25 06:21:43
お前は何を言ってるんだ

361:テスト
08/09/25 23:34:41
てす

362:あ
08/09/25 23:39:24

てすと

363:nobodyさん
08/09/27 20:36:51 Zle5Z5JO
return文と返り値がよく分からないんですが
PHPのマニュアルを見てもさっぱりです
どなたかreturn文が詳しく書いてあるサイト知っていたら教えてください

364:nobodyさん
08/09/27 20:53:26
>>363
returnについてなんてマニュアル以上のことが書いてあるサイトはないと思うぞ
何が分からなくて、何が知りたいんだ?言ってくれれば答えるが

365:nobodyさん
08/09/27 21:09:22
function hoge() {

366:nobodyさん
08/09/27 21:15:49
$a = 'a';

367:nobodyさん
08/09/27 21:18:59
return $a;

368:nobodyさん
08/09/27 21:20:42
}

369:nobodyさん
08/09/27 21:27:34
$huga = hoge();

370:nobodyさん
08/09/27 21:31:06
この場合、$hugaには 「ああ゛っでるっ…!!たまみるくでるっ!! でっでるうっブリジットのこくまろミルクぅ」 が入ります

371:nobodyさん
08/09/28 21:34:07 +UcDtbz0
PHPの動作確認のページが
Not Found
The requested URL /phpinfo.php was not found on this server.
Apache/2.0.63 (Win32) PHP/5.2.6 Server at localhost Port 80
と出てしまいます。どなたか教えていただけませんか?

372:nobodyさん
08/09/28 21:37:11
マルチ乙

373:nobodyさん
08/09/28 22:52:10
>>371
「/phpinfo.phpが無い」って書いてあるじゃないか。
これ以上何を教えろというのか

374:nobodyさん
08/09/29 20:16:12
マンモス本2冊買った。1回一通り読んだけど、インストールからわけわからん。
なにをDLしたらいいのかさっぱりぜよ・・・。

375:nobodyさん
08/09/29 20:39:55
それはプログラミング以外に問題がありそうだが・・・

376:nobodyさん
08/09/29 22:54:33 ex4B3ZuI
PHPの確認動作で、phpinfo.php.txtとアドレスに表示されたまま、
画面には<? phpinfo(); ?>
と出てしまいます。
明らかに間違いですが、何がおかしいと思いますか?
どなたか教えてください。

377:nobodyさん
08/09/29 23:01:53
誰か、華麗に答えてやってくれ。華麗にだぞ?

378:nobodyさん
08/09/29 23:39:32
>>376
マルチ乙(どう?華麗でしょ

379:nobodyさん
08/09/30 00:43:56
>>374?



380:nobodyさん
08/09/30 16:45:48
>>376
拡張子txtがPHPのファイルとして定義されていないから。

381:nobodyさん
08/10/01 05:38:30 ggjV1Mvy
getMessage()について質問させてください

URLリンク(www.php-labo.net)
でgetMessage()が定義されてないのにエラー表示のときに表示するとありますが
どうしてなのでしょうか?
よろしくお願いします

382:nobodyさん
08/10/01 06:04:37
require_once 'DB.php';
してるから

383:nobodyさん
08/10/01 09:00:47 12eBxrbJ
URLリンク(www.php.net)
この辺のことだと思うのですが、質問させてください。

$a == $bのところで、日本語の文字を使うには、
$a == "日本語"のようにすると思うんですけど、
これは、「日本語」に等しいということですよね。

たとえば「日本」を含む文字列の条件を指定したいとき、
どうしたらいいでしょうか? 
条件の分岐で、「日本語」も「日本人」も「日本古来」もその他も
一括して指定したい、という感じなのですが。よろしくお願いします。
的をはずしていたらごめんなさい。

384:nobodyさん
08/10/01 09:22:18
mb_ereg_match

385:nobodyさん
08/10/01 10:43:40
できました! ありがとうございます。

もうひとつ合わせて質問なのですが、
完全に一致するものを、$a == "アメリカ"として
部分的に一致するのを、mb_ereg_match("[日本]",$a)として、
それぞれ処理をしようとしています。
else ifでつなげたほうがいいのですか? 
別のifとして分けたほうがいいですか?
それとも、どっちでもいいですか?

386:nobodyさん
08/10/01 11:56:07
>>385
分けるかどうかはやりたいことによって違うからなんともいえないけど、
今回の場合は分けなくていいでしょ。
分けちゃうと一回アメリカと完全一致したものをもう一回日本が含まれてるか
判定することになるから余計な処理になる。

387:nobodyさん
08/10/01 12:12:38
なるほどー! 
では、どんどんつなげていくことにしますね。
よく判る説明で、助かりました。ありがとうございます!

388:nobodyさん
08/10/01 12:54:11
>>387
注意
ヒント
ある文字列が他の文字列内に含まれているかどうかを調べるためだけに preg_match() を使うのは避けた方が良いでしょう。 strpos() か strstr() 関数を 使う方が速くなります。
URLリンク(jp.php.net)

389:nobodyさん
08/10/01 13:20:15
すみません、参照先を見たけど、書き方がよくわかりませんでした。

$aに入る文字列は数十文字くらいの短いもので、それを見ています。
早さはそんなに変わらないと思うので、このままで大丈夫ですよね?

390:nobodyさん
08/10/01 22:32:30 HCEY5R1b
質問させて頂きます。
基礎からのPHPorやさしいPHPを買おうか迷ってるのですが、
基礎からのPHPはアプリが動作しないと聞きました。
自分は、アプリの有無よりも文法やクラス(?)、データベースの基礎を学びたい
と思っているのですが、そのような場合はアプリの動作は気にしなくてもよいでしょうか?
その他の面(参考書としての面)では良いと聞くので。

書籍スレでの質問はナンセンスだと感じたのでこちらでさせて頂きました。
ご教授願います。

391:nobodyさん
08/10/01 22:49:30
動作しないわけないだろ

392:nobodyさん
08/10/01 22:56:32
マジレスすると(ry

393:nobodyさん
08/10/01 23:58:01
オライリーの初めてのPHP+mysqlがいいと思います。
もしくは実践マスターか。
基礎からのPHPorやさしいPHPは意味がないと思います。
特に基礎からのPHPはアプリが動作しませんでした。
びっくりです。
これは捨てました。
アプリを改造していくといろいろスキルがあがってくるので、
ただ本見てもおもしろくないと思いますし。
アプリが動くやつがいいと思います。
では


394:nobodyさん
08/10/02 10:20:57 Qa3+G5H3
あるphpで、別のphpを呼び出すのに、こうやって書いています。
<?php include('ini.php'); ?>

この、ini.phpを、別のサーバにおいて呼び出したいのですが、
<?php include('http://別のサーバ/ディレクトリ名/ini.php'); ?>
みたいにやっても、うまくいきません。

どこでつまづいていて、どうすればいいのか、教えてください。

395:nobodyさん
08/10/02 10:40:39
> どこでつまづいていて
基礎的な理解からつまづいてる

URLリンク(...)をinclude = webサーバ経由でinclude
= ini.phpの「実行結果」をinclude

ini.phpの「内容」をincludeしたいなら、ftp経由にするとか、
ini.phpをincludeしたい内容の文字列を返すものにするとか。

396:nobodyさん
08/10/02 10:59:48 Qa3+G5H3
ありがとうございます。もうちょっと勉強してみます。

397:nobodyさん
08/10/02 18:21:25
うまくいかないといってもパースエラーが出るのか空文字が返ってくるのか接続できないとWarningが返ってくるのか
によって全く違う。
こういうのが「うまくいかない」しか書かない心理って何なの?

398:nobodyさん
08/10/02 18:25:19
考えるのすら面倒なんでしょ

399:nobodyさん
08/10/02 20:57:18 JC9hPbTs
>>393
ありがとうございます。オライリーですか、参考にしてみます。
にしても、やさしいPHPのレビューってないですね。
あと基礎PHPとかはもう古いのかな‥

400:nobodyさん
08/10/02 21:31:32 PvYZxYkH
変数のスコープについての質問です。
mona.php
<?php
$a = 1;
include("giko.php");
include("fusa.php");
?>
giko.php
<?php
$b = 2+$a;
?>
ってあったときに$aがincludeされたファイル内でも利用だというのはわかったのですが
giko.phpの$bはmona.phpやfusa.phpで見れるのでしょうか?
ユーザー定義の関数の予定はないです。

401:nobodyさん
08/10/02 21:41:47
100回includeのページを読め

402:nobodyさん
08/10/02 21:55:19 PvYZxYkH
>>401
スコープの方を必死に検索かけてました
includeの方で調べればよかったんですね
ありがとうございます

403:nobodyさん
08/10/06 07:28:33 eMKnyKHT
PHPでpearのパッケージを利用したいのですが
インストールの仕方が分かりません
URLリンク(www.php.net)には拡張モジュールしかないので
よく分かりませんでした
URLリンク(pear.php.net)
に書いてあるように コマンドプロンプトを使えばいいのですが
コマンドプロンプトの使い方が分からないので
使い方を教えてください よろしくお願いします

404:nobodyさん
08/10/06 07:48:42
>PEAR インストールのアップデートを行うには、 URLリンク(pear.php.net) をブラウザで表示してその出力をローカルファイル
> go-pear.php に保存します。そして次のコマンドを Windows のコマンドプロンプトで実行してください。

405:403
08/10/06 07:56:08 eMKnyKHT
レスありがとうです
多分その上の行らへんでつまずいていると思います

>PHP をダウンロードしインストールが完了したら、
>バッチファイルを実行します。 というのはダブルクリックだけでいいんでしょうか?
するとコマンドプロンプトが出てくるだけですが


>インストールしたフォルダへのパスを
>PATH 環境変数に追加します。 手動で追加する
> (スタート > コントロールパネル > システム > 環境変数)
>以上で、Windows のコマンドプロンプトから pear コマンドを使い PEAR パッケージマネージャを実行できるようになります。

pealパッケージとは PHPをインストールした時点で使用できるわけではないと思うので
多分ここでつまずいてます
よろしくおねがいします

406:nobodyさん
08/10/06 08:05:35
バッチファイルの方はやらなくていいよ
go-pearの方保存して実行すればおk

407:403
08/10/06 08:13:05 eMKnyKHT
ありがとうございます
確認させてください
go-pear.phpというファイルを作ってそこに
URLリンク(pear.php.net)のソースをコピペ
そのあと保存先はC:\phpで
コマンドプロンプトで php go-pear.php
を実行するんですよね?

実行すると『内部コマンドや外部コマンド バッチファイルなどと認識されませんでした』
と表示されます
C:\PHP\PHP-pear.phpを実行しても
エディタが起動するだけでした

よろしくお願いします

408:nobodyさん
08/10/06 08:15:52
phpの実行ファイルがある場所に移動してから実行すべし

409:nobodyさん
08/10/06 08:19:25
> 実行すると『内部コマンドや外部コマンド バッチファイルなどと認識されませんでした』

C:\Documents and Settings\username>
で実行してるので php.exe が見つからないとかそういうオチなのかな。

410:403
08/10/06 08:38:03 eMKnyKHT
>>408-409
その通りです。。。
もう少しコマンドプロンプトの使い方勉強してきます

今から学校なので ありがとうございました


411:nobodyさん
08/10/07 10:08:44 rx4j8OHY
PDT + xDebugはここで大丈夫かなぁ?
どっちもインスコ、php.iniを書き換えるがうまくいかない。

下のように、extensionだと、phpinfo()にxDebugの項目が現れるけど、
extension=php_xdebug-2.0.3-5.2.5.dll

下のようにzend_extension_tsの指定ではうまくいかない。
[xdebug]
zend_extension_ts = c:\php\ext\php_xdebug-2.0.3-5.2.5.dll

DebugBuildはnoで、ThreadSaftyはenabledだから、後者の書き方の筈なのだが。

で、まぁ前者で行くとして、問題は、[xdebug]の中に書いた設定が全然反映されない...orz
xdebug.remote_enable=true
とかやっても、phpinfo()で見ると、offになってる。
他の設定も同じ。

なので、eclipseでブレークポイントで止まってくれない...orz

誰かお助けを~

412:nobodyさん
08/10/07 12:08:43
zend_extension_tsじゃないとダメよん

413:nobodyさん
08/10/07 12:35:01 rx4j8OHY
>> 412
どうもありがとうございます~。

414:nobodyさん
08/10/07 13:15:45 2lCZsXeT
PHPではサーブレットやmod_*、あるいはrailsなどのWebアプリのように
URIにコントローラやアクションを含めるような設計ってできるんでしょうか。
PHPのインスコ状況によるのかもしれませんが、どうも情報見つかりません。

415:nobodyさん
08/10/07 13:23:31
コントローラーからビューに変数を渡したいのですが、
コントローラーで$this->set('test', 10);と書くと
exception 'Zend_Controller_Action_Exception' with message 'Method "set" does not exist and was not trapped in __call()' ~
とエラーがでてしまいます。
setを使うのに宣言か何かが必要かと思い、調べたのですが何処を見てもsetを使えばできるとしか書いていません。
コントローラーで$test;や$test=3;はエラーが出なく、エラー文を見てもsetに原因がある気がするのですが、何が原因なのでしょうか?

416:nobodyさん
08/10/07 13:41:47
>>415
フレームワークのこと知らないので適当だけど、
メッセージを見るとsetが未定義で、call(多分ビルトインの)で
トラップ(多分、未定義のメソッドが呼ばれたときに適当なメソッドを割り当てる)もできないと言ってる。
多分$thisはControllerクラスのことだと思うので(多分ばっかですんまそ)

要するにControllerクラスにsetが定義されてないんじゃないかと思います。
クラス定義やメソッド一覧するメソッドがあると思うので、確認してみては?

ちなみに今気づいたんですが、フレームワークを使ってると>>414の質問の答えはYesでしょうか?

417:nobodyさん
08/10/07 14:12:15
>>414
「?name=value」が嫌ならmod_rewrite(Apache)で出来る

>>415
コントローラにsetがないってことじゃないか?
$thisじゃなくてビューのオブジェクトのsetを呼べばいいような気がする
ZendFWは使ったことないが、普通はそうだと思うぞ


418:nobodyさん
08/10/07 14:28:36
>>415
もしかしてキャメルケースのアクションで引っかかってない?

419:415
08/10/07 14:44:42
>>415
ご指摘どおり、thisはコントローラーでsetがありませんでしたので、
中身のないsetを作ってみたところエラーは出なくなりましたが、変数の受け渡しはうまくいきませんでした(空なので当たり前ですね)
これでエラーそのもの原因は分かったので次は変数が受け渡せるように頑張ります。

>>417
確かにコントローラーに無いのでthisだと自分で処理を書くか、何処かからコピーしてこないといけないようです。
何処かからコピーしてくるんならそれを使えよって話なので、まずビューからそれらしいのがないか探して見ます。

>>418
キャメルケースが何なのか分からないのでぐぐってみましたが、命名規則(camelCaps?)の事でしょうか。
とりあえず命名規則はチェックしましたが大丈夫でした。

420:nobodyさん
08/10/07 14:48:06
すまん先走ってた。俺が自分修正してるZFの不具合かと思った。
メソッド書いてないからメソッド無いと言われたっていう話ですか。(´Д`;)

421:416
08/10/07 15:26:57
>>415
今、どんなかなと思って近所でZendの本(緑のやつ)見てきました。
それで思ったんですが、set(value,value)って
Controllerクラスじゃなくレジスタクラス(?)のメソッドじゃないかな?
コントローラで
require "Zend::Registry" <-これ正確じゃないです。これ的な名前。
regist = new Zend::Registry(); #レジスタオブジェクト
regist.set('test', 10);
じゃないかと思います。
ただ、これはアプリ全体で共有したい変数を記憶しておくクラスということなので
このメソッドで即ビューに値が渡るかは分かりません。
Controllerクラスには$this->setBody(value)的なメソッド群がある模様。

しかし、フレームワークでの制作をコピペ等でこなすのは逆にけっこうな大冒険なのでは・・・

422:416
08/10/07 15:32:59
>>417
どもです。それ自分もやったことあります(CGIでw)
Apacheモジュールとして動作してるなら他といっしょかなと思ったのですが
経験者の方が耳にしたことないってことは、
少なくとも基本機能ではないってことですもんね。
参考になりました!

423:414
08/10/07 15:34:14
↑間違えた。414です。

424:403
08/10/09 04:27:43
あれからやってみたのですが
>>408-409さんの言ったとおりに
C:\>php\go-pear.phpを実行してみたのですが
go-pear.phpのエディタが出てきただけでした

それで完了されているとは思えないのですが
どこが間違っているのでしょうか?
よろしくお願いします

425:403
08/10/09 04:52:41 Sz+W15yD
追記
自分が持っている本ではgo-pear.batをコマンドプロンプトで実行すると
いくつかの質問が出てきて
最後にPHP.iniにパスを通す動作が出てくるようなのですが
それらしき質問もでません

よろしくお願いします

426:nobodyさん
08/10/09 05:13:45
ドキュメントルートにアップしてブラウザからアクセスしてみ
phpが動いてるか確認してな

427:403
08/10/09 05:21:50 Sz+W15yD
>>426
レスありがとうございます
ドキュメントルートにアップして とはどういうことでしょうか?
URLリンク(always-pg.com)で調べたら
/で区切っているディレクトリのことだと思うのですが

PHPは動作してます
さっきまで簡単なソースをapacheでやっていました

428:nobodyさん
08/10/09 05:25:50
URLリンク(localhost)

429:nobodyさん
08/10/09 05:25:57
だめだこりゃ
先に基礎的な知識を身に付けてからのほうがいいと思うよ

430:403
08/10/09 05:30:32 Sz+W15yD
>>428さん
そういう意味だったんですか
表示されました
go-pear.phpをapacheの中に入れたら

>>429さん
そのことは十分理解しております
ここで聞いてたときも何度も言われました
そのため基礎的な本を買ってこの様です
頑張りたいと思うのでよろしくお願いします

431:403
08/10/09 05:42:21 Sz+W15yD
>>426さん
>>430のようにやったら出来ましたが
このあとどうすればいいのでしょうか?

432:403
08/10/10 15:39:02 6TTacjje
どなたかよろしくお願いします
php.iniを見てもパスが通っている気配がないです
コマンドプロンプトを使用してもエディタしか起動しない…

433:nobodyさん
08/10/10 16:16:49
どこまでやって何が分からないん?
ブラウザでgo-pear.phpにアクセス出来たならその画面から操作するわけだが?


434:403
08/10/10 17:16:06 /lY+1YLG
>>433さん
おお そんなことだったんですか
今やってみました
ですが最後のページのURLリンク(index.php)
が開けれないんですが
pearが導入されたことを確認する方法ってありますか?

またphp.iniにパスが通ってないようなのですが
勝手に書き込まれるわけではないのでしょうか?

よろしくお願いします

435:nobodyさん
08/10/10 19:00:50
> URLリンク(index.php)
そりゃムリだろ

最初にgo-pear.phpにアクセスした際に環境設定するじゃん
そこにインストールされる
パスが通ってるかどうかはphp.ini次第だから、そんなのあとあと
まずはファイルが配置されたかを確認



436:403
08/10/10 21:45:20 /lY+1YLG
>>435さん
レスサンクス
PHPの中のpearというフォルダにはたくさんファイルが入っていました
さらにその中のpearというフォルダにも入っていました
インストールは完了したっぽいです
これで最後にphp.iniにinclude_path=".;C:\php\pear"と最後に書いたら完了でしょうか?

437:nobodyさん
08/10/10 22:04:35
>頑張りたいと思うのでよろしくお願いします
どの辺が頑張ってんだ。

438:nobodyさん
08/10/10 22:40:00
画伯まだやってんのかw

439:nobodyさん
08/10/11 07:38:32
この調子じゃ、この先も質問連発だね。

440:403
08/10/11 07:52:03 IbH29Qlb
>>437-439
とりあえず環境設定でいつもつまずくので
環境設定だけ完了したいんでよろしくおねがいします

441:nobodyさん
08/10/11 08:05:52
頑張りたいと思ってんだろ?
頑張れ。

442:403
08/10/11 10:04:59 IbH29Qlb
試しにindex.phpをしてみたら こんなのが出ました

Notice: Use of undefined constant PEAR_CONFIG_SYSCONFDIR - assumed 'PEAR_CONFIG_SYSCONFDIR' in C:\Program Files\Apache Group\Apache2\htdocs\PEAR\pearfrontendweb.php on line 72

Warning: Can not find config file, please specify the $pear_user_config variable in /index.php

Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !


これはインストールされてないってことでしょうか?


443:nobodyさん
08/10/11 12:01:25
通知: 未定義の一定の_PEAR_CONFIG SYSCONFDIR--Cで'PEAR_CONFIG_SYSCONFDIR'を仮定することの使用: 線72の上の\Program Files\アパッチGroup\Apache2\htdocs\PEAR\pearfrontendweb.php

警告: コンフィグがファイルであることを見つけることができないで、/index.phpの$洋梨_ユーザ_コンフィ
グ変数を指定してください。

誤り: テンプレートディレクトリ(C: \php5\洋梨\データ\PEAR_Frontend_ウェブ\データ\テンプレート)は、ディレクトリ、または読み込み可能です。 あなたのコンフィグファイル(C: \php5\洋梨\データ)の'データ_dir'が正しい位置を示すのを確実にしてください!

という意味だよ

444:nobodyさん
08/10/11 14:23:21 8EU/X1Q4
教えてください。

print(mb_strwidth("※",'UTF-8'));

これををUTF-8でテキストとして保存して実行すると答えが1とでます。
なんとか正しく判定させて2と出させたいのですが、どうすればいいのでしょうか。
ちなみにSJISやEUCで試してもやはり1でした。

445:nobodyさん
08/10/11 14:39:07
正しくの根拠は?

446:nobodyさん
08/10/11 20:36:15 mQFhChia
MagpieRSSでrssを取得したくて、
URLリンク(www.vipper.org)
のコードを動かしてみたんですが、

Parse error: syntax error, unexpected T_VARIABLE, expecting ';' in /virtual/boon/public_html/2ch/rss.php on line 28

が帰ってきます。。
よかったら、原因を教えて下さい。。

447:nobodyさん
08/10/11 20:44:39
>>446
26: for ($i=0;$i
// 27:
// 28: $rss = fetch_rss($rssurl[$i]);

CGI設置について質問【Part3】
スレリンク(php板)

448:nobodyさん
08/10/12 09:51:36
ある文字列から
<h1>と</h1>
で囲まれた部分だけを抽出して配列に格納したいのですが、どのような方法があるでしょうか。

449:nobodyさん
08/10/12 10:03:24
postしてprintしただけなのに
ある日突然
"の前に\が入るようになってしまいました。これはなぜなのでしょうか?

450:nobodyさん
08/10/12 10:58:55
>>448
正規表現
>>449
magic_quote

451:403
08/10/12 16:56:29 5ipLjJfb
>>443さん
レスサンクスです
翻訳サイトで僕も翻訳してましたw

Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !
という部分なのですが
C:\php5\pear\data\PEAR_Frontend_Web\data\templatesというファイルを作っても動きませんでした
これはパスを通せという注意だと思うのですが
なんのデータに何をすればいいのでしょうか?

452:nobodyさん
08/10/12 17:34:56
Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !
ってことだよ

453:403
08/10/12 17:36:26 5ipLjJfb
>>452
よく分かりません

454:nobodyさん
08/10/12 17:37:51
>>450

magic_quote の設定をどう変更しても¥が出てしまいます。

455:nobodyさん
08/10/12 17:54:24
>>453
訳せよ

456:nobodyさん
08/10/12 18:11:17
>>454
どう変更したの?

457:nobodyさん
08/10/12 18:43:59
>>456

onにしたりoffにしたりして試してみました。

458:nobodyさん
08/10/12 19:10:31
apache再起動すれ

459:nobodyさん
08/10/12 21:45:13
>>454
ゆとり的な回答もしておくね。
つ[stripslashes]


460:nobodyさん
08/10/12 22:42:57 B6zhuvJO
apache再起動か。
なんでできないんだろうなと思った。
こういうところまで教えないといけないのか。


461:403
08/10/13 03:01:56 5FVzcFud
URLリンク(www.s-memo.net)
を見て途中までインストールしたのですが
>試しにPEAR::HTTP_Downloadをインストールしてみましょう。
というとこでコマンドプロンプトを使ってダウンロードしようとしたら
最後の行で
No valid packages found
install failed
と出ました
これはC:\php\pearをコマンドプロンプトで実行したら
Usage: pear [options] command [command-options]
Type "pear help options" to list all options.
Type "pear help " to get the help for the specified command.
Commands:
という部分は出こなかったことと関係しているのでしょうか?

上のサイトにも書いてあったのですが
pear.batというファイルが出てきたらインストールできたということ
と書いてあったのでインストールは出来ていると思います

なんにせよ インストールは完了したことを確認できました
みなさんありがとうございます


462:nobodyさん
08/10/13 04:03:24
>>458
>>460
apache再起動でもやっぱり¥が入ってしまいます。

463:nobodyさん
08/10/13 05:33:07
URLリンク(www.pachiweb.com)
これはとある画像掲示板の画像削除時のスクリプトなんですが
これは1行ずつ削除該当ナンバーか照らしあわしつつ$lineに格納していって
該当ナンバーならその行は空白にすると言うスクリプトでいいのでしょうか?
fputs($fp, implode('', $line));
この部分のimplodeは要素間に改行を入れた後、
書き込みということですか?


464:nobodyさん
08/10/13 07:49:18
$lineに格納したあと再度ループして比較してる。
そのimplodeは配列だった$lineを区切り文字無しで全部くっつけて一つの文字列にしてる
ちょっと前時代的な手法だね。

URLリンク(www.pachiweb.com)
・・・ゴクリ

465:nobodyさん
08/10/13 09:31:48 5FVzcFud
apacheを利用しているんですが
localhostでPHPの状態を見れるようにしたのですが
Notice: Use of undefined constant PEAR_CONFIG_SYSCONFDIR - assumed 'PEAR_CONFIG_SYSCONFDIR' in C:\Program Files\Apache Group\Apache2\htdocs\PEAR\pearfrontendweb.php on line 72

Warning: Can not find config file, please specify the $pear_user_config variable in /index.php

Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !

と出てきました
pearfrontendweb.phpの問題の行には
// find other config file location
$default_config_dirs = array(
substr(dirname(__FILE__), 0, strrpos(dirname(__FILE__), DIRECTORY_SEPARATOR)), // strip eg PEAR from .../example/PEAR(/pearfrontendweb.php)
dirname($_SERVER['SCRIPT_FILENAME']),
PEAR_CONFIG_SYSCONFDIR,
と出てきました
これはpearをダウンロードした場所が悪かったのでしょうか?
この場合はC:\Program Files\Apache Group\Apache2\htdocs\pearにダウンロードしなければならなかったのでしょうか?

あと気になったのがC:\php5\pear\data\PEAR_Frontend_Web\data\templatesという部分です
php5\とありますがphp5はありません
PHPという名前に変えたので これが原因でしょうか?

466:463
08/10/13 09:38:47
か、解説ありがとうございます、
人の癖がついたスクリプトをいじるのはほんと大変ですね。
ほんとに改造できるか心配になってきました。
プロフィールとかは気にしないで下さいw

それですごい基本的な事で申し訳ないんですが
$log = fopen('access.log','w');
fopen関数のファイルの内容をクリアする(w)などのモードの場合、
ログ内容をこの例だと$logに格納した後ログ消去するのでしょうか?

467:nobodyさん
08/10/13 11:18:50
>>465
自分でテンプレートディレクトリ設定すりゃええんちゃうん?

468:465
08/10/13 12:18:31 5FVzcFud
テンプレートディレクトリってのはtempletsというディレクトリをどう設定したらいいのですか?

469:nobodyさん
08/10/13 12:20:11
知るかよ何のスクリプト使ってるかも書いてないのに

470:465
08/10/13 12:55:01 5FVzcFud
>>469
すいません
スクリプト自体がどれか分からないんですが
エディタならPHPエディタです
すいません 用語をよく知らないので

471:nobodyさん
08/10/13 13:01:37
じゃ調べろよ・・・

472:nobodyさん
08/10/13 13:03:59
もうPEARのエラーメッセージはおなかいっぱい
冷静になって環境見直せよ、画伯

473:465
08/10/13 13:20:54 5FVzcFud
URLリンク(kaden.yahoo.co.jp)
で調べてきたんですけど
コンパイラが何か分からないんです
変換という意味が分からなくて
apacheはサーバ代わりだし

474:nobodyさん
08/10/13 13:28:42
画伯って何?

475:nobodyさん
08/10/13 13:41:35 CGfh2V74
>>901
ディレクトリについて少し質問
C:\php\pear\DBだった場合 (DBはフォルダ)
C:\php\pearでもいいんでしょうか?

476:nobodyさん
08/10/13 13:43:52 CGfh2V74
書くとこ間違えました
申し訳ないです

477:463
08/10/13 19:28:39
俺と間違えられてた?

478:nobodyさん
08/10/14 00:30:55 z+viMTEc
PHP4てまだ使ってる人いるんでしょうか

479:KYOO ◆1C9DnWzrKw
08/10/14 00:34:16 IZm37X9Z
URLリンク(daveri.site90.net)
掲示板ってやつをつくってみたんですけど、
暇だったら見てみてください。

480:nobodyさん
08/10/14 00:44:52
>>478
サポートは終了しても現行システムを移行させるまでは使うしかない
新たに始めるならPHP5だろう

dev版PHP6を見てると・・・また互換性のないUPがたんまり・・・

481:nobodyさん
08/10/14 04:11:06
>>480
メジャーバージョン違いはもう別言語と思ったほうがいいよな。マイナーアップでさえry

482:465
08/10/14 08:40:33 OazE8u18
どなたか>>467をphp触って一ヶ月の俺に分かりやすく詳しく教えて下さい

483:nobodyさん
08/10/14 09:46:19
>>482
PEAR_Frontend_Webの設定でテンプレートパスを正しく変更する
これでFA


484:nobodyさん
08/10/14 09:54:18
FAかな…。

>>442と同じことを>>465で訊いてしまう感覚とか、
C:\php\pear(>>436等) or C:\php5\pear のどっちに PEAR を入れたのか本人もよくわかってないとか、
目先の対症療法では解決しない根深いものを感じるよ。

485:nobodyさん
08/10/14 10:01:00
意識の低さが問題を深くしているんですね、この1ヶ月は無駄だったと、わかります

486:nobodyさん
08/10/14 10:15:59
>>482
>>429
>>437-441

487:nobodyさん
08/10/14 12:30:14 PhS+pU3S
超初心者的な質問ですいません

phpを使ったwebサイト作成の勉強をしているのですが

C:\Users\ユーザー名\Documents\サンプルサイトの中でwebサイトを作っているのですが
C:\xamppの中にあるhtdocs内にあるphpを読み込もうとしても上手くいきません。
phpの初心者なんで概念自体があやふやなので変な質問でしたらごめんなさい<(._.)>


488:nobodyさん
08/10/14 13:06:00
apache 動かしてるのにドキュメントルートの外でサイト作らなくてもいいと思うのよ。

489:nobodyさん
08/10/14 18:05:42
Cドライブ開くの面倒ならショートカット作ればいいしな

490:nobodyさん
08/10/14 18:49:32
初心者はxamppやめれ

491:nobodyさん
08/10/15 15:36:31 jArJnvnC
平分のIDとmd5で暗号化したパスワードをtxtファイルにして
それを.htaccess下のフォルダに入れました。

メインのPHPでそのファイルを読み取り認証
その後、ID.datファイルを外部から読込んで
IDごとに違うページを表示させているのですが

セキュリティ的に問題などあるでしょうか?

補足
ID.datも.htaccess下に入れてあります。
ちょっとした顧客の納期表示に使おうと思っています。

492:nobodyさん
08/10/15 15:40:03
htaccess下って何だよ

493:nobodyさん
08/10/15 15:42:31 jArJnvnC
>>492
すいません
.htaccess .htpasswordファイルを置いてアクセス制限かけたフォルダです。




494:nobodyさん
08/10/15 15:43:47
>>492
「.htaccessでアクセス制限しているディレクトリ配下」くらい予測しろ

>>491
.htaccessでdeny from allしてるなら直リン出来ないからまぁ安全じゃないか?
出来ればルート外に置くのがベストだが


495:nobodyさん
08/10/15 15:56:52 jArJnvnC
わかりづらい文章で申し訳ありません

>>494
ありがとうございました。
ルート内にあったのでルート外に置くようにしてみます。

496:nobodyさん
08/10/15 17:58:29 9ioAzBde
PEARってセーフモードの鯖にはインストールできないんですか?

497:nobodyさん
08/10/15 20:04:57
インストールはできる。
使えるかどうかはともかく。

498:nobodyさん
08/10/16 00:04:07
>>490
理由は?

499:nobodyさん
08/10/16 08:26:41
>>498
質問に答える側が使っていないから。

500:nobodyさん
08/10/16 10:28:23
>>499
いやそれなりに使うだろ
開発でFTPとかNFSが面倒な時
開発用、テスト用の鯖作るの面倒な時もか

501:nobodyさん
08/10/16 17:46:31
うん、そんなものをWebProgのWの字も知らない初心者が使うってのがそもそもおかしいだろ、な?

502:nobodyさん
08/10/16 18:09:17
それもそうか
じゃぁ普通にレン鯖か
しかしレン鯖だとセーフモードやらパーミッションやら意識することが多いよな
・・・そうかそれも勉強か!

503:nobodyさん
08/10/16 18:21:05
ApacheとPHPとMySQLをインストールすればいいと思うよ。

504:nobodyさん
08/10/16 20:03:13
んだんだ

505:nobodyさん
08/10/17 13:22:48
phpinfo()などではき出される全項目の意味を説明してあるサイトなどを、ご存じな方
教えて頂けませんでしょうか。

506:nobodyさん
08/10/17 14:04:27
個別に調べればいいんでないの?
コアの部分はPHPまぬある必見
PECLの分まで纏めたサイトなんてある意味マゾだ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch