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

【php】part29【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/07/06(水) 09:57:54ID:0DucnAyH
・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-10辺り

前スレでは、尾張の方でお世話になりました。
原因は唯のファイル名間違いでした。ダッセー俺OTZ

0421名無しさん@そうだ選挙に行こう2005/09/10(土) 22:41:56ID:EeO+nR6C
>端末側でエラー表示がされます。
俺らはエスパーではない
0422名無しさん@そうだ選挙に行こう2005/09/10(土) 22:52:47ID:???
>>420
まず、変な小細工なしに、普通にダウンロードをさせることは出来ているんだろうか?
auの場合、単純な<a>タグのリンクではムービーファイルは落とせないよ。
04234202005/09/10(土) 23:52:18ID:???
>>421
分かりにくい説明で申し訳ございません。
端末側でダウンロードしますか?と聞かれた後「はい」を選択すると
ダウンロードデータが正しくありませんと表示されます。

>>422
熟知しております。
<object data="hoge.php?file=test.3g2" type="audio/3gpp2">
のように使用しようかと考えております。

HTTP_RANGEの仕様がいまいち分かっていないため、スクリプト側の処理が分かっていない部分もあります。。
04244202005/09/10(土) 23:54:21ID:???
>>422
普通にファイルまでのパスを記述すればDL可能でした。
0425名無しさん@そうだ選挙に行こう2005/09/11(日) 18:28:24ID:???
>>420
HTMLでobject要素内のparam要素でsize指定してやらないと、
ファイルサイズを取得するためにHTTPリクエストをHEADメソッドで送ってくる。
これに対してHTTPレスポンスヘッダでファイルサイズをContent-Lengthにセットして返せばいいわけだが、
HEADメソッドでContent-Lengthを設定できないPHPの罠があるっぽい。
だから、最初にobject要素を表示する段階でsizeを指定してやるのが手っ取り早い。
04264202005/09/11(日) 20:55:18ID:???
>>425
objectの際に送ってくるデータをgetallheadersで取ろうとしたんですがArrary
になってしまったので分かりませんでした。助言ありがとうございます。

今現在このようになっています(まだエラーは出ます)。
au端末をお持ちの方、アドバイスよろしくお願いします。
http://nullpo.t35.com/file.phps
0427名無しさん@そうだ選挙に行こう2005/09/11(日) 21:04:40ID:Gpc71woo
httpsをサポートしたデッドリンクチェックプログラムって、phpでは難しいでしょうか?
0428名無しさん@そうだ選挙に行こう2005/09/11(日) 21:47:56ID:???
>>427
んにゃ。httpで既に出来てるならOpenSSLサポートが
有効になったPHPを利用すれば殆ど変更はいらない。
0429名無しさん@そうだ選挙に行こう2005/09/11(日) 21:58:15ID:???
>>426
臭い事やっていないで、
header("Content-Type: audio/3gpp2");
@readfile($file);
だけでやってみそ。

04304202005/09/11(日) 22:06:19ID:???
>>429
臭い云々ではなく端末の仕様上それでやった場合は無理なんです。
0431名無しさん@そうだ選挙に行こう2005/09/11(日) 22:11:53ID:???
> readfileが原因なのでしょうか?

パケット拾ってみれば判る

> header(sprintf("Content-Length: %d", $len)).
> @readfile($file);

めちゃくちゃすんな
0432名無しさん@そうだ選挙に行こう2005/09/11(日) 22:13:17ID:???
>>426
PEARのHTTP_Downloadを使うと楽かな
0433名無しさん@そうだ選挙に行こう2005/09/11(日) 22:13:57ID:PQjWelba
終わったな。
0434nobodyさん2005/09/12(月) 00:16:31ID:???
header(Location)
でページは飛ぶんだけど、ブラウザのURLが変わらない場合って
何かなかったけ?
0435nobodyさん2005/09/12(月) 00:17:42ID:???
ゲイツに聞いてこい
0436nobodyさん2005/09/12(月) 00:25:51ID:???
if(ゲイツ.PHP書ける && ゲイツ.隣){
   ゲイツ.ASK();
}
0437nobodyさん2005/09/12(月) 01:28:19ID:???
ゲイツ.answer()

だろ
0438nobodyさん2005/09/12(月) 02:30:20ID:???
>>436-437
PHPだと文字列の連結になってしまうが
04394322005/09/12(月) 02:50:05ID:???
ステータスコード弄ったりしても変化ないし、もう駄目誰か説明して。
$limit以上の連続アクセスでリダイレクト(jmp_Error)させたいんだけど
このまま攻撃するとエラーに飛ぶけどURL変わらず
★☆★の位置に移動させると勿論、問答無用で飛ぶけど
ちゃんとブラウザのアドレスがerror.phpに変わるわけです。
って事は明らかにif文・・・

function jmp_Error($code, $msg){
   $msg = urlencode($msg);
   noCache();
   header('Location: '.CFG_URL.'error.php?code='.$code.'&msg='.$msg);
   exit;
}


0440nobodyさん2005/09/12(月) 02:50:39ID:???
function DosDetector($limit){
   ★☆★
    $DB = DB_connect();
    $SQL = "LOCK TABLES `l_dos` WRITE";
    DB_Query($SQL,$DB);
    $SQL = "DELETE FROM `l_dos` WHERE `time` < UNIX_TIMESTAMP()-5";
    DB_Query($SQL,$DB);
    $SQL = "INSERT INTO `l_dos` VALUES(0, '{$_SERVER['REMOTE_ADDR']}', UNIX_TIMESTAMP())";
    DB_Query($SQL,$DB);
    if(mysql_insert_id($DB) >= 65535){
        $SQL = "DELETE FROM `l_dos`";
        DB_Query($SQL,$DB);
        $SQL = "ALTER TABLE `l_dos` AUTO_INCREMENT=0";
        DB_Query($SQL,$DB);
    }else{
        $SQL = "SELECT COUNT(*) AS 'access' FROM `l_dos` WHERE `ip` = '{$_SERVER['REMOTE_ADDR']}'";
        $Result = DB_Query($SQL,$DB);
        $row = mysql_fetch_array($Result);
        mysql_free_result($Result);
    }
    $SQL = "UNLOCK TABLES";
    DB_Query($SQL,$DB);
    DB_Close($DB);

    if($row['access']>=$limit){
        jmp_Error('dos','');
    }
    ★☆★
}
0441nobodyさん2005/09/12(月) 02:56:38ID:???
正直ページ飛ぶからどうでもいいけど凄くむかつく
ちなみにfirefoxだとif文の中でもURL更新されます
もう3時・・・F1見よ
04424322005/09/12(月) 03:03:02ID:???
>>439
人の名をかたってわけのわからんことを言うな。
0443439 4342005/09/12(月) 03:10:42ID:???
>>442
ごめんなさい。タイプミス
0444nobodyさん2005/09/12(月) 03:22:58ID:???
>>439
連続アクセス回避なら素直にdeny追加してはどうかと。
0445nobodyさん2005/09/12(月) 03:23:33ID:???
.htaccess使える場合だけだけどね
0446nobodyさん2005/09/12(月) 03:47:36ID:???
負荷が少ないのはhtaccessなんですよねぇ
でも追加した後削除するタイミングがなんとも
5分くらいでいいんですよ。拒否するのは。

function DosDetectorの前にBan Listを参照する処理があって
その場合だと拒否されてても一応アクセスできて
尚且つ時間が経ってれば解除できるってゆうふうな〜
0447nobodyさん2005/09/12(月) 04:01:01ID:???
厳密にやるならError Documentsをphpにしとく手もあるけど負荷になるから
別のアクセスがあった時にチェックさせるのが良いんでは?
別のアクセスないと永遠に解除されないけどw
0448nobodyさん2005/09/12(月) 04:39:48ID:???
>>447
>>別のアクセスがあった時にチェックさせるのが良いんでは?
深夜とかにBanされたらさえないね・・・w
まぁ過度なリクエストする奴が悪い訳だし。それでいっか。
0449nobodyさん2005/09/13(火) 12:02:04ID:i54bcrDK
phplibはphp5で使えますか?

http://www.sanisoft.com/phplib/manual/
ここ見るとphp4までしか書いてないようで、検索しても情報が見つからなくて。
0450nobodyさん2005/09/13(火) 19:28:48ID:Syde0mgy
phpで動的に吐いているページを、
どこか(プロキシサーバ?)でキャッシュされているようで
一部のユーザから不具合報告があります。
ヘッダで
Cache-control: no-cache
Pragma: no-cache
等吐けばキャッシュされないようですが
動的サイトは一般的にこうするのがデフォルトでしょうか?
あまり書籍等でも見かけないので…。
0451nobodyさん2005/09/14(水) 02:47:04ID:???
デフォルトじゃない
キャッシュを無効にするかどうかは状況に応じて行う
04524502005/09/14(水) 06:54:20ID:???
>>451
なるほど。考えてみればそうですね。
IPを見るとケーブルテレビでした
やはりプロキシサーバを挟んでいるようです。
0453nobodyさん2005/09/14(水) 07:52:09ID:???
Cache-Control: privateのほうがSEO的によさそうな気もする
0454nobodyさん2005/09/14(水) 22:38:17ID:???
そんな糞CATV串は聞いたことがないのだが
0455nobodyさん2005/09/15(木) 22:03:07ID:???
狭い世界に住んでいるのですね
0456nobodyさん2005/09/17(土) 18:10:46ID:KMtzZBBS
Step1.php −>Step2.php −>Step3.php
とStep1の結果を、Step2で処理しsubmitで、Step3へすすんでいます。
----step2.php--- 判定を $hogeでするとして-
 ・・
 if($hoge){
   echo '<form ・・・action="step3.php">';
   ・・・・
   echo "<INPUT type="submit" ・・・
   ・・・・
 }else{
  echo '<form ・・・action="step3.php">';
   ・・・・

Step2内での処理の結果、Step3に飛ばすにはどうすれば良いのでしょうか?
 if($hoge){
   step3.phpへ自動で飛ばす
 }else{
----------------------------
これを
if($hoge){
   require("step3.php"); exit;
 }else{
と、しましたらstep3には飛べましたが
 URL欄が http://www.*****/**/step2.php のままです。
 URL欄も step3.php にしたいのですけど、、、
0457nobodyさん2005/09/17(土) 18:46:50ID:???
そりゃ飛ばしてるんじゃなくて読み込んでるだけ
飛ばしたいならRefreshかLocation
04584562005/09/17(土) 18:58:32ID:???
PHPには、関数かなんかあるのかと思ってました。
>>457さん。
ありがとう
headerでRefreshかLocation を吐き出します。<(_ _)>
0459nobodyさん2005/09/17(土) 22:17:15ID:QWV6xr7F
PHPファイル間のPOSTデータの受け渡しはどうやればいいのでしょうか?
GETなら出来そうなのですが、POSTだと見当が付きません。
http://pc8.2ch.net/test/read.cgi/php/1120611474/5-11 みたいになるとは思いますが
出来たらその後にでも教えて欲しいっす、、
0460nobodyさん2005/09/17(土) 22:27:51ID:???
>>459
真面目にやるならfsockopen()を使ってHTTPを喋る。RFC2616あたり。
手っ取り早くしたいならpearのHTTP_Clientを使う。
04614592005/09/17(土) 22:30:14ID:???
すいません。書き込んだばかりですが半分解決です。
セッションで送って受け取ればいいんですね。

それ以外の方法をご存知の方いましたらよろしくお願いします。
0462nobodyさん2005/09/17(土) 23:41:14ID:???
>>461
それは「PHPファイル間のPOSTデータの受け渡し」ではないので
半分すら解決してない。何らかの解決だと考えてるのなら
もういっぺん>>459を正しく書き直し。
0463nobodyさん2005/09/19(月) 13:44:36ID:???
PHPに構造体というか、レコード型みたいなのはありますか?
0464nobodyさん2005/09/19(月) 13:53:36ID:???
>>463
ない
が、連想配列でカバーできる
0465nobodyさん2005/09/19(月) 15:01:38ID:???
>>464
なるほど。連想配列ってそういう用途だったんだ。
ありがトン
0466nobodyさん2005/09/20(火) 10:22:16ID:Lq8tYe3w
Vine Linux3.2上でphp5.0.5をビルド中に以下のエラーが発生するのだが

#./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pgsql
...
(略)
...
Configuring extensions
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
checking whether libxml build works... no
configure: error: build test failed. Please check the config.log for details.

libxml2が古いのかとおもってapt-getしたけど最新版だし..

おしえてエロい(ry
0467nobodyさん2005/09/20(火) 10:35:05ID:???
(;゚д゚) Please check the config.log for details...

(つд⊂)ゴシゴシ
  _, ._
(;゚ Д゚) Please check...
0468nobodyさん2005/09/20(火) 10:35:42ID:???
>>466
vineは使ってないんで良く判らないんだがconfigureスクリプトに
--with-libxml-dir=<libxml2のインストール先>
を付けてみたら?
後、config.logを見てどんなエラーが出ているのか調べてみるとか。
0469nobodyさん2005/09/20(火) 10:56:05ID:Lq8tYe3w
>>468
--with-libxml-dir=/usr/lib

としてみたが

checking libxml2 install dir... /usr/lib
checking whether libxml build works... no
configure: error: build test failed. Please check the config.log for details.

となるね..
config.logには

collect2: ld returned 1 exit status
configure: failed program was:
#line 18663 "configure"
#include "confdefs.h"


char xmlInitParser();
int main() {
xmlInitParser();
return 0;
}

とかでてる。
xmlパーサーの初期化エラー?
04704682005/09/20(火) 11:12:20ID:???
>>469
オマイさんが指定した/usr/libにはlibxml2.soは存在するの?
04714662005/09/20(火) 11:22:18ID:???
>>470
ある。
実際は/usr/lib/libxml2.so.2.6.15へのシンボリックリンク
04724682005/09/20(火) 11:44:37ID:???
う〜ん、そうなのか。libxml2のリンクエラーではないのかな。。。
char xmlInitParser();
int main() {
xmlInitParser();
return 0;
}
を適当なファイル名.c で保存して
gcc ファイル名.c -L/usr/lib -lxml2
とやったらエラーの詳細は判ると思うけれど、Linux環境がない漏れには試せないな。。。
役立たずでスマソ。
04734662005/09/20(火) 15:56:11ID:???
>>472
また、ヒマがあったときにでもためしてみるっす
ありがトン
0474nobodyさん2005/09/20(火) 16:02:25ID:???
ワロタ
0475nobodyさん2005/09/20(火) 17:58:14ID:???
ものすごい初心者なんですが、すごい初心的な質問をさせてもらいます。
<?php
// 定数の定義
$IMG_WIDTH = 300;
$IMG_HEIGHT = 20;
$SHADOW_MARGIN = 3;

if ($pct == "" || $pct < 0) $pct = 0;
if ($pct > 100) $pct = 100;

・・・・
// メモリの解放
ImageDestroy($im);
?>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body>
<form action="gd02-2.php" method="post"><p>
塗りつぶす割合は(0-100)?<input type="text" name="rate" size="4" maxlength="3" value="<?php echo $pct; ?>">%
<input type="submit" value="作成">
</p>
</form>
</body>
</html>
このthmlからの文字が出ないんです・・・どうすれば出ますか?
誰か助けてもらえないでしょうか
04764752005/09/20(火) 18:00:55ID:???
言葉たらずな部分ありました、
htmlからのテキストボックスが表示されないんです。
どのように表示させればいいんでしょうか?
そして、なぜ表示出来ないんでしょうか?
0477nobodyさん2005/09/20(火) 18:03:46ID:???
「htmlからのテキストボックス」の意味が分からないんだが・・・。

別に問題ないように見える。HTMLにも問題はないようだよ。
0478nobodyさん2005/09/21(水) 01:51:19ID:???
PHP言語より日本語を勉強すればいいと思うよ
0479nobodyさん2005/09/21(水) 08:18:51ID:???
>>475
多分・・・・の部分でエラーがあって実行されずに終わってる。
ini_set("display_error", 1);
でチェック
0480nobodyさん2005/09/21(水) 13:24:18ID:???
文字コードが一致してないとか。
04814752005/09/21(水) 15:12:21ID:???
日本語がおかしくてスイマセン。
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body>
この後の部分が実行されないんです。
途中省略の・・・の部分は普通に実行されて結果も表示されているんですよね。

0482nobodyさん2005/09/21(水) 15:24:19ID:???
> 普通に実行されて結果も表示されている
と、ImageDestroy($im)の一行が見えることから、
・・・の部分で画像を出力していて、その下で更にhtmlを出力しようとしているんじゃないのかねぇ。
もしそうなら、無理。
0483nobodyさん2005/09/21(水) 16:09:47ID:???
>>481
>途中省略の・・・の部分は普通に実行されて結果も表示されているんですよね。
何が表示されているって言うんだい?
<html>より前に何かが表示されること自体おかしいとは思わないかい?
04844752005/09/21(水) 16:30:02ID:???
・・・では画像を表示させてます。
>>481
<html>を最後の方にもってきてるのがダメなんでしょうか?
>>482
その下でさらにhtmlを出力させようとしているって
部分を詳しく教えてもらえるとありがたいです。
後で全文入力します。
04854752005/09/21(水) 16:31:41ID:???
<?php

// 定数の定義
$IMG_WIDTH = 300;
$IMG_HEIGHT = 20;
$SHADOW_MARGIN = 3;

if ($pct == "" || $pct < 0) $pct = 0;
if ($pct > 100) $pct = 100;


$pct = $_POST["rate"];

// 新規画像の作成
$im = ImageCreate($IMG_WIDTH + $SHADOW_MARGIN, $IMG_HEIGHT + $SHADOW_MARGIN) or die ("Cannot Initialize new GD image stream");

// ベースとなる色の作成(白)と塗りつぶし
// 影を付けるために必要
$col = ImageColorAllocate($im, 255, 255, 255);
ImageFill($im, 0, 0, $col);
04864752005/09/21(水) 16:33:17ID:???
// イメージの影について、色の作成(グレー)と塗りつぶし
$col = ImageColorAllocate($im, 192, 192, 192);
ImageFilledRectangle($im, $SHADOW_MARGIN, $SHADOW_MARGIN, ($IMG_WIDTH + $SHADOW_MARGIN), ($IMG_HEIGHT + $SHADOW_MARGIN), $col);

// 背景について、色の作成(暗い赤)と塗りつぶした矩形を張り付け
$col = ImageColorAllocate($im, 160, 0, 0);
ImageFilledRectangle($im, 0, 0, $IMG_WIDTH, $IMG_HEIGHT, $col);

// 前景について、色の作成(暗い緑)と塗りつぶした矩形を張り付け
$col = ImageColorAllocate($im, 0, 160, 0);
ImageFilledRectangle($im, 0, 0, ($pct * $IMG_WIDTH / 100), $IMG_HEIGHT, $col);

// テキストの出力
$text_color = ImageColorAllocate($im, 255, 255, 255);
$string = "$pct%";
$font = 5;
ImageString($im, $font, ($IMG_WIDTH - strlen($string) * imagefontwidth($font)) / 2, ($IMG_HEIGHT - ImageFontHeight($font)) / 2, $string, $text_color);
04874752005/09/21(水) 16:34:44ID:???
// イメージの出力
if (ImageTypes() & IMG_GIF) {
Header("Content-type: image/gif");
Header("Cache-control: no-cache");
ImageGIF($im);
}
elseif (ImageTypes() & IMG_PNG) {
Header("Content-type: image/png");
Header("Cache-control: no-cache");
ImagePNG($im);
}
elseif (ImageTypes() & IMG_JPEG) {
Header("Content-type: image/jpeg");
Header("Cache-control: no-cache");
ImageJPEG($im, "", 10);
}
elseif (ImageTypes() & IMG_WBMP) {
Header("Content-type: image/vnd.wap.wbmp");
Header("Cache-control: no-cache");
ImageWBMP($im);
}
else {
die("イメージはサポートされていません");
}

// メモリの解放
ImageDestroy($im);
?>
04884752005/09/21(水) 16:36:09ID:???
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body>
<form action="gd02-2.php" method="post"><p>
塗りつぶす割合は(0-100)?<input type="text" name="rate" size="4" maxlength="3" value="<?php echo $pct; ?>">%
<input type="submit" value="作成">

</p>
</form>
</body>
</html>
0489nobodyさん2005/09/21(水) 17:07:44ID:???
空行までのデータ読み込みがうまくいかないので質問します。
100行ほどのテキストデータがあり、そのなかの90行目だけが空行だったとします。
このとき、1から89行までを別の配列として取り出したいのですが

テキストデータが$textdata、取り出し先が$newarrayとして

for($i=0;$i<count($textdata);$i++){
if($textdata[$i]==""){break;}
$newarray[]=$textdata[$i];
}

または

$i=0;
while($textdata[$i]!=""){
$newarray[]=$textdata[$i];
$i++;
}

とやってみたんですが、どっちも90行目のみ抜けた99個の配列になってしまいます。
どうしたら89個の配列となって取り出せるんでしょうか(´д`;)
04904892005/09/21(水) 17:08:24ID:RvtD9P6V
すいません下げてしまいました。
0491nobodyさん2005/09/21(水) 17:10:38ID:???
>>475
// イメージの出力
をしているのに、その後でHTMLを出力しようったって、そうはイカの金玉。
04924892005/09/21(水) 17:16:49ID:???
自己解決しました、一行ごとに\nがついているので
それを考慮したらうまくいきました。
0493nobodyさん2005/09/21(水) 17:21:01ID:???
>>487
Header("Content-type: image/***");
このヘッダーの後は画像のデータとみなされますのでhtmlが表示されるわけがないのです。

if (ImageTypes() & IMG_GIF) {
$file = "image.gif";
ImageGIF($im、"./img/".$file);
}
elseif (ImageTypes() & IMG_PNG) {
$file = "image.png";
ImagePNG($im, "./img".$file);
}

とかして一旦ファイルに保存して
echo '<img src="./img/'.$file.'">';
で表示すればいい
0494nobodyさん2005/09/22(木) 01:02:30ID:???
//--------------------following html--------------------
<html>
 <head></head>
 <body>
  
  <p>画像↓</p><br />
  <img src="http://hoge/picture.php?abc=piyo&def=punyu "><br />
  <p>エトセトラ・・・</p>
 </body>
</html>

//--------------------following picture.php--------------------
<?php
 /*画像作成コード*/
 header("Content-type:image/***");
 print($img);//$img : 画像バイナリ
?>

こうならいけるabcとかGETはjavaで弄るか
htmlの前にphpおいて適当に変数にパラメタをぶち込んでechoするとか
0495nobodyさん2005/09/22(木) 17:26:18ID:???
画像をphpで生成するなら、画像を作るphpとページを表示するのに分けたほうがいいんでない?
0496nobodyさん2005/09/24(土) 04:46:04ID:???
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
↓
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
0497nobodyさん2005/09/24(土) 14:06:31ID:9gGfIW9p
ページの読み込み完了して
いったん表示してから
また後のを読み込むことは
PHPでできますか?
0498nobodyさん2005/09/24(土) 14:08:20ID:???
スクリプト終了しなけりゃいくらでも出せるよ
0499nobodyさん2005/09/24(土) 14:40:12ID:9gGfIW9p
>>498
どういう関数でそれができますか?

0500nobodyさん2005/09/24(土) 14:42:48ID:h0yprU63
ファイル書き換えで下記の処理したら表示したときに新規に書き込んだものだけを連続して書き込んでしまいます・・・。
解決法をできれば。・゚・(つД`)・゚・。

if($_POST['send']=="送信")
{
if($_POST['tmp']!=="")
{
$writedata="";
$fp=file($bbs_log);
foreach($fp as $rec)
{
$writedata.=$_POST['maxcnt'];
$writedata.=",";
$writedata.=$_POST['user_name'];
$writedata.=",";
$writedata.=$_POST['user_mail'];
$writedata.=",";
$writedata.=$_POST['delpass'];
$writedata.=",";
$writedata.=$_POST['tmp'];
$writedata.="\r\n";
}
$fp=fopen($bbs_log,"w");
fwrite($fp,$writedata);
fclose($fp);
}
}
0501nobodyさん2005/09/24(土) 14:50:31ID:???
>>500
マニュアルからfopenのmode=wの部分を抜粋。
> 'w' 書きこみのみでオープンします。ファイルポインタをファイルの 先頭に置き、ファイルサイズをゼロにします。
> ファイルが存在しない 場合には、作成を試みます。
0502nobodyさん2005/09/24(土) 15:08:44ID:???
>>500
何をやりたいのか良く判らないな。
$bbs_log という名前からするとファイルの末尾に追加するのが正しいように思えるんだけど、
foreach($fp as $rec) でループさせると元のファイルの行数分、新規に書き込んだ行が
複製されてしまうよね。
「ファイル書き換え」って書いているから、その言葉が正しいとすると書き換える条件が
どこにも出てこないし。。。
元のファイルの内容、新規データの内容、処理後の期待するファイルの内容の3つを
カキコしてもらった方が早いんではないかな。
0503nobodyさん2005/09/24(土) 15:31:58ID:aOKQyrNZ
整数型の変数の中身を、
頭をゼロパディングして文字列に入れたいのですが、
どうやったらいいですか?
0504nobodyさん2005/09/24(土) 15:40:49ID:???
>>503
str_pad()
05055032005/09/24(土) 16:02:49ID:???
>>504
解決しました!
ありがとうございます!
0506キラーハンター2005/09/24(土) 16:55:39ID:3ud88b51
PHPにより、動画をFLASHに変換の仕方を教えていただけませんでしょうか。
また、その動画を3gppやAMCに変換するやり方(またはモジュール)も知っておられる方は
教えていただけると幸いです。
よろしくお願いいたします。
0507nobodyさん2005/09/24(土) 17:23:28ID:???
すげぇな、PHPはそんなことまでできるのか。
0508 2005/09/24(土) 23:07:41ID:???
copy("hogehoge.avi","hogehoge.swf");
0509nobodyさん2005/09/25(日) 10:01:58ID:???
>>506
つ movie2flash()
0510nobodyさん2005/09/25(日) 15:12:41ID:lpUMQVsI
セッション変数にどこまで格納すべきかをお伺いします。
PHP4.311、MySQL4.023でセッションはDBに積んでいきます。

ポータルサイトなどでみる、ページ表示に関わるユーザのカスタマイズ値(地域選択、興味ある
分野の優先表示、好みのCSS選択などのこまごまとした変数群)は全部セッションに格納すべきでしょうか?
それとも、最低限の情報(ユーザを一意に限定出来るメアドと認証状態)のみを格納して、
あとは認証がTrueの場合のif文の中であらためてDBから引っ張り込んでくるべきでしょうか?

前者の方がいかにもすっきりしますが、なんでもかんでもセッションに格納すんなという情報も
書籍などで見受けられます。
「複数ページで必要な変数は全部ぶっ込め派」と「最低限格納して、あとは引っ張ってくる派」は
どちらが主流なのでしょうか?
0511nobodyさん2005/09/25(日) 16:25:50ID:???
javascriptと連携して、画面の解像度や色深度を取得する方法を教えてください
0512nobodyさん2005/09/25(日) 16:49:29ID:???
>>511
それらの値の取得または計算によって算出するのはJavaScript側でする作業だよ。
その上でそれらの値をform.submit()などを使ってPHPに送出すればよい。
0513nobodyさん2005/09/26(月) 07:53:08ID:???
>>512
ありがとうございます。
screen.widthなどで取得するところまではわかったのですが、フォームではなく、これをページ読み込み時に自動的に送る方法がよくわかりません。
0514nobodyさん2005/09/26(月) 08:14:56ID:???
//513
ページ表示時にJavaScriptを実行させて、そのデータをもった別のリクエスト(img srcで画像呼び出し)を鯖に送る。
<!--
document.write("<img src='〜log.php?"
 // 解像度等を name=valueの形式に整形して文字列連結
 + "' width=1 height=1>");
// ->
0515nobodyさん2005/09/26(月) 11:10:19ID:???
>>510
一時的な情報はセッションに保存してます。
異なるセッションでも参照するならDB
0516nobodyさん2005/09/26(月) 12:11:34ID:???
>>510
結局は、管理人の好みな希ガス。

業務用とかであれば、誰がどのCSSを好んで使ってるかとか、
そういった、いわゆるマーケティングもしないといけないから、
結局ユーザー側に発行してもDBにも入ってる、じゃあDBだけでいいか、ってなる事が多い。

発行するデータ量と、発行対象になるおよそのクライアント数によっても、
違いはあると思うし、それぞれだと思うよ。
0517nobodyさん2005/09/26(月) 13:48:22ID:???
PHPのセッション機構側でユーザオブジェクトを全部管理してると、
言語を変えましょうかという話が出たとき死ぬので、手広くはやれないと思う。
0518nobodyさん2005/09/26(月) 14:08:00ID:???
perlからphpに移行中なのですがREMOTE_ADDRは取得できるのですがHTTP_CACHE_CONTROLや
HTTP_FORWARDED変数はどのように取得するのでしょうか?
05195102005/09/26(月) 14:10:23ID:???
>>515-517
レスありがとうございます。
書籍には書いてない実務になじんだ意見、参考になります。
0520nobodyさん2005/09/26(月) 14:18:18ID:???
>>518
そのヘッダが存在するなら$_SERVER[ ]に代入されている。
普通はないけどね
■ このスレッドは過去ログ倉庫に格納されています