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

【PHP】質問スレッドPart2

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/10/17 10:52ID:zLTg5ihK
レスは気長に待つのが良い感じかも。
答えられる方、返答よろしくお願いします。

参考リンク
■本家
http://www.php.net/

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

■Japan PHP Users Group
http://www.php.gr.jp/

■PHP 日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html

■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/

■前スレ
http://ebi.2ch.net/test/read.cgi/php/982687820/
0628名無しさん@お腹いっぱい。02/01/16 00:49ID:???
>>627

> どうぞご勝手に、って感じ?パッチ作ってやってる側の立場にもなれよな。
> 何ならてめーにふってやってもいいんだぜ?

そんな誤解をまねくような発言をされると困るんですが。
0629名無しさん@お腹いっぱい。02/01/16 00:53ID:???
. ∧   ∧
( ´ ・∀・`) へー
063062602/01/16 00:59ID:???
自分で振っておいてなんですが
怖い展開になりそうな予感

つまりは、EUC > EUC でいいじゃん。
不満ならUTF-8でも使えばいいじゃん。

なんて言うと、
「話を見てない厨房は、
 今すぐLANケーブルを口から入れて尻から出せ」
と言われてしまうのでしょうか?
0631名無しさん@お腹いっぱい。02/01/16 01:17ID:???
私のサイトではindex.htmlを書き出すことが出来る掲示板(PerlのCGI)を
使用しています。この掲示板はindex.htmlを書き出す、書き出さない、を設定で
選択出来るものです。
今回、referrerで自分のサイト内から来たのか、他のサイトから来たのか
チェックして他のサイトから来た場合はメッセージを表示させようと
思ったのですが、index.htmlをindex.phpにして書き出し、そこで
チェックするのと、index.htmlを廃止して全てCGIで行うのとでは、
どちらが負荷が低いでしょうか?
0632名無しさん@お腹いっぱい。02/01/16 01:22ID:???
そもそも日本語unixの世界は、デフォルトで、日本語ユーザの言語コードをS-JISにするべきだと思うね。
0633名無しさん@お腹いっぱい。02/01/16 01:37ID:???
. ∧   ∧
( ´ ・∀・`) へー
0634名無しさん@お腹いっぱい。02/01/16 01:43ID:???
>>631
index.phpにして、referrerチェックするだけのコードを
挿入した方が、負荷は低いんじゃないの。
0635名無しさん@お腹いっぱい。02/01/16 09:54ID:QldZQ7At
>>606
global $PHP_SELF;
をXYZ.phpに書いとくとどうよ? ABC.phpが返らない?
0636名無しさん@お腹いっぱい。02/01/16 10:01ID:0aSVB78M
>>635
うん、そう。global を置くといいんだよね。
0637名無しさん@お腹いっぱい。02/01/16 12:04ID:d4Rc5uNo
PostgreSQLにLargeObjectで登録してある画像をphpで表示するCGIを作っています。
iモード向けなのでGIFで出力するのですが、DBにはJpegで保存してあります。
機種によって色数とサイズを変更する必要があるのでImageMagickのconvertコマンドを呼び出して変換しているのですが、ファイルサイズが白黒で96*80の割に4kぐらいになってしまい、古い機種では読み込めません。
convertでは無理でしょうか?
0638名無しさん@お腹いっぱい。02/01/16 13:31ID:???
>>637
イタチ害
0639名無しさん@お腹いっぱい。02/01/16 17:20ID:INo6dhu/
>638
どこが?
0640名無しさん@お腹いっぱい。02/01/16 17:36ID:???
>>637
無責任モードですが
JPEG(DB) → GIFの前に
JPEG(DB) → JPEG(temp) → GIF
として画質を落としたJPEGを作ってGIFにしたらどうなりますかねぇ。

これって意味無いんですか?
識者の方または637さんの報告いただければ幸い。
0641名無しさん@お腹いっぱい。02/01/16 17:55ID:KcWg2TMr
ばーか、ばーーか、ばーーーか!!!
064263702/01/16 18:44ID:d4Rc5uNo
>>640
返答ありがとうございます。
それも試しましたが同じでした。
どうやらconvertのgif圧縮アルゴリズムはライセンスの問題で簡易版になっているようです。
他に方法があればよいのですが・・・。
0643名無しさん@お腹いっぱい。02/01/16 20:08ID:???
>>642
あう。ごめんなさい。そうでした…
このあたりで言われていたんだった…
ttp://ns1.php.gr.jp/pipermail/php-users/2001-October/002683.html

なので、上記とかを参考にすると
ImageMagickをconfigureするときに,--enable-lzwオプションを付けることで、
lzwが使えるようになります。
独り言ですけど。
(なのでライセンス的な部分は聞かんといて)

今更ImageMagickのconfigureからという方法しかわからなくて
申し訳ないっす。
0644名無しさん@お腹いっぱい。02/01/16 22:06ID:kt5qin0i
PHP3とOracle8iでつくっているサイトがあるのですが、
あるテーブルのデータ(単に、select * from あるテーブル した状態だけのもの)を、
Excelの表としてユーザが表示できるようにしたいと思っています。
(ユーザは、ある部署の人たちなので、限られたPCで実現できればいい)

この場合、どうする方法があるのでしょうか?

自分としては、

------------------------------------------------------------
 ・(手順1)PHPでCSVで単純にデータをはき出すページをつくる。
 ・(手順2)エクセルファイルにVBAで
  「IEで上記のURLを開いて表示されたCSVを読み込んでそれをエクセルに貼り付ける」
  というマクロをしこんでおく
 ・(手順3)そのエクセルファイルを配布する。
------------------------------------------------------------
という方法という方法しか思いつかないのですが・・・

あるいは、PHP4みたいにCOMドメインが使えなくても、
PHPから直接Excelファイルをはき出す方法はあるのでしょうか?
064564402/01/16 22:07ID:???
もとい、誤:COMドメイン -> 正:COMアドイン
0646名無しさん@お腹いっぱい。02/01/16 23:13ID:???
>>644
ttp://ns1.php.gr.jp/pipermail/php-users/2001-December/004506.html
(CSV ファイルDL時にIE5.5が落ちる という物騒なネタですが)
から始まるスレッドで
---------------------------------------------------------------------
$filename = "data.csv";
header("Content-type: application/ms-excel; name=".$filename);
header("Content-Disposition: inline; filename=".$filename);
// 以降、カンマ区切りのデータ
---------------------------------------------------------------------
こんな感じでやっていますが、これじゃダメですか?

あと、ExcelもCSVは扱えますけど、
やっぱりエクセルファイルの形式にしなきゃだめすか?

直接Excelファイルを吐き出すのは難しいんじゃないですかねぇ。
0647(・ι・)02/01/17 01:59ID:TyM4Yzgh

PHPって普通のlogファイルやdatファイルを
外部ファイルとして読み込めるんでしょうか?

BBSのlogファイルに吐き出されたデータを
PHP上の配列させたくて色々自分なりにやってみたけど
全然ダメっす!!わかんね〜〜〜〜〜!!

cgiで云う、、、

open(IN,"$logfile") || &error("Open Error : $logfile");
while (<IN>) {
($num,$date,$name,$email,$sub,$com,$url,$host,$pwd) = split(/<>/);

こういった処理って一体どないすれば良いんだ〜〜〜????
0648教えて君02/01/17 02:04ID:???
>>647
マニュアルぐらい読みやがってください

http://www.php.net/manual/ja/ref.filesystem.php
0649名無しさん@お腹いっぱい。02/01/17 02:11ID:???
>>647
http://jp2.php.net/manual/ja/ref.filesystem.php
このあたり(fopen())でファイルを読み込んで…ですかね。

あとは
http://jp2.php.net/manual/ja/ref.strings.php
http://jp2.php.net/manual/ja/function.split.php
で文字列をいじる、と。

あとこのスレの575-580あたりも参考になりませんか?

CGI分からないのではずしてたら申し訳ない。
0650(・ι・)02/01/17 05:14ID:TyM4Yzgh
>>648
マニュアル、読みやがってるんですが
殺伐とした文字の羅列が「女子供はすっこんでろ!」
って風に感じてきて、、、。

女でも、子供でもないのですが、、、、。

>>649
色々見て回って fopen fget feofやらに
ビシバシとアヤしさは感じているのですが、、、。
も一度気合入れて、その辺り、読んでみます


コレをクリアしないとPHPにくじけてしまいそうだ、、、。
0651名無しさん@お腹いっぱい。02/01/17 06:45ID:???
>>647
個人的にはPerlの方が訳分からん。
fopenとかの方が分かりやすい。

たまにfread(buf, size, 1, fp);とかやるが(藁
0652_02/01/17 08:05ID:???
正直、fileがいちばんperlでやってた時と
おなじ感じでしっくり来る。

$hairetu = file($file);
for($i = 0;$i < count($hairetu);$i++){
 list($num,$date,$name,$email,$sub,$com,$url,$host,$pwd) = explode('<>', $hairetu[$i]);
/*
「まんこ」より「オマンコ」の方が卑猥だ
*/
}
0653名無しさん@お腹いっぱい。02/01/17 09:21ID:???
open DAT, "./data.dat";
@data = <DAT>;
close (DAT);

と同じだよね?データ量多くなるとメモリ食いすぎ・・・。
0654名無しさん@お腹いっぱい。02/01/17 12:33ID:???
>>652をwhile使う場合は、どう書くの?
0655名無しさん@お腹いっぱい。02/01/17 13:37ID:NlJZhfHo
>>654
こうかな。試してないけど。

$fn = fopen($file);
while(!feof($fn)) {
list($num,$date,$name,$email,$sub,$com,$url,$host,$pwd) = explode('<>', fgets($fn, 4096))
}
0656(・ι・)02/01/18 01:30ID:jsMYnQDU
>652,655 ありがとうっ!!
でも一日中、格闘したけど何故だかダメだった。
0657(・ι・)02/01/18 01:34ID:jsMYnQDU
↑スマソ。氏んで来る前に続き。

logからひっぱって来ようとしてんだけど
そのlogに出されているデータの乗っかり方が
3<>日付<>投稿者名<>メアド<>タイトル<><>コメント<><>URL<>
2<>日付<>投稿者名<>メアド<>タイトル<><>コメント<><>URL<>
1<>日付<>投稿者名<>メアド<>タイトル<><>コメント<><>URL<>
、、、みたいな形。
教えてもらったパターンのものを使うと
上記のlogの記述、そのまんまで表示して終わっちゃいます。

素のlogファイルからtop.phpが読込み。
↓
top.phpにて配列として格納
↓
同じくtop.php上にて、、、、
echo 'ナンバー:$num';
echo '<br>';
echo '投稿日時:$dated';
echo '<br>';
echo 'おなまえ:$name';
echo '<br>';
〜略〜
/*
漏れは「幼な妻」より「社長秘書」に惹かれる。
*/
、、、みたいに出力。
↓
(゚д゚)ウマー
、、、、と、なりたい。
あわよくば、logがたまっていっても
指定した数だけ表示して順繰りに流れて行く。
↓
(・∀・)<カコイイ!!

、、、ともなりたい。
かなり素人さらけ出してますがこの疑問を解消したい〜〜〜〜!!!
助けてぇ〜〜〜〜!!
0658名無しさん@お腹いっぱい。02/01/18 01:42ID:???
>657
幼な妻の方が好きなのでsage
0659名無しさん@お腹いっぱい。02/01/18 01:55ID:???
>>657
最近PHPやりはじめたし動くか試してないけど、

$hairetu = @file($file_name) or die("開けないよ");
for($i = 0;$i < count($hairetu);$i++)
{
list($num,$date,$name,$email,$sub,$com,$url,$host,$pwd) = explode('<>', $hairetu[$i])
echo 'ナンバー:$num';
echo '<br>';
echo '投稿日時:$date';
echo '<br>';
echo 'おなまえ:$name';
echo '<br>';
}

とかでだめ?
0660_02/01/18 05:09ID:???
1<>日付<>投稿者名<>メアド<>タイトル<><>コメント<><>URL<>
タイトルとコメントの間が
<><>となっているが、そのまま動かすと
list()で指定した変数が一つづつずれる予感。

<>と<><>の使い分けってどういう意味なの?
066165502/01/18 09:56ID:6R5N/U/V
>>656 他は皆が答えてくれてるからよしとして、

>あわよくば、logがたまっていっても
>指定した数だけ表示して順繰りに流れて行く。
これは、「新しいものから何件」とか指定した数だけ表示ってこと?
「流れて行く」ってどんなの想定してる?
0662名無しさん@お腹いっぱい。02/01/18 13:24ID:pVCzw5x6
サーバーにある 画像の W と H を取得したいのですが。。拾ってくる画像はJPGです。PerlだとUnpackとか使えるんですが、PHPの関数でそれに似たやつってありますか?
0663名無しさん@お腹いっぱい。02/01/18 13:31ID:???
>>662
そんなあなたに関数リファレンス
http://jp2.php.net/manual/ja/funcref.php

後はサーバーと相談してくれ。
http://jp2.php.net/manual/ja/ref.image.php
0664名無しさん@お腹いっぱい。02/01/18 13:36ID:pVCzw5x6
>>663
下段のページの存在をしらんかったす。
ど〜も〜
066565902/01/18 17:43ID:???
>>660
> <><>となっているが、そのまま動かすと
> list()で指定した変数が一つづつずれる予感。
言われてみれば確かに。
0666名無しさん@お腹いっぱい。02/01/18 21:51ID:tb8bjoPd
KENT WEBさんのClip Boardに
博多弁翻訳をつけたしたいんですが
どう記述すればいいのかわかりません。
教えてください!
0667名無しさん@お腹いっぱい。02/01/18 21:55ID:tb8bjoPd
666です
ま、まちがえて投稿しましたです。すいません。
0668名無しさん@お腹いっぱい。02/01/18 22:32ID:???
>>666
@nomal=('すごく','',・・・);
@hakata=('ちかっぱ','',・・・);
for (0..$#nomal) { $i = $_;
$in{'name'}=~s/@nomal[$i]/@hakata[$i]/g;
}
っていうかんじじゃない?
0669名無しさん@お腹いっぱい。02/01/18 22:37ID:???
>668
誤爆にレスしても・・・(笑)
0670_02/01/19 00:11ID:???
>>656
PHP-MLにも同じ質問してるようだから
あそこで、もうちょい詳しく聞きなさい

今の質問だと漠然としすぎてる
067163102/01/19 20:41ID:???
>>634
お返事ありがとう。とりあえずやってみます。
0672名無しさん@お腹いっぱい。02/01/19 22:16ID:0ayav3PO
他のサーバにあるファイルを file_exists() 等で調べたいんですが、
相手側のサーバにもphpを入れないと無理なんでしょうか?
http://jp.php.net/manual/ja/function.file-exists.php
ここで「動作しません」て書いてあるのでそうなんでしょうけど、
抜け道があれば教えて頂けるとうれしいです。

また、結局phpを入れることになる場合 allow_url_fopen をoffにするようなことが書いてありますけど、
configureにはどのように書けば良いのでしょうか。
いくらか検索してみたんですけど、いまいちわからなかったので。
お願いします。
0673あぼーんNGNG
あぼーん
0674_02/01/19 23:17ID:???
>>672
fopen()じゃまんこか?
0675名無しさん@お腹いっぱい。02/01/20 01:11ID:???
飛びにくくて短い「合計・昨日・本日」を表示できるカウンターを
教えて下さい。GIFでの表示は不要です。
<?

?>
0676名無しさん@お腹いっぱい。02/01/20 01:42ID:???
>>675
自分で考えてみようという気はありませんか?
0677名無しさん@お腹いっぱい。02/01/20 01:57ID:PGDkHGkl
>675
悪いことはいわない

<?php

?>
にしなさい
0678名無しさん@お腹いっぱい。02/01/20 02:20ID:???
>>677
なぜですか?
マジで教えていただきたいです。
0679名無しさん@お腹いっぱい。02/01/20 02:41ID:PGDkHGkl
>678
<?

?>
の将来にわたっての動作を「保証しない」と、わざわざドキュメントに記しているから。

もっとも大きな理由は、
<?
?>
の書式はXMLの書式とぶつかるからだったはず。
0680名無しさん@お腹いっぱい。02/01/20 03:20ID:???
レンタル鯖?<? ?>を不可にしてないレンタル鯖は糞だな。
0681_02/01/20 04:28ID:???
register_globalsはOFFにしてる?
0682名無しさん@お腹いっぱい。02/01/20 05:08ID:f2mym6ih
>>678 >>679
<?xml ?>
xml はこんな感じで書くんだっけ。
xml文書なのに <? の時点でPHPスクリプトと判断されるとまずいってやつだよね。

>>680
それは .htaccess でどうにでもなるよ。
php_flag short_open_tag off
って書けば無効になる。
0683名無しさん@お腹いっぱい。02/01/20 05:26ID:y0XoU/Gk
>>672
snoopyクラスを使えば解決
0684名無しさん@お腹いっぱい。02/01/20 10:19ID:TDHP5+AM
2月からなにをするか知らないが、
日曜日の唯一の楽しみが無くなった。
ドレミみたいにつづいてくれないかな・・・・

今日のメテオさんで泣いたの俺だけ?
068568402/01/20 10:21ID:???
すまん、板間違えた
気にしないでくれ
0686名無しさん@お腹いっぱい。02/01/20 10:36ID:???
>>684
どう考えてもお前だけだよ  (笑
0687 02/01/20 11:01ID:lYlsfvTy
ログを表示するスクリプトを書きたいのですが、
最新のログから表示するのに
shellのtailコマンドのような関数ってPHPにはないですか?
またはfgetsでファイル末尾から読む方法ってあるんでしょうか。
一度ファイル全部読んで逆順にすればいいのですけど、
知ってる人いたら教えてください
0688名無しさん@お腹いっぱい。02/01/20 16:01ID:f2mym6ih
>>687
そこだけ SSI にすればいいんじゃないの?
あるいは system() で tail を呼び出すとか。
0689名無しさん@お腹いっぱい。02/01/20 21:29ID:???
Redhat7.1 PHPのデフォルトがPHP4.04ですが、
PHP4.06にアップグレードしたいのですが、成功された方はいますでしょうか?
いろいろ試しましたがどれも、うまくいかず・・・。
rpmをみつけたのですが、これもうまくいかず・・・。
apache php mysql 全てを、tar では、うまくいったのですが、
できれば、PHPだけでインストール成功させたいので、
わかる方いませんか? おしえてください。
0690名無しさん@お腹いっぱい。02/01/20 22:02ID:???
>>689
ごめん。ちょっと後半意味不明ですが
PHPはrpmでいれなきゃダメ?
http://jp2.php.net/downloads.php
ここからソース取ってきて自分でやることは
(環境/条件等)制約がありますか?
069168902/01/20 23:58ID:???
>>690
ありがとうございます。
ええっと、質問は、Redhat7.1 に、php-4.0.6.tar.gz のみ 
をインストールする方法をしりたいと思っています。

制約といいうか、php-4.0.6.tar.gz ファイルを
そのままRedhatインストールできないんですよ。
ええっと、./configure の時 apxsを指定しますよね?
その apxs がRedhatにはないんです。
それで、Apacheのdep.rpmだったかな?を入れて (apxsが出てきます)
phpをインストールしたのですが、これもうまくいかずです。
どなたか、わかる方いませんでしょうか、おねがいします。
0692名無しさん@お腹いっぱい。02/01/21 00:42ID:???
>>691
ちゅうことはconfigure時点でエラーが出ていると言うことですよね。
じゃあ、多分エラーログをはっつけるのが一番手っ取り早いですが、
apxsのパスが合っているかをまず確認ですかね。

あと、
http://news.php.net/article.php?group=php.install&article=5208
こういうこととかはどう?
069369202/01/21 00:45ID:???
ん?もう一度読み返して思った。
これってApacheモジュールじゃなく
コマンドライン版を入れたいということなのかな?
コマンドライン版ならapxsはオプションに必要ないけど。
069469202/01/21 00:52ID:???
あー。もうすんません。
zlibうんぬんは関係ないかも。

そうだ、
http://www.sra.co.jp/people/t-ishii/php/
ここでマンモス本公開されてます。
ちょい古いけど参考になったりしませんかね。
例えばインストールの部分だけでも。
069568702/01/21 01:08ID:401MGsba
>688
ありがとうございます。
その方法でOKでした。
リファレンス見たら
$str = `tail ./access_log` ;
print "<pre>$str</pre>\n";
でもOKでした。もっと調べろよ 自分・・・。
0696名無しさん@お腹いっぱい。02/01/21 01:10ID:BZy0YWlx
PHPにCURLをインストールしたいのですが
どうしたらよいのでしょうか?
やはり、再度、make installしないと駄目なのでしょうか?
0697名無しさん@お腹いっぱい。02/01/21 01:34ID:???
>>696
PHPでCURL関数を使いたいということなのか、
CURLパッケージをインストールしたいのか…。
(多分前者ですよね)

http://jp2.php.net/manual/ja/ref.curl.php
この情報では不足なんですか?
--with-curl[=DIR] を付けてPHPがコンパイルされていれば
動くと思いますけど。

オプションでつけていないのなら(phpinfo()で確認できないなら)
そりゃもう一度configureからやる必要があるんじゃないですかねぇ?
"--with-curl[=DIR] を付けてPHPをコンパイルしておく
必要があります。"って書いてあるんだから。
069867202/01/21 07:40ID:???
>>674
fopen()でいけました。
でも、>>683さんのもなんか面白そうなんで試してみます。
お二方、ありがとうございました。
遅レススマソ。
0699名無しさん@お腹いっぱい。02/01/21 13:04ID:f6DiAFQS
PHP-users より。
初心者は読んでおくとイイかも。

PHP Tips @ItBoost
http://www.itboost.co.jp/phptips/
0700名無しさん@お腹いっぱい。02/01/21 15:50ID:???
>>699
初心者じゃなくても、読んでみると新しい発見あるかも。
0701七資産 ◆MM7z9idA 02/01/21 21:12ID:1aT8oZZP
>>699
ItBoostの記事はどれも参考になるよな。
0702名無しさん@お腹いっぱい。02/01/22 00:02ID:???
>>699
かなり参考になりました。
ところで、質問。
うpろーだーを作っているんですが、そこで例えば
Excelファイル・Wordファイル・テキストファイル
の3つだけを許可したい場合に、拡張子で判別する以外の方法はないんでしょうか?
できればmediatypeで判別したいんですが、ちょっとやってみたら
Excelなんかはバージョンごとにmediatypeが違うらしく。
拡張子で判別だと拡張子を偽られたら意味がないので、困っている次第です。
0703名無しさん@お腹いっぱい。02/01/22 02:03ID:???
>>699
初心者ですが、難しいです。
結構、例が載っていて、一見わかりやすそうに見えますが
そうでもないです。はしょり過ぎてる感じで結局初心者には
わからないものが意外とあります。どういう場面で使うもの
なのかなどわかりづらいです。ためになることも多いですが。
不器用で理解力の無い自分には、そのへんで配布されている
プログラムを見ながらの方が、動作などは理解しやすいです。
もうちょっと自分の勉強が進むと、そのサイトの内容も理解
できてくるのではないかと期待してますが。
0704名無しさん@お腹いっぱい。02/01/22 02:32ID:TIELJ/mg
>>703
Tips だから内容はこんなもんじゃないのかな。
ある意味 FAQ みたいなもんだ。
俺は数も多くて結構便利だと思うけどね。

たとえば掲示板を作りたいときは、
誰かが作った掲示板のソースを見たほうが、
全体の流れとか必要な処理とかが分かって、
勉強という点ではいいかもね。
0705_02/01/22 03:34ID:???
>>703
分からない箇所があるなら
リファレンス検索で調べると、すいすいわかるかも。

とりあえず、最初はマンモスPDFでも見たらどうかな?
ttp://www.net-newbie.com/support/pdf/

その後、自分で何かを作るときに
どうすれば良いんだろうと考えたら
このTIPSが役立つ気がする。

今日はマンコと書いてないのでsage
0706名無しさん@お腹いっぱい。02/01/23 20:55ID:9ZdHU9sZ
http://jp.php.net/manual/ja/features.file-upload.php
まずはここを参照。

アップロード時に返ってくる$HTTP_POST_FILES['userfile']['type']は
うpしたファイルのファイルタイプが入っているので、それを正規表現でチェックとか。
Excelなら
if (ereg ("ms-excel", $filetype)) {
  $filechk = true;
}
のような感じで。

バージョンごとにファイルタイプが違うといっても、少しは統一された表記があると思うので
そのあたりを利用するのが良いとかと。
0707HELP ME02/01/24 01:36ID:W1e3LBHP
flock (int fp, int operation, int [wouldblock])

operationのところを「2」にした時は、排他的ロックがブロックモードで実行されると思うのですが、
PHPマニュアルを読むと3番目の引数にtrueを設定した時にブロックモードになると書いてありました。
っていうか、Perlではこの三番目の引数ってありませんよね。この三番目の引数は何のためにあるのでしょうか?
PHP始めたばかりで変な質問なのかもしれませんが、ご存知の方教えて下さいませんか…
0708_ ◆IVXmlxmI 02/01/24 03:09ID:???
>>707

ttp://www.anesth.or.jp/gijutu/perl/man-ffunc.php#f_flock
上のページを読むと幸せにマンコかも。
0709_ ◆IVXmlxmI 02/01/24 03:16ID:???
逆に聞きたいんだが、
>operationのところを「2」にした時は、
>排他的ロックがブロックモードで実行されると思うのですが、
てのは、どこに書いてあった?

真偽を返すから非ブロックモードかとおもてたよ。
俺が、思うほど単純じゃないのか?例えば(以下略)
071070702/01/24 03:34ID:FrnzG3d8
ブロックモードの時は、ロックをかけれる状態になるまでプログラムが停止するみたい。
非ブロックモードの時は、ロックをかけれたか否かをすぐ真偽で返すみたい。
詳しくは、下記見てみて。

http://tohoho.wakusei.ne.jp/wwwperl2.htm#flock
0711名無しさん@お腹いっぱい。02/01/24 03:58ID:ojXy576t
DBからランダムにレコードを引っ張ってくるプログラム作ってるんですが、
ユーザがブラウザをリロードしてしまうと中身が変更されてしまいます。
(イメージ的には、WEBを使った試験問題の出題みたいなもので、「次へ」ボタンを押さない限り
中身が変わらないようにしたい)
リロード自体リファラにはならいないのでリファラチェックはできないし、同様にセッションでの
判定もできません。
何か良い手立てはないでしょうか。
0712名無しさん@お腹いっぱい。02/01/24 04:02ID:+XB4ZMSG
location
0713名無しさん@お腹いっぱい。02/01/24 10:48ID:???
>>706
それだとExcelがインストールされていない環境からの
アップロードを受け付けられないんじゃないかな。

UNIXやcygwinにはファイルの種類を判定するコマンドが
/usr/bin/fileあたりにあるので、それを呼び出して使えばいいと思う。
FreeBSDだと/usr/share/misc/magicにExcelの定義が入っていて、
デフォルトで判定できるようになってる。それを使うと、

% file hoge.xls
hoge.xls: Microsoft Office Document

…ありゃ? エクセルじゃなくてオフィスと判定するのね(w
0714名無しさん@お腹いっぱい。02/01/24 10:51ID:???
>>711
Header("Status: 204 No Response");
0715名無しさん@お腹いっぱい。02/01/24 12:01ID:???
>714
>711じゃないけど勉強になります。
0716名無しさん@お腹いっぱい。02/01/24 18:57ID:fVokeyI7
ファイルをアップロードするときに、ファイルの権限を変更したいのですが、
どのようにすればよいでしょうか?
fileperms()で、権限取ってきて、
chmod($example, 0604)でやってるんですが、
許可されない操作って言われて、困ってます。
よろしく。
0717名無しさん@お腹いっぱい。02/01/24 18:59ID:nUVwgo4z
>716
誰の権限のディレクトリにアップロードされているか確認しましょう。
0718名無しさん@お腹いっぱい。02/01/24 19:05ID:fVokeyI7
一応、nobodyのディレクトリなんですが、だめですか?
rename()やってから、変更すべきでしょうか?
0719名無しさん@お腹いっぱい。02/01/24 19:23ID:rUk1r3g1
吉祥寺にある大検・大学受験予備校の中央高等学院
ここは、完全に狂ってる。
授業料は一年分一括前払いなので、
金が入れば、生徒は要らない
金を振り込んだら、何とかその生徒を辞めさせようと
講師どもが、あの手、この手でイヤガラセをしてきますね。
セクハラはもちろん、脈絡の無い罵倒は日常茶飯だね。
酒臭い講師もいるし・・・ 人生の最果て中央高等学院
学歴詐称、経歴詐称、合格実績詐称、デタラメ授業、
http://www.chuo-school.ac/

http://chs-f.com/index.html 中央高等学院福岡校
司法浪人の田中校長は ↑ また司法試験に落ちましたが
HP上では下らない見栄を張っています
0720名無しさん@お腹いっぱい。02/01/24 21:02ID:nUVwgo4z
>718     
その前に、どうやってアップロードしているんですか?
独自のルーチンでですか?PHP標準(というか)のコマンド関数
使ってですか?
PHPの奴は、良く知らないけど、プロセス終わったら消されませんでしたっけ?
プロセス終了前にコピーするように・・・ってのを見た覚えがあります。
0721名無しさん@お腹いっぱい。02/01/24 21:43ID:FB//8k1l
まことに厨房な話なのですが、TUXというhttpdでPHPが動かせません。
PHP4.1.0からTUX用のモジュールが作れるということで
やってみたのですがうまくいきません。
モジュールも正常にインストールはできたのですが。

PHP4.1.1+TUX2.1.1です。
072272102/01/24 21:45ID:FB//8k1l
すいません。LinuxはRedHatの7.2です。
カーネルは2.4.9-13です。
0723名無しさん@お腹いっぱい。02/01/25 00:48ID:???
>>711
>同様にセッションでの判定もできません。

なぜ? セッションで判定できると思うのですけど。
072470202/01/25 02:37ID:???
>>706
>>713
ありがとうございます。
もうちょっと調べてやってみます。

なんか、「決定版」みたいなやり方はないっぽいですね・・・
他の人たちはどうやって処理してるんだろう?
0725名無しさん@お腹いっぱい。02/01/25 16:19ID:ZGqshGot
今 PHP+Postgres で DBを Linux上で構築してます。
そこでなんですが、HTMLからPHP、DB すべて EUCで
統一しているにもかかわらず
ネスケ475でデータを拾ってきてくれません。
ネスケ6 IE6 はちゃんと 拾ってきてくれるのですが。。。
ためしに
$word = i18n_convert($word, "EUC");
もやってみましたが、だめでした。
原因がまったくもってわからずなので
どなたか心あたりあるかたは教えてください。。。
0726名無しさん@お腹いっぱい。02/01/27 12:11ID:???
 $fp = fopen("http://www.xxx.xx/xxxx.xxxx",'r');
などで、別サーバーのファイルを取得するような場合、取得先の
サーバーには
取得元(PHPを起動した)のサーバーのHOSTとかIPが残ります。
こういう場合に、「取得した人(PHPを起動した人)」のIPを残す方法は
ないでしょうか?
わかりづらかったら、すんません。
ワンクッション置いて取得する必要があり、取得先のサーバーでは
取得者のIPを記録したいのです。
0727 02/01/27 17:28ID:???
print("A");で出力する文字列をすぐに表示するのではなく、
バッファに貯めて後から出力する方法はないでしょうか。
■ このスレッドは過去ログ倉庫に格納されています