【PHP】質問スレッドpart24【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/01 04:09:15ID:???・新規質問の方は上げてください。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
0075nobodyさん
04/11/01 18:50:17ID:???こんな感じにするしかないんじゃないかな……
<?php
function getRemoteFile( $file, $timeout = 10 ){
while( ($s = @file_get_contents($file)) === false ){
if(--$timeout <= 0) return false; // PHP5でOOPならここで例外を投げる
sleep(1);
}
return $s;
}
?>
0078nobodyさん
04/11/01 19:32:47ID:???サーバ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
です。何か初歩的なところを見落としてるでしょうか……?
0080nobodyさん
04/11/01 19:36:54ID:???0084nobodyさん
04/11/01 19:47:37ID:???テンプレないのに何でこう同じようなレスが出来るんだろうなw
>>80
斬新な釣りでも思いついたら教えてくれ
0085nobodyさん
04/11/01 19:49:57ID:???プッ
それってコピペだろ。
長文書き込んで頭いいように見せかけたつもりだろうけど、
空気読んでないからバレバレなんだよ
ゲラゲラ
0086nobodyさん
04/11/01 19:53:12ID:???0087nobodyさん
04/11/01 19:55:29ID:Qp2szwoVなんとなかるよ。
0088nobodyさん
04/11/01 19:57:45ID:???. _...,,o‐y ,:'- '⌒ ⌒ヽ. `ヽ' ,
(o( ,' / / 、 `ヾ. ヾ,
,:'´//7,' ,' .,' ,:' ! } i !', ':, ':, ゙:,
,' / ,' {l. ! {/ ,イ / }| !|', !. ', ', ゙,
ハ〃 ! !| | | ∠/ ,:'-ノ} /リ l ,ム. ! } |!
ハヽ、ゝ!| l | ,:',;='ィ'、'´ ,'.ノ ノ.,;lノ=、l .,' ,' ,' ノ
{ l l ', |'ヲi(_ノ.} ´ i(ノ.}゙!ノ,:',:''´
', h. ', ',゙、 ':゙゙_.ノ. ':゙_ノ〃ン
':, { ',', ':,':, 丶 ,' l .}
ヾ ':,':, ':ヾ、._ 「´/ ,' | .,' / ̄ ̄ ̄ ̄ ̄ ̄
`ヾ-、`ヽ_ `´ _,.ィリ.ノ ,' < 絶対大丈夫だよ!
リ';',ヾ| ` ‐┬ ´ _ノノ,'/ \______
ヾ,、-- 、 _ | ´ノ'
f ヾ、..___ ヽ、 ー‐''
/_......_ \
0089nobodyさん
04/11/01 23:59:13ID:7Z9dzjumPHPでフォルダ以下のファイルを配列に入れて簡単に操作できるように
使用としているのですが、いろいろ調べていたら
「PEAR File/Find.php」
というフォルダ配下のファイルを検索するクラスがあるということを知ったのですが、
これは、これはいったい何なのでしょうか?
モジュールでしょうか?それとも、Find.phpというソースがどこかにあるとか、
「PEAR File/Find.php」そのものについて知りたいのですが、どこかよいサイト、
または、教えていただける方がいらしたらお願いします。
PHPは右も左もわからず闇雲にソースを書いている段階なので、
突っ込んだ質問は許してください。
0090カポコン
04/11/02 00:37:07ID:???0091nobodyさん
04/11/02 00:42:40ID:???0092nobodyさん
04/11/02 00:47:02ID:???ここを見れば分かる
009378
04/11/02 03:03:28ID:???エラーはでません。
$_SERVER['PHP_SELF']で同じスクリプトに戻ってくるようにして、
$_FILESの存在で動作を切り替えてあるので、
最初と同じフォームが表示されるだけです。
エラーメッセージか何か出るほうがまだ対処のしようもありそうなものですが、
$_FILES["userfile"]自体が設定されてこないってのは……
009678
04/11/02 10:33:53ID:???連想配列$_FILES自体が存在していないんです。
じゃあPOSTできてないのか?というとそうではなくて、
$_POSTと$_RESPONSEにMAX_FILE_SIZEが入ってます。
phpinfo()のPHP Variablesにリストされないという勢いなので、
間違えて上書きしているとかそういうケアレスミスでも無いと思うのですが……
0098nobodyさん
04/11/02 12:11:45ID:IRAW9bdbこれを数字部分でsortするにはどうしたらいいですか?
sort_numericと言うのをやってみたのですがうまく行きませんでした。
PHP4.3.3です。お願いします。
0099nobodyさん
04/11/02 12:32:37ID:???とりあえず
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";
}
?>
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:???0105nobodyさん
04/11/02 13:00:05ID:???かなり君の解析は見当違い。
ほぼFlashの機能で実現してるだけ。
1)動画を即座にFlashに落とす(落とすってのがまず間違いだが。
動画再生用Flashを作成。
Flashに動画のパスをつけたURLを生成すれば完成。(***.swf?file=***.mpg)
2)著作権表示
動画再生用Flashに組み込んでるだけ。
0108nobodyさん
04/11/02 13:25:20ID:???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:???Soundとjpegのバイナリデータ、その容量、ID番号の置換を繰り返すだけでいいからMingもいらないよ
0112nobodyさん
04/11/02 14:45:31ID:???011378
04/11/02 15:01:55ID:???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:○
お手上げです……
011578
04/11/02 15:27:56ID:???もちろんやってます。
phpinfo()の表示でOffからOnに変わったのを確認もしています。
0116nobodyさん
04/11/02 15:55:10ID:???011778
04/11/02 16:12:29ID:???情報が小出しになってしまうのはよくないと思うのでソース貼ります。
サーバ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>
011878
04/11/02 16:17:30ID:???Netscape7.1
Mozilla Firefox 1.0RC
Internet Explorer 6.0.2800
0119nobodyさん
04/11/02 16:31:40ID:09F3GGP8ttp://xxx/xxx.php?xxx
のように.phpの後に?xxxとつけるためにはどうすればいいのですか?
htmlのページから飛んだときとかに?以降をつけたいのです
0120nobodyさん
04/11/02 16:33:24ID:???0121nobodyさん
04/11/02 16:35:47ID:???【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/l50
0122nobodyさん
04/11/02 17:23:44ID:???やってみたひと詳細教えて。
0124122
04/11/02 17:50:20ID:???⊂⌒( TεT;) 読んでも分からん。
`ヽ_っ⌒/⌒c
0125あぼーん
NGNG0126nobodyさん
04/11/02 17:57:17ID:???⊂⌒( ・∀・) おまえも氏ね
`ヽ_っ⌒/⌒c
0128nobodyさん
04/11/02 21:41:19ID:QiT/le0dphpの中にインナーフレームを埋め込みそこへhtmlを読み込んで、
targetで中身を書き換えるようにしているのですが、
インナーフレームの中のhtmlファイルが変わったときに
そのhtmlファイルが存在するディレクトリ名を取得して、
そこまでのルートをリンクとして、表示させたいのですが、
手法がわからず困っています。
なにとぞ、お知恵をお貸しください。
また、こういうことを解説しているHPや、ヒントになりそうなHPの
情報もいただければと思います・
よろしくお願いいたします。
0129nobodyさん
04/11/02 21:59:15ID:???>そこまでの"ルートをリンクとして、表示"させたいのですが、
"ルートをリンクとして、表示"というのが、具体的にどういうことなのか分からないのですが。
0130nobodyさん
04/11/02 22:03:13ID:???0131nobodyさん
04/11/02 22:53:22ID:???http://pc5.2ch.net/test/read.cgi/php/1096965398/961
内容が同じ。
htmlでいいからサンプルを出せ。
0133nobodyさん
04/11/03 12:37:17ID:???$_FILES['userfile']['name']は空でも
$_FILES['userfile']['error']はsetされてるかもよ
0134nobodyさん
04/11/03 13:41:46ID:???$_FILES 自体が無いみたいよ?
013578
04/11/03 14:43:14ID:???そうです。セットされていたらコメントアウトしてある
phpinfo()の時点でリストされるはずですよね。
0136nobodyさん
04/11/03 15:23:02ID:???0140128
04/11/03 16:35:49ID:lSNB2eWkhttp://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:???0142131
04/11/03 16:48:43ID:lSNB2eWkmain.phpのソースです。
http://www.uploda.org/file/uporg15147.jpg
jpgにしました。
よろしくお願いいたします。
0143nobodyさん
04/11/03 16:50:18ID:???0144131
04/11/03 16:53:04ID:lSNB2eWkhttp://www.uploda.org/file/uporg15149.jpg
index.phpもjpgにしました。
よろしくお願いいたします。
0146nobodyさん
04/11/03 17:05:31ID:???^^この&ってどういう利点があるの?
0147nobodyさん
04/11/03 17:08:02ID:???<a href="〜.html" target="main">iframe内書き換え その1</a>
のように静的ファイル(html)を呼び出そうとしているなら無理だよ。
そこにPHPの介在する余地は無い。
サンプルが無いので したいらしい事を適当に想像するに、
iframeを含むページ自体を毎回書き直す方法が良いと思われ。
>>146
気にしたら負けと思われ
0148131
04/11/03 17:24:29ID:lSNB2eWkご指摘のとおりです。htmlを呼び出しているだけです。
iframeを含むページ自体を書き換えるとするとどのような
処理が必要になるのでしょうか?
リンク先をクリックした情報を取得して、index.phpを書き換えるということでしょうか?
クリックしたということを取得するにはセッション情報が必要になるのでしょうか?
やりたいことはわかるのですが、何が必要で、どう処理すればよいのかわからず困っています。
どうそ、お知恵をお貸しください。
よろしくお願いいたします。
0149131
04/11/03 17:30:02ID:lSNB2eWk実は、わかっていないです。
サンプル等見ながら作成していたので、そのまま利用しています。
ディレクトリ名をメニューにして、iframe内のhtmlまでのディレクトリの階層
を「index >> 階層1 >>階層2」と表示できればページの管理が楽になるなと
思い作成を始めました。だったら、xmlで書けといわれそうなのですが、それだと、
かなり時間がかかると思い、できる限り簡単に短時間に作成できるように考えました。
自分の知識から考えると、これがベターかなと思って作成しています。
0150nobodyさん
04/11/03 17:38:28ID:???0151nobodyさん
04/11/03 17:55:47ID:???動的にやる意味がない気がする。
ファイル数が不定期に増減して、ファイル名もランダムに変わるというなら意味ありそうだけど
ファイル数は一定でファイル名も固定なのであれば、何かスクリプトを書いてそれを使って
静的なhtmlを書いてしまえば、いいと思う。
んで、ファイル数が著しく増えたらもう一回スクリプトを走らせる、と。
0152nobodyさん
04/11/03 17:59:09ID:???0153nobodyさん
04/11/03 18:07:56ID:???俺もやったことあるけど、151の言う通りだと思う。
0154nobodyさん
04/11/03 18:12:37ID:???0155131
04/11/03 18:14:10ID:lSNB2eWkディレクトリも、htmlファイルもランダムに変わります。
>152
の言う通りHPの管理を楽にするためです。
>153
どういう手法なのかお教え願えないでしょうか?
お願いいたします。
0156131
04/11/03 19:11:19ID:lSNB2eWk何を激しく思うのでしょうか???
0157nobodyさん
04/11/03 19:18:08ID:???$result = mb_substr($text, 0, mb_strpos($text, "\r\n"));
if (!$result) $result = mb_substr($text, 0, mb_strpos($text, "\r"));
if (!$result) $result = mb_substr($text, 0, mb_strpos($text, "\n"));
if (!$result) $result = $text;
こんな風になってしまいました。。
もっとスマートに書く方法はありませんか?
0158nobodyさん
04/11/03 19:56:01ID:???list($result) = explode("\n",$test);
0159131
04/11/03 21:26:46ID:lSNB2eWkindex.phpのリンク先をどこか別のところに書き出し、
さらに、index.phpを再度読みiframe.php内に書き換えたiframe.phpを
書き出せばよいのでしょうか?
こうするには、何が必要になるのでしょうか?
クリック情報を得るには何が必要でしょうか?
0160nobodyさん
04/11/03 21:48:55ID:???iframeとかいってる時点でスレ違いなんだよ
0161nobodyさん
04/11/03 23:19:09ID:???1回 addslashes して投稿した本文は
2回 addslashes した検索キーじゃないと同じようにマッチしないんですか?
データは MySQL に入れているのですが……。
list($result) = explode("\n", $text, 2);
0165nobodyさん
04/11/04 03:33:48ID:???0166161
04/11/04 05:37:04ID:???>>163
何回も試しましたが、やはり>161のようになってしまいます。
これは常識なのでしょうか……できれば何故そうなるのかも理解したいです。
>>164
試したところ、やはり結果は同じでした。
0168nobodyさん
04/11/04 05:45:01ID:???範囲を教えてください
mb_ereg使って正規表現すればいい?
0169161
04/11/04 07:12:33ID:???magic_quotes は Off です。phpinfo() で確認しました。
また、このようなフィルタを使っています。
function safe($text) {
if (get_magic_quotes_gpc()) $text = stripslashes($text);
$text = trim(htmlspecialchars($text));
$text = mysql_real_escape_string($text);
return $text;
}
これを使って例えば \n でそれぞれ投稿、検索すると
insert into テーブル (本文) values ("\\n")
select * from テーブル where 本文 like "%\\n%"
と、このように SQL を作成して送信します。
このとき、上の行はきちんと \n と入力されるのですが、
下の行では改行にヒットしてほぼ全てのレコードを拾ってきてしまうのです。
上を書いた上で気付いたのですが、
本文 like "%\\n%" ではなく 本文 = "\\n" とすればきちんと \n にヒットするようです。
(本文が \n だけの場合は改行は含まれないので、確認できました)
MySQL 側の問題のような気がしてきました……。
0171nobodyさん
04/11/04 08:45:28ID:???お前こそlist()を理解してるのか?と問いたいわけだが。
>>168
ここを読むといい。
http://www.din.or.jp/~ohzaki/perl.htm
preg_match()ならperl互換だからほとんどそのまま使える。
0174170
04/11/04 10:12:37ID:???■ このスレッドは過去ログ倉庫に格納されています