トップページphp
1001コメント350KB

【PHP】質問スレッドPart3

レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。02/02/17 13:23ID:N+9Uw5dE
レスは気長に待つのが良い感じかも。
答えられる方、返答よろしくお願いします。

<<参考リンク>>
■本家
http://www.php.net/
■PHP日本語マニュアル
http://www.php.net/manual/ja/
■JapanPHPUsersGroup
http://www.php.gr.jp/
■PHP日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/

<<過去スレ>>
■【PHP】質問スレッドPart1
http://ebi.2ch.net/test/read.cgi/php/982687820/
■【PHP】質問スレッドPart2
http://pc.2ch.net/test/read.cgi/php/1003283567/

<<教えて君>>
■ここ見習って書き込んじゃ、駄目よ
http://pc.2ch.net/test/read.cgi/unix/1011345180/242-245
0967nobodyさん02/05/31 21:34ID:???
質問させて頂きます。

list($v['name'],$v['msg'],$v['ipaddr'],$v['icon'])
= explode("\t",trim(fgets($fp, 4096)));
というところで、もし
 名無しさん\tage\t\tface.png
というログだった場合、undef代入したということで Undefined offset 3 と
怒られてしまうのですが、うまい方法無いでしょうか。
やっぱlistを放棄してせこせこ切り分けするしか無いんでしょうか。

# error_reporting(5);じゃあんまりだなぁ…と思うのです。
# 別にundef代入してもいいじゃん…
0968qqq02/05/31 22:02ID:Yl9y3+1W
>>964-965
自己レスです。

4.2からはグローバル変数がデフォルトでoffになっていたようですね。
おさわがせしました。

それにしてもphp.iniなんかも探しまくったのですが、見つからないと思ったら
手動なんですね。この手の設定があやしいと思っていたのですが。
3冊の参考書にはそれらしい注意事項も書かれていなかった(4.1まで)ので
まさか初期状態で使えなくなるとは。。。初心者にはマジできつかったです。



096996702/05/31 23:31ID:???
>>966
これ。
http://jp.php.net/manual/ja/language.basic-syntax.php#language.basic-syntax.phpmode
最初の方法は、短縮型のタグが有効な場合にのみ利用可能です。
短縮型のタグは、short_tags() 関数を使用するか (PHP 3のみ)、
PHPの設定ファイルに short_open_tagを設定する か
--enable-short-tags オプションを configure に 指定して
PHP をコンパイルすることにより、有効にできます。
097095102/06/01 00:12ID:???
>>952
おお、ありがとうございます!!
では、じっくり読みたいとおもいます。
0971nobodyさん02/06/01 03:05ID:???
>>966

<? echo('<?xml version="1.1"?>'); ?>
0972nobodyさん02/06/01 03:20ID:???
次スレ テンプレにはFAQとしてPHP4.2.1の変更点を書いといたほうが良いかもね。
メジャーバージョンがあがるまでは間違える人が後を断たないだろう・・。
097396702/06/01 06:16ID:???
自己解決しました。
http://jp.php.net/manual/ja/function.array-pad.php

list($v['name'],$v['msg'],$v['ipaddr'],$v['icon'])
= array_pad(explode("\t",trim(fgets($fp, 4096))), 4,0);
でなんとか。綺麗じゃないけど
0974nobodyさん02/06/01 12:44ID:???
セッション変数ってやっぱ変数だから数字だけだとまずいんだよね?
ショッピングカート作ってて
商品番号=商品個数
みたいなデータを渡そうと思ってたんだけどうまくいかないや
多分これが原因かな?
0975nobodyさん02/06/01 13:13ID:???
<html>
<body>
<?php
session_start();
if(!isset($_SESSION["num"])) {
$_SESSION["num"] = 10;
} else {
echo "num = ".$_SESSION["num"];
//リロードしてください
}
?>
</body>
</html>
0976nobodyさん02/06/01 13:28ID:???
>>973 >>967を再現したくて、↓してみたけど
error_reporting = E_ALLで

$str = " 名無しさん\tage\t\tface.png";

list($v['name'],$v['msg'],$v['ipaddr'],$v['icon'])
= explode("\t",trim($str));
すると、警告なしで下記のようになりました。
$v['name'] => 名無しさん
$v['msg'] => age
$v['ipaddr'] =>
$v['icon'] => face.png
ファイル使わないとダメ?
PHP 4.2.1です。


0977nobodyさん02/06/01 13:36ID:???
>>975
おお!ありがとうございます。
勉強不足でした。
0978y2kbest@k9.dion.ne.jp02/06/01 13:50ID:???

「 RX-2001 」がパワーアップした、
「 RX-2000V 」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA

店頭販売価格は、13900 円なんですが、
今回だけ、破格の 7100 円に設定して
おります。

購入希望の方は、名前の所にも書いて
ある、y2kbest@k9.dion.ne.jp 迄、
メールを下さい。

不安な方は、落札をして頂いても
構いません。
0979nobodyさん02/06/01 14:47ID:PQ5ydhwv
PHP-4.2.1 Apache 1.3.24 linux(kernel 2.4.18)

./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-mbstring \
--enable-mbregex \
--enable-mbstr-enc-trans \
--with-pgsql=/usr/local/pgsql \
--enable-sockets

---e.hdml (EUC)
<hdml version="3.0">
<display>ほげほげ</display>
</hdml>

---p.php
<?php
mb_http_output('SJIS');
ob_start('mb_output_handler');

header('content-type: text/x-hdml; charset=shift_jis');

require './e.hdml';
?>

p.phpにアクセスするとEUCなんです。
e.hdmlをshift_jisにコンバートして試すと、SJISなんです。
php.iniのmbstring.http_outputなどをいじっても結果は変わりません。
requireではなく、fopenで読み込みechoしても結果は変わりません。

私、何か勘違いしてますか?
098096702/06/01 16:47ID:???
>>976
レスありがとうございます。
こうだと転けてくれるみたいです、こちら4.2.1です。

$str ="1\t2\t\t\t\t\t\n";
list($v['name'],$v['msg'],$v['ipaddr'],$v['icon'])
= explode("\t",trim($str));

Undefined offset: 3
Undefined offset: 2
0981nobodyさん02/06/01 18:56ID:P630Haih
PHP 4.2.1
---e.html (EUC)
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>日本語の出力。</body>
</html>
---p.php
<?php
mb_http_output('SJIS');
ob_start('mb_output_handler');
//header('content-type: text/html; charset=shift_jis');
require './e.html';
?>
こうするとshift_jisになりますが、
headerのコメントをはずすと
私もEUC-JPになってしまいます。?。
0982nobodyさん02/06/01 20:43ID:Q92m0630
あるディレクトリに連番のファイルが幾つか入っていて(000,001,002...)、
このファイルを新しい順に並べたいのと、一番最後のファイルを別に表示させたいんだけどどうすればいいの?
教えてください。
098396702/06/01 21:07ID:???
>>982
http://jp.php.net/manual/ja/function.readdir.php
でファイルリスト配列取って
http://jp.php.net/manual/ja/function.sort.php
でソートではダメだったの?
ソート方法はSORT_NUMERICで。
0984nobodyさん02/06/01 23:21ID:???
>>981 少しやってみた、新しい順 ? 最後のファイル ?
<?php
$path = "./work";
$dir = @opendir($path)
or die("Cannot open directory $path");
while ($file = readdir($dir)) {
if (!ereg("(\.|\.\.)" , $file)) {
$files[$file] = filemtime($path . "/" . $file);
}
}
closedir($dir);
arsort($files);
foreach($files as $key => $value) {
echo $key . "<br>\n";
}
?>
0985nobodyさん02/06/02 00:16ID:7VWf6zUb
超初心者です。

$sに、

test<>hoge

という文字列が入ってるんですが、

test()hoge

にするにはどうしたらいいですか?
0986nobodyさん02/06/02 00:58ID:???
str_replace
0987nobodyさん02/06/02 01:17ID:SBRh2Tol
p2cの意味がわからないので、いろいろ調べていると、
Pascal から C への変換プログラムとありました。
しかし、混乱しております。

あるphpとmysqlのスクリプトのソースを見ていたのですが、こんな感じでp2cが使われていました。

"select products_id, products_name, products_quantity, products_image,
products_price, products_date_added, products_status from products , products_to_categories p2c
where products_id = p2c.products_id and p2c.categories_id = '" . $current_category_id . "' order by products_name");

テーブル、カラムの名前にはp2cの文字は使われていません。

何故こんなところにp2cでしょうか?

0988nobodyさん02/06/02 02:00ID:nwqefcRu
>>987
FROM句で products_to_categories p2c ってやってるでしょ。
products_to_categories を p2c というエイリアスで扱ってるんよ。
だから p2c.products_id は products_to_categories.products_id と同じになるんよ。
098998702/06/02 02:30ID:SBRh2Tol
>>988さん
ありがとうございます。ちょっと書いただけでわかるのですね。感激です。sqlファイルを今見ています。
エイリアスとはわからず、p2cばかり調べていました。
今、夜空の星にあなたの幸せを祈りました。

でも何故p2cとしたのでしょう?作者の気まぐれでしょうか。
それとも慣用句みたいによく使うのでしょうか。

0990nobodyさん02/06/02 03:26ID:???
products_to_categories だから p2c なんだろ

products = p
to = 2
categories = c

自分が省略するときのことを考えてみろよ
0991 02/06/02 03:38ID:???
0992nobodyさん02/06/02 10:01ID:smXe05SQ
>>990さん
ありがとうございます。
感動しました。
言葉がでません。
星がでてないので、暗くなったら祈ります。
0993nobodyさん02/06/02 13:35ID:S6tfVE27
板違いかもしれませんが、質問があるのです。
ウェブデザイナーって儲かるんですか?
進学に困ってるのです><
099497902/06/02 14:43ID:???
>>979
>>981
headerでcharsetを指定しないと希望の動作になりますね。
099597902/06/02 14:51ID:???
ごめん勘違い。
099698102/06/02 14:56ID:iCTCDCX0
>>984
説明不足でスマソ。書いてくれたの読んで大体わかったよ。

ディレクトリの中のファイルを番号が若い順に並べたいの。
更新時間はバラバラなので、ファイル名だけ配列に入れてrsortしようと思うんだけど、
readdirってちゃんとファイル名順に読み込んでいくの?

あと、ディレクトリの中のファイルで一番番号が若いファイル名を取得したいんだけど、
それも上のように一度配列に読み込まないとだめかな。
0997教えて君02/06/02 14:58ID:Tbi7w50X
時差を調節したいのですが どこをいじればいいでしょうか?

($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
$year += 1900;
$month = $mon + 1;
@dayname = ('日','月','火','水','木','金','土');

このあたりが怪しいと思うのですが見当違いですか?
初心者でスンマセン
099897902/06/02 14:59ID:???
header()でcontent-typeを指定すると、mb_output_handlerが効かなくなる仕様のようです。

ini_set('default_mimetype', 'text/x-hdml');
で回避できました。お騒がせしました。
0999nobodyさん02/06/02 15:34ID:???
次スレ立てました。

http://pc.2ch.net/test/read.cgi/php/1022999539/l50
1000埋め立て02/06/02 16:19ID:???
   (・∀・)ズザーー!三三三二二一一
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。