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

【PHP】質問スレッドpart24【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/11/01 04:09:15ID:???
・PHP全般の質問スレです。 
・新規質問の方は上げてください。age進行でお願いします。 
・質問する際には環境も明記。 
・正しい日本語で分かりやすく。 
・レスがつかないからって逆切れする厨お断り。 
・解決しなくてもこたえてもらったら礼を。 


■本家 
 http://www.php.net/ ;

■日本 PHP ユーザ会 
 http://www.php.gr.jp/ ;

■PHP マニュアル 
 http://www.php.net/manual/ja/ ;

■PEAR マニュアル 
 http://pear.php.net/manual/ja/ ;

過去スレ, 関連スレ等>>2-4 
0052nobodyさん04/11/01 14:38:07ID:???
>>51
もったいぶらずにおながいしますm(_ _)m
0053nobodyさん04/11/01 14:40:58ID:???
ワラタ
0054nobodyさん04/11/01 14:52:29ID:???
>>52
教えてあげるよ。
例えばテーブルを bbs にして id 名前 発言内容 のカラム作って
単にMySQLで接続して記録していけばいいんでないか?そんだけ

丸投げだったら他スレあったよな。いってみ。
0055nobodyさん04/11/01 14:53:18ID:???
>>52
つか、どこがわからんのん?
0056nobodyさん04/11/01 14:54:39ID:???
>>52
まあ、がんがれ
0057nobodyさん04/11/01 15:00:16ID:???
これで終わったか?
0058nobodyさん04/11/01 15:12:19ID:???
PHP固有の質問なんてあるの?
どこかと絶対共有してない?
0059nobodyさん04/11/01 15:14:19ID:???
なら、てきとうに。

//------------------------------------------------------------
// ここからが主処理
//------------------------------------------------------------
if (isset($_POST["SUBMIT"])) { //このページが初めてアクセスされたか?
if ($_POST["BODY"] != "") { //発言内容はあるか?
$body = str_replace("\n", "<br>", $_POST["BODY"]); // \n\r(改行文字)をタグ<br>に変換する
$body = str_replace("\r", "", $body);
$name = $_POST["NAME"];
$BBSRecord = array(date("Y/m/d H:i:s"), $name, $body);
AppendCsvToFile(BBS_DATA, $BBSRecord); //「内容」の書込み

mysql_connect("localhost","root","");
mysql_select_db("bbs");
mysql_query("insert into bbst set name = '$name', message = '$body'");

$result = mysql_query("select * from bbst order by id");
$r = mysql_fetch_array($result);
echo $r[1].":".$r[2];
}
0060nobodyさん04/11/01 15:15:36ID:???
ほれこれも てきとう
CREATE TABLE `bbst` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) binary NOT NULL default '',
`message` varchar(60) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
0061nobodyさん04/11/01 15:34:17ID:???
>>58
スレ読んでから発言しろ
0062nobodyさん04/11/01 15:35:50ID:???
ググったら、結構出てきたよ
CSV方式→MySQL
0063http://idol.jirashi.net/bbs/up/img/1088136610/43.jpg04/11/01 15:39:04ID:???
水掛け論が楽しい人もいることに配慮してくれないと。
0064nobodyさん04/11/01 15:52:54ID:???
水掛けようか?
0065nobodyさん04/11/01 15:56:24ID:???
水掛け論を楽しみたいなら、そのようなスレ立てて
そこで1人でやってくれ
0066nobodyさん04/11/01 15:58:07ID:???
>>65がいいこといった
0067カポコン04/11/01 16:04:58ID:???
   ,,,,,,,,,
  (´ω`)cm < ミ タ ナ 〜 ♪
  ノ( )ノ ☆ブリ
  ..ノ__)) /
  ||| £: −☆ブリ
ー ̄ ̄ーーーーーーーーーーーーーーーー
0068nobodyさん04/11/01 16:11:58ID:???
>65
その発現自体も水掛け論なんだが。
0069nobodyさん04/11/01 16:13:00ID:???
水掛けようか?
0070nobodyさん04/11/01 16:30:50ID:3x+bX1j+
file_get_contentsでURLを開く場合、
タイムアウト処理はどのように働きますか?

1. タイムアウトするまでの時間(デフォルト)
2. タイムアウトするまでの時間の設定変更方法

が知りたいです。
0071nobodyさん04/11/01 17:35:58ID:???
>>33
美乳のことか?
0072nobodyさん04/11/01 17:42:56ID:???
あいうえお眉幅というのもあったな
0073nobodyさん04/11/01 18:29:37ID:???
>>58
絶対共有って何?
0074nobodyさん04/11/01 18:39:46ID:???
>>73
どこかと絶対共有してない?
> 絶対どこかと共有してない?
だろ
0075nobodyさん04/11/01 18:50:17ID:???
>>70
こんな感じにするしかないんじゃないかな……
<?php

function getRemoteFile( $file, $timeout = 10 ){
 while( ($s = @file_get_contents($file)) === false ){
  if(--$timeout <= 0) return false; // PHP5でOOPならここで例外を投げる
  sleep(1);
 }
 return $s;
}

?>
0076nobodyさん04/11/01 19:19:31ID:???
>>71
「雀の往来」もいいぞ
0077nobodyさん04/11/01 19:27:20ID:???
>>74
0078nobodyさん04/11/01 19:32:47ID:???
サーバA(Apache/1.3.29 (Unix) PHP/4.3.9)で動いているファイルアップロードが、
サーバB(Apache/1.3.33 (Unix) PHP/5.0.2)で動きません。

サーバBで、フォームからPOSTした結果をphpinfo()で確認した限りでは、
$_FILESじたいが設定されてこないようです。
register_globals = Off
file_uploads = On
upload_max_filesize = 2M
upload_tmp_dir = no value
です。何か初歩的なところを見落としてるでしょうか……?
0079nobodyさん04/11/01 19:33:32ID:???
>>77
「絶対共有」で区切るわけじゃないことを示したんじゃないか?
0080nobodyさん04/11/01 19:36:54ID:???
お前は発想のレベルが変わらんなあ
0081nobodyさん04/11/01 19:37:29ID:???
>>78
PHP4とPHP5は基本的に別物と考えた方がよい。

そのスクリプト5の方で動かしたときに何かエラー出てないか?
0082nobodyさん04/11/01 19:42:10ID:???
>>73 と >>74,79 のどっちが真正の天然なのか。
それが問題だということじゃないだろうか。
0083nobodyさん04/11/01 19:45:17ID:???
>>82
池沼の溜まり場に漬かってる癖に何を言ってるんだか。
0084nobodyさん04/11/01 19:47:37ID:???
また「動きません」かよ
テンプレないのに何でこう同じようなレスが出来るんだろうなw

>>80
斬新な釣りでも思いついたら教えてくれ
0085nobodyさん04/11/01 19:49:57ID:???
>>84
プッ
それってコピペだろ。
長文書き込んで頭いいように見せかけたつもりだろうけど、
空気読んでないからバレバレなんだよ
ゲラゲラ
0086nobodyさん04/11/01 19:53:12ID:???
「上手くいきません」と双璧でつね。つーか回答も質問も釣りなのか真性なのか区別つかな過ぎだよ。こまるよ。
0087nobodyさん04/11/01 19:55:29ID:Qp2szwoV
>>86
なんとなかるよ。
0088nobodyさん04/11/01 19:57:45ID:???
       , -,:'   / ̄) i{'r‐-、 `ヽ、
.    _...,,o‐y    ,:'- '⌒   ⌒ヽ. `ヽ' ,
    (o(  ,'    / /     、 `ヾ.   ヾ,
  ,:'´//7,'  ,' .,' ,:'   !  } i  !', ':,  ':,    ゙:,
  ,' / ,' {l.  ! {/   ,イ / }|  !|', !.  ',  ', ゙,
 ハ〃 ! !|  | |  ∠/ ,:'-ノ} /リ l ,ム.  !  } |!
  ハヽ、ゝ!|  l | ,:',;='ィ'、'´ ,'.ノ ノ.,;lノ=、l .,' ,' ,' ノ
    {   l l ', |'ヲi(_ノ.}  ´    i(ノ.}゙!ノ,:',:''´
     ',  h. ', ',゙、 ':゙゙_.ノ.     ':゙_ノ〃ン
     ':, { ',', ':,':,         丶   ,' l .}
      ヾ ':,':, ':ヾ、._    「´/    ,' | .,'    / ̄ ̄ ̄ ̄ ̄ ̄
        `ヾ-、`ヽ_    `´ _,.ィリ.ノ ,'  < 絶対大丈夫だよ!
         リ';',ヾ|  ` ‐┬ ´ _ノノ,'/     \______
          ヾ,、-- 、 _ |     ´ノ'
          f ヾ、..___ ヽ、 ー‐''
         /_......_     \
0089nobodyさん04/11/01 23:59:13ID:7Z9dzjum
すいません、くだらない質問なのですが、

PHPでフォルダ以下のファイルを配列に入れて簡単に操作できるように
使用としているのですが、いろいろ調べていたら
  「PEAR File/Find.php」
というフォルダ配下のファイルを検索するクラスがあるということを知ったのですが、
これは、これはいったい何なのでしょうか?
モジュールでしょうか?それとも、Find.phpというソースがどこかにあるとか、

「PEAR File/Find.php」そのものについて知りたいのですが、どこかよいサイト、
または、教えていただける方がいらしたらお願いします。

 PHPは右も左もわからず闇雲にソースを書いている段階なので、
突っ込んだ質問は許してください。
0090カポコン04/11/02 00:37:07ID:???
PEARなんか使うぐれーなら自分で組め。
0091nobodyさん04/11/02 00:42:40ID:???
PEARの詳しい説明してるHPがない
0092nobodyさん04/11/02 00:47:02ID:???
http://www.1x1.jp/php/manual_pear/index.html
ここを見れば分かる
00937804/11/02 03:03:28ID:???
>81
エラーはでません。
$_SERVER['PHP_SELF']で同じスクリプトに戻ってくるようにして、
$_FILESの存在で動作を切り替えてあるので、
最初と同じフォームが表示されるだけです。
エラーメッセージか何か出るほうがまだ対処のしようもありそうなものですが、
$_FILES["userfile"]自体が設定されてこないってのは……
0094nobodyさん04/11/02 03:16:57ID:???
>>93
変数の内容をechoしてPHP4とPHP5で同じになってるか
一つ一つ確認していくしかないような気がする。
0095nobodyさん04/11/02 10:19:07ID:???
>>93
$_FILES["userfile"]['error']にエラーコード入ってないですか。
00967804/11/02 10:33:53ID:???
>94 >95
連想配列$_FILES自体が存在していないんです。
じゃあPOSTできてないのか?というとそうではなくて、
$_POSTと$_RESPONSEにMAX_FILE_SIZEが入ってます。

phpinfo()のPHP Variablesにリストされないという勢いなので、
間違えて上書きしているとかそういうケアレスミスでも無いと思うのですが……
0097nobodyさん04/11/02 11:35:25ID:???
>>96
あとは、通信内容を直接覗く位かな?
クライアントが何を投げてサーバーが何を受け取っているのか。
0098nobodyさん04/11/02 12:11:45ID:IRAW9bdb
arrayの中に「文字列+数字("./abcd/001.txt","./bcde/002.txt")」で出来ているファイル名が入っています。
これを数字部分でsortするにはどうしたらいいですか?
sort_numericと言うのをやってみたのですがうまく行きませんでした。
PHP4.3.3です。お願いします。
0099nobodyさん04/11/02 12:32:37ID:???
>>96
とりあえず
php.ini の always_populate_raw_post_data を On にして
$HTTP_RAW_POST_DATAでちゃんとPOSTされているか確認。
後htmlフォームのenctypeをもう一度確認。
>>98
ソート用の関数を自作する。
<?php
function hoge_sort($a, $b) {
preg_match("/(\d+)/", $a, $match_a);
preg_match("/(\d+)/", $b, $match_b);
if (empty($match_a)) return 1;
elseif (empty($match_b)) return -1;
else return ($match_a[1] - $match_b[1]);
}

$testarray = array("./aeed/003.txt","hhhh", "./abcd/001.txt","./bcde/002.txt");
usort($testarray, "hoge_sort");
foreach ($testarray as $key => $val) {
echo $key.":".$val."<br>\n";
}
?>
01009804/11/02 12:41:54ID:???
>>99
ありがとうございました!!
かんぱきにできました!
0101nobodyさん04/11/02 12:42:22ID:???
お前等、このままじゃあ
ショタ好き=キモイ、痛い、厨房と思われても致し方ないぞ。
版権でショタがいる作品はただでさえ
ショタ好きどもが他の迷惑も顧みず大暴れ、結局そのキャラの話をしないのは
暗黙の了解という流れに一度はなり。
ショタ好きと他の萌え嗜好がぶつかり合う場所でも
ショタ好きどもが他の迷惑も顧みず大暴れ、という流れに一度はなるというのに。
0102nobodyさん04/11/02 12:55:50ID:???
ちょっと聞きたいんだけど、こういうのってどうやって作ってるの?
http://fileman.n1e.jp/TOP.php

たぶん PHP でやってると思うんだが。
アップロードした動画を即座に Flash に落としたり、
左下に著作権表示させたり。かなりスゴイ。
こういうのって Ming でできるのかなぁって疑問。
あとは裏でプログラム動かすしかないんだが。詳細キボン。
0103nobodyさん04/11/02 12:55:58ID:???
ショタはつみみ
0104nobodyさん04/11/02 12:56:59ID:???
Warning: Shotakon Error! Shotakon Error!! Line:>>101
0105nobodyさん04/11/02 13:00:05ID:???
>>102
かなり君の解析は見当違い。
ほぼFlashの機能で実現してるだけ。

1)動画を即座にFlashに落とす(落とすってのがまず間違いだが。
動画再生用Flashを作成。
Flashに動画のパスをつけたURLを生成すれば完成。(***.swf?file=***.mpg)
2)著作権表示
動画再生用Flashに組み込んでるだけ。
0106nobodyさん04/11/02 13:06:19ID:???
>>105
ソースを見ても、パスを渡してる雰囲気はないんだが。
それに、Flash は動画ファイルをパスで読み込めない。
010710204/11/02 13:10:03ID:???
>>105
変換するという意味で落とすって使っただけ。

>動画再生用Flashに組み込んでるだけ。
そんな簡単なもんじゃないだろう。
0108nobodyさん04/11/02 13:25:20ID:???
Flashのままでも見れるな。ただ読み込んでるだけってことはなさそう
0109nobodyさん04/11/02 13:53:37ID:???
最初のローディング画面とボタンは共通で
後は動画を画像に分解したのが並んでいるだけですね
画像分解と音声分解ができればそれをFlashにするのは簡単
0110nobodyさん04/11/02 13:59:39ID:???
じゃあ
画像分解+音声分解 → exec
Flash化 → Ming
ってことか。
0111nobodyさん04/11/02 14:26:32ID:???
4フレーム分と5フレームのテンプレだけFlashで作っておけば5フレーム以降は
Soundとjpegのバイナリデータ、その容量、ID番号の置換を繰り返すだけでいいからMingもいらないよ
0112nobodyさん04/11/02 14:45:31ID:???
むずかしいですなあ
01137804/11/02 15:01:55ID:???
>99
always_populate_raw_post_data = Onにしたのですが、
$HTTP_RAW_POST_DATAが飛んできませんでした。
enctypeは何度も確認してますし、同一スクリプトで
サーバAでは動作しているので、typoが原因とも思えません。
スクリプトはPHPマニュアルのサンプルに毛が生えたようなものです。
整理すると、

ファイルアップロードの可否(同一スクリプトにて)
サーバA:○
サーバB:×

$_FILES
サーバA:○
サーバB:×

$HTTP_RAW_POST_DATA
サーバA:×
サーバB:×

$_POST["MAX_FILE_SIZE"]
サーバA:○
サーバB:○

お手上げです……
0114nobodyさん04/11/02 15:26:18ID:???
>>113
一応念のため
Apacheの再起動はした?
01157804/11/02 15:27:56ID:???
>114
もちろんやってます。
phpinfo()の表示でOffからOnに変わったのを確認もしています。
0116nobodyさん04/11/02 15:55:10ID:???
FORMタグにenctype="multipart/form-data"はつけてる?
01177804/11/02 16:12:29ID:???
>116
情報が小出しになってしまうのはよくないと思うのでソース貼ります。
サーバAでは期待通りif()の内側が実行されてます。

<?php
print($HTTP_RAW_POST_DATA);
//phpinfo();

if(!empty($_FILES['userfile']['name'])) {

$uploadfile = $_FILES['userfile']['tmp_name'];

$lines = file($uploadfile);
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . mb_convert_encoding($line, "SJIS", "EUC-JP") . "<br>\n";
}
exit;
}
// 初回接続時
?>
<html><body><form enctype="multipart/form-data" action="<?php echo($_SERVER['PHP_SELF']); ?>" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form></body></html>
01187804/11/02 16:17:30ID:???
使用ブラウザ書き忘れました。いずれも挙動変わらずです。
Netscape7.1
Mozilla Firefox 1.0RC
Internet Explorer 6.0.2800
0119nobodyさん04/11/02 16:31:40ID:09F3GGP8
めちゃめちゃ頭の悪い質問しますが、
ttp://xxx/xxx.php?xxx
のように.phpの後に?xxxとつけるためにはどうすればいいのですか?
htmlのページから飛んだときとかに?以降をつけたいのです
0120nobodyさん04/11/02 16:33:24ID:???
<a href="http://xxx/xxx.php?xxx">link</a>
0121nobodyさん04/11/02 16:35:47ID:???
>>119
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/l50
0122nobodyさん04/11/02 17:23:44ID:???
静止画をflashに読み込むのって簡単なの?
やってみたひと詳細教えて。
0123nobodyさん04/11/02 17:26:58ID:???
   〃∩ ∧_∧
   ⊂⌒( ´・ω・)く>>122にはマニュアルがお似合い
     `ヽ_っ⌒/⌒c
012412204/11/02 17:50:20ID:???
   〃∩ ∧_∧
   ⊂⌒( TεT;) 読んでも分からん。
     `ヽ_っ⌒/⌒c
0125あぼーんNGNG
あぼーん
0126nobodyさん04/11/02 17:57:17ID:???
   〃∩ ∧_∧
   ⊂⌒( ・∀・) おまえも氏ね
     `ヽ_っ⌒/⌒c
0127ぼるじょあ ◆yBEncckFOU 04/11/02 21:15:56ID:???
>>125
(・3・)エェー電話番号は駄目だYO
0128nobodyさん04/11/02 21:41:19ID:QiT/le0d
お世話になっています。

phpの中にインナーフレームを埋め込みそこへhtmlを読み込んで、
targetで中身を書き換えるようにしているのですが、
インナーフレームの中のhtmlファイルが変わったときに
そのhtmlファイルが存在するディレクトリ名を取得して、
そこまでのルートをリンクとして、表示させたいのですが、
手法がわからず困っています。
なにとぞ、お知恵をお貸しください。

 また、こういうことを解説しているHPや、ヒントになりそうなHPの
情報もいただければと思います・

よろしくお願いいたします。
0129nobodyさん04/11/02 21:59:15ID:???
>>128
>そこまでの"ルートをリンクとして、表示"させたいのですが、
"ルートをリンクとして、表示"というのが、具体的にどういうことなのか分からないのですが。
0130nobodyさん04/11/02 22:03:13ID:???
「どこに」表示するのも聞かなくていいのかな
0131nobodyさん04/11/02 22:53:22ID:???
>>128
http://pc5.2ch.net/test/read.cgi/php/1096965398/961
内容が同じ。

htmlでいいからサンプルを出せ。
0132nobodyさん04/11/03 03:05:34ID:???
>>122
good j
0133nobodyさん04/11/03 12:37:17ID:???
>>117
$_FILES['userfile']['name']は空でも
$_FILES['userfile']['error']はsetされてるかもよ
0134nobodyさん04/11/03 13:41:46ID:???
>133
$_FILES 自体が無いみたいよ?
01357804/11/03 14:43:14ID:???
>134
そうです。セットされていたらコメントアウトしてある
phpinfo()の時点でリストされるはずですよね。
0136nobodyさん04/11/03 15:23:02ID:???
Fedora 2か。
0137nobodyさん04/11/03 15:49:11ID:???
>>135
単純にファイルアップロード自体が無効になってるということはないよね?
0138nobodyさん04/11/03 15:53:39ID:???
>>137
>file_uploads = On
0139nobodyさん04/11/03 15:54:46ID:???
>>136
かもねかもねそうかもね
014012804/11/03 16:35:49ID:lSNB2eWk
>131

http://pc5.2ch.net/test/read.cgi/php/1096965398/961
上記がインナーフレーム内のhtmlを想定しているかはよくわからないのですが、
イメージは、同じです。

現在のソースは以下のようにechoでhtmlを作成しています。
http://www.uploda.org/file/uporg15142.txt
のファイルをダウンロードしてください。
txtファイルは表示されないみたいで・・・(私の環境だからでしょうか?)
0141nobodyさん04/11/03 16:43:01ID:???
もうそのくらいじゃ驚かないよ
014213104/11/03 16:48:43ID:lSNB2eWk
>140

main.phpのソースです。
http://www.uploda.org/file/uporg15147.jpg
jpgにしました。

よろしくお願いいたします。
0143nobodyさん04/11/03 16:50:18ID:???
ああ俺もだ。jpgは基本だよな。
014413104/11/03 16:53:04ID:lSNB2eWk
>142
http://www.uploda.org/file/uporg15149.jpg

index.phpもjpgにしました。
よろしくお願いいたします。
0145nobodyさん04/11/03 17:03:18ID:???
>>142
>>144
自己レスばっかりだ

もう涙が止まらない
0146nobodyさん04/11/03 17:05:31ID:???
function &getcurrentd()
     ^^この&ってどういう利点があるの?
0147nobodyさん04/11/03 17:08:02ID:???
>>144
<a href="〜.html" target="main">iframe内書き換え その1</a>
のように静的ファイル(html)を呼び出そうとしているなら無理だよ。
そこにPHPの介在する余地は無い。

サンプルが無いので したいらしい事を適当に想像するに、
iframeを含むページ自体を毎回書き直す方法が良いと思われ。

>>146
気にしたら負けと思われ
014813104/11/03 17:24:29ID:lSNB2eWk
>147

ご指摘のとおりです。htmlを呼び出しているだけです。
iframeを含むページ自体を書き換えるとするとどのような
処理が必要になるのでしょうか?

リンク先をクリックした情報を取得して、index.phpを書き換えるということでしょうか?
クリックしたということを取得するにはセッション情報が必要になるのでしょうか?

やりたいことはわかるのですが、何が必要で、どう処理すればよいのかわからず困っています。
どうそ、お知恵をお貸しください。

よろしくお願いいたします。
014913104/11/03 17:30:02ID:lSNB2eWk
>146

実は、わかっていないです。
サンプル等見ながら作成していたので、そのまま利用しています。

ディレクトリ名をメニューにして、iframe内のhtmlまでのディレクトリの階層
を「index >> 階層1 >>階層2」と表示できればページの管理が楽になるなと
思い作成を始めました。だったら、xmlで書けといわれそうなのですが、それだと、
かなり時間がかかると思い、できる限り簡単に短時間に作成できるように考えました。

自分の知識から考えると、これがベターかなと思って作成しています。
0150nobodyさん04/11/03 17:38:28ID:???
そんなあなたにpukiwikiでtopicpathプラグイン
0151nobodyさん04/11/03 17:55:47ID:???
>>149
動的にやる意味がない気がする。
ファイル数が不定期に増減して、ファイル名もランダムに変わるというなら意味ありそうだけど
ファイル数は一定でファイル名も固定なのであれば、何かスクリプトを書いてそれを使って
静的なhtmlを書いてしまえば、いいと思う。

んで、ファイル数が著しく増えたらもう一回スクリプトを走らせる、と。
■ このスレッドは過去ログ倉庫に格納されています