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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/07/16 07:12ID:KvHeypq/
・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


抜けているものがあったら補足願います
0320nobodyさん04/07/23 13:13ID:???
常識で考えるとPHPの仕事とは思えないんですが
0321nobodyさん04/07/23 13:39ID:???
>>319
pack(), unpack() を調べてごらん。mp3 はそれで編集した。
WAV のフォーマットを聞きたいのであれば Google で。
0322nobodyさん04/07/23 13:58ID:???
>>321
どもありがとですm(_ _)mフォーマット見て弄ったら速度変えれました。
0323nobodyさん04/07/23 15:23ID:kRHOf0Jq
php5 と php4 を共存させることはできますか?
0324nobodyさん04/07/23 16:32ID:???
>>323
私も前に同じ事をやろうとしたが・・・無理だった
共存ではなくサーバーを2つ立てて各PHPを入れて転送するのがよさげ
0325nobodyさん04/07/23 16:46ID:???
>>324
1つの Apache に PHP4 と PHP5 をインストールして共存に成功したこと
はないけど、Apache を PHP4 用と PHP5 用に 2つ別ディレクトリに
インストールして別の Port 番号で PHP4 用と PHP5 用の Apache を同時に
起動させることは可能。
0326nobodyさん04/07/23 18:05ID:???
>>323
PHP5を使ってるが特に問題なさげ
ただ、PHP5で組んでいてPHP4に戻した時に何かあるかもね
0327nobodyさん04/07/24 06:05ID:4AWYwTYs
すごく初心者で申し訳ないですが、質問させて下さい。

index.phpに
readfile("./$QUERY_STRING.txt");
って書いて、index.php?aを開いたらa.txtの内容が出てくる。
index.php?bを開いたらb.txtの内容が出てくる。
ここまでは分かったんですが、例えば、index.phpを開いた時に
txtファイルの一覧&リンクを出てくるようにして、クリックしたら、
一覧があった場所にa.txtの内容を表示するようにするにはどうしたらいいんでしょうか?

リンク一覧を作ってその後にreadfile("./$QUERY_STRING.txt");を書いてみたんですが
下にずらずら繋がっちゃって見た目がよくないんです。
親切な方教えてください。お願いします。
0328nobodyさん04/07/24 06:12ID:???
親切な方はいません
0329nobodyさん04/07/24 07:05ID:???
どうしたいのかよくわかんないんだけど
if (empty($QUERY_STRING)) echo リンク一覧;
とかそういうこと?
03301704/07/24 09:53ID:???
ereg_replace("((https?://|ftp://)([0-9a-z:_?./~%;()=+#-]|&)+)","<a href='\\1' target='_blank'>\\1</a>",$sql['body']);
を
perg_replace("/((https?://|ftp://)([0-9a-z:_?./~%;()=+#-]|&)+)/","<a href='\\1' target='_blank'>\\1</a>",$sql['body']);
に置き換え(eregをpreg)たらUnknown modifierが発生するケースが出て来てしまいました
どんな文字が影響していると考えられるのでしょうか?
0331nobodyさん04/07/24 10:18ID:???
>>330
ext/pcre/php_pcre.c
マニュアルの言葉だと 内部オプション設定ってやつを処理する部分で、
内部オプションにないものを指定した時にエラーとして表示される。
どこかの「/」が邪魔してるんじゃないの?
つーか、オイラなら正規表現でエラーが出たら一文字ずつ削って動作確認するけどな
0332nobodyさん04/07/24 10:32ID:???
//送信が押された場合
if($_POST['b1']){
//エラーチェック
if(empty($_POST["main"])){
echo "何も本文が入力されていません";
exit;
//データベース書き込み
}else{
$keyday = strftime("%Y/%m/%d %H:%M:%S",time()+3600);
if(empty($_POST["name"])){
$keyname = "無題";
}else{
$keyname = $_POST["name"];
}
$keymain = $_POST["main"];
$result = pg_query("select * from kadaidb;");
$rows = pg_numrows($result);
$rows++;
$radio = '<input type="radio" name="radio" value="$rows">';
pg_query("insert into kadaidb values ('$radio','$rows','$keyday','$keyname','$keymain');");
pg_freeresult($result);
print <<<END
<H2>送信しました</H2><BR><BR>
<H3>管理番号</H3> $rows<BR><BR>
<H3>日付</H3> $keyday<BR><BR>
<H3>タイトル</H3> $keyname<BR><BR>
<H3>本文</H3><BR> $keymain
END;
}
}

ラジオボタンのvalueに$rowsが反映されるようにしたいのですが,どうすればいいのでしょうか。
0333nobodyさん04/07/24 10:51ID:???
>>332
$rowsが変数として展開されずに そのままの文字列になってるってことかい?
文字列の中に変数を置いた時に ' と " では扱いが異なってくる。
〜 value="'.$rows.'">'; にでもすりゃェェんでないの?
0334nobodyさん04/07/24 11:03ID:???
おおお!!!!
なりました。ありがとうございます。
0335 ◆JirmzAivjs 04/07/24 11:06ID:???
>>332
$radio = "<input type=\"radio\" name=\"radio\" value=\"$rows\">";
でいいじゃん。
つーかこれだと管理番号かぶるからちょっと見直した方がよくない?
0336nobodyさん04/07/24 11:16ID:???
日記一覧をラジオボタンで選択し,”削除”っていうボタンを押したら
if($_POST['del']){
$keydel = $_POST['radio'];
pg_query("delete from kadaidb where num=$keydel;");
}
を実行するようにすればいいかなっと思ったのですが,うまく動作しないみたいです…
0337nobodyさん04/07/24 11:24ID:???
>>336
Perlコーディングスレからのパクリだけど、
【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
0338nobodyさん04/07/24 11:27ID:???
>>336
なんだ唐突に。
お前は誰よ?
0339 ◆JirmzAivjs 04/07/24 11:32ID:???
自分からも質問
未だに$_GET $_POST等を使用するメリットって何ですか?
みんなよく使ってるみたいだけど。参考↓
http://php.s3.to/man/language.variables.predefined.html
http://php.s3.to/man/function.import-request-variables.html
0340nobodyさん04/07/24 11:32ID:???
332からの続きでそのまま書いてました…
335さんに対して答えてるはずだったのですが,読み直してみたら,答えになっていませんね。

んもう,試行錯誤してたら昼・・・少し寝てからまた頑張ってみます。
0341 ◆JirmzAivjs 04/07/24 11:35ID:???
>>340
スクリプト書いてたらテンパル事も
よくあるから気にしない。
336の部分はパッと見特に問題はないかと
0342nobodyさん04/07/24 11:38ID:???
>>340
元質問のレス番を名乗るかトリップぐらいつけれ
0343Imo ◆.jC7ANgFY. 04/07/24 12:05ID:???
>>339
それは$_REQUESTを使うべきではといいたいのですか?
 COOKIEと重なるから私は嫌うのですがねぇ
import_request_variablesで展開すべきだといいたいのですか?
 グローバル変数が勝手に埋められるのはあまり・・・
それとも$HTTP_GET_VARSを使うべきではといいたいのですか?
 変数名が長いからあまり・・・
はたまた$_SERVERから必死に分解すべきだといいたいのですか?
 perlと同じことしないとだめなんて・・・
これらと違うのなら何ですか?
0344550 ◆JirmzAivjs 04/07/24 12:25ID:???
>>343
フムフム、つまり
$_POST,$GET,$_COOKIE ローカルで個別に参照
$_REQUEST ローカルで全部参照したい時
$HTTP_GET_VARS 使わない
$_SERVER PHPの意味が無い
import_request_variables 引き回したい時
でおk?
0345nobodyさん04/07/24 12:39ID:???
厨質問者に厨解答者、これぞ夏の風物詩。

>>336?
もっと根本的なところでアレなのは諦めるとして、フォームでは
$cbox = "<input type=\"checkbox\" name=\"delete[]\" value=\"$rows\" />";
として、削除するコードは
if (isset($_POST['delete']) && is_array($_POST['delete']) && count($_POST['delete']) > 0) {
  $keys = array_map('intval', $_POST['delete']);
  $keys = array_uniquie($keys);
  $key = implode(', ', $keys);
  $query = "DELETE FROM ktaidb WHERE num IN ($key);";
  $result = @pg_query($query);
  /* エラーチェック省略 */
}
とした方が良いと思われ。(各関数はマニュアルで調べるべし)
>>332を見る限りではnum列をINTEGER型で定義してると思うんだけど、SERIAL型の方がいい。
あとね、いきなりDBを操作するコードを書くんじゃなしに
そのつど変数をvar_dump()して期待通りになってるかチェックしていったほうがいいよ。

>>◆JirmzAivj
何もかもだめぽ。
0346 ◆JirmzAivjs 04/07/24 12:49ID:???
>>345
あなたに言われる筋合いは無い
0347nobodyさん04/07/24 14:59ID:???
>>344
ttp://jp.php.net/manual/ja/security.php
付近を読むべきかと
0348nobodyさん04/07/24 15:16ID:???
>>345
細かいご指摘ありがとうございました。
削除コードの部分はなんとなく理解できました。
今までphpPgAdminでいちいちSQL文打って確認していましたが,var_dump()の方が数倍楽ですね。

結局寝損ねましたので,またがんばってみますm(_ _)m
0349nobodyさん04/07/24 15:45ID:???
>>347
よく分かっていないのだが、register_globalsはoffで使った方が初心者には良いってことか?
しかし、
http://php.s3.to/man/language.variables.predefined.html
これを読むと、さらに分からなくなる。誰か解説して。
0350nobodyさん04/07/24 16:04ID:???
>349
ttp://shu.sub.jp/php/tips/1.php
0351nobodyさん04/07/24 16:13ID:???
>349
ttp://www.sound-uz.jp/php/tips/security.html

Googleって便利だね。
0352nobodyさん04/07/24 17:35ID:???
よろしけば教えてください。

"00012"の"0"の部分を削除して
"12"だけを取り出したいのですが、どうしてもわかりません。
substrで取り出すにも"12"の部分の桁は変化するので・・・。

よろしくお願いします。
0353nobodyさん04/07/24 17:36ID:???
>>352
echo (int)"00012"
0354nobodyさん04/07/24 18:22ID:???
というか、register_globalsはoffが推奨されてるんじゃなかったっけ?
0355nobodyさん04/07/24 19:46ID:???
2年以上前にリリースされたPHP4.2.0からデフォルトでOffだしね。
未だにregister_globals=On前提のスクリプト書いてる香具師はマジヤバイ。
0356nobodyさん04/07/24 19:59ID:???
>>353
ありがとうございます。
うまくいきました。
すごい・・・。
0357nobodyさん04/07/24 20:19ID:???
register_globals=Onって具体的にどうやばいんでしょうか?
0358nobodyさん04/07/24 20:26ID:???
>>355
session_registerを使っているのもやばいな

>>357
マニュアル嫁
ttp://jp.php.net/manual/ja/ini.sect.data-handling.php#ini.register-globals
0359nobodyさん04/07/24 23:38ID:rcqw39Y8
現在のコネクション数(netstatでestablishedなTCPの数)を取得する方法ってありますか?
たまにそういう表示してるサイトを見かけるんで、できるようなんですが。
0360nobodyさん04/07/25 00:32ID:???
質問するのに自演したら自分が損するだけなんだがな
036126304/07/25 03:17ID:ZfezmSNL
>295
教えていただいた方法で実現できました。だたこういった2chなどの匿名の掲示板と違い無記名ではない掲示板ですので
$name[$i]($text[$i]の$iと同じ要素に格納されている部分)もいっしょにポップアップ表示させたいと思っております。
可能でしょうか?
0362nobodyさん04/07/25 03:35ID:???
>>357 日本語通じてるのか?
>>355 読め
0363nobodyさん04/07/25 03:38ID:???
>>359
netstatすればいい。
0364nobodyさん04/07/25 04:59ID:???
アホ初心者は適当なレスを絶対スルーする謎の能力を持ってるよな。
0365nobodyさん04/07/25 05:12ID:???
>>361
どうしたいのか判らんけど、
$replacement = '"<a href=\"#$1\" title=\"名前:$name[$1] 本文:$text[$1]\">&gt;$1</a>"';
じゃだめなのか?
もっと複雑なポップアップをしたいのなら、以前に言われてたけど
ブラウザに任せずJavaScriptを使うべき。

そういや>>295でサニタイズ済みなことを前程にしているのだから、$patternは
$pattern = "|&gt;([0-9]+)|e";
だったな(&の置換忘れ)
0366nobodyさん04/07/25 05:56ID:FYTamtub
PEAR使ったサイトをローカル(windows&IIS)で動かしたいんだけど、
require_once 'PEAR.php';
とかすると、バイナリ版使ってるためかソースが見つからず動作しない。
とりあえずソースだけ持ってこようと思ったんだけど、
どのソースを移せばいいのかよくわからない。
誰かたちけて。  PHP5です。
0367nobodyさん04/07/25 06:17ID:???
go_pearを実行
0368nobodyさん04/07/25 09:25ID:???
>>366
Windows版のほうはあんまり使ってなくてうろ覚えなんだけど、
php.iniでinclude_pathをC:\PHP\PEARとか、ちゃんと設定しる。
もしくはスクリプト冒頭でini_set('include_path', '.;D:\path\to\pear');とかそんな感じ。
0369nobodyさん04/07/25 14:31ID:???
関数内では関数外でグローバル変数化した変数の値は使えないのでしょうか?
global $hoge;
foo();
exit;
function foo(){
print ($hoge);
}
これは動きませんかね?
037036904/07/25 14:43ID:???
あのう、早くレスしてくれません?
これなら自分で確かめた方が早いです
037136904/07/25 15:01ID:???
分からないんですか?
普段は偉ぶってるくせに無能揃いですね。
0372nobodyさん04/07/25 15:15ID:???
ショボイ煽りをPHPであぼーんする方法はありますか?
0373nobodyさん04/07/25 16:17ID:???
   ___    クルッ…   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  / || ̄ ̄|| <⌒ヽ ))  < >>371 はてさて、
  |  ||__|| <  丿    | どこを縦に読みゃいいんだ?
  | ̄ ̄\三⊂/ ̄ ̄ ̄/  \___________
  |    | ( ./     /
0374nobodyさん04/07/25 16:27ID:???
脳内あぼーんで対処するしかないかと。
037536904/07/25 19:37ID:???
お兄ちゃんに聞いて解決しました。
うちのお兄ちゃんは大学院に行ってるからはっきり言ってお前らより上。
もう偉ぶるのやめてね
0376nobodyさん04/07/25 19:52ID:???
>>375
私のお兄ちゃんは修士過程終わった後、某研究所で働いてるんだぞ!
ハッキリ言ってお前のお兄ちゃんより上
0377nobodyさん04/07/25 20:11ID:???
>>375
妹がお兄ちゃんにおねだりするように質問してたら喜んで答えたぞ。
0378nobodyさん04/07/25 20:17ID:???
>>369
┐(´ー`)┌
夏だねえ・・
0379nobodyさん04/07/25 22:31ID:???
すみませんちとうまくいかないので質問させてください。

今入退室を付けたチャットを作ってるんです。それで、入室時に名前、時刻、IPを
name<>date<>ip<改行>name<>date<>ip<改行>
の形式でログに保存して、最近の入室履歴ってことで、最新10まで[name 時刻:data]で表示させようと思います。
以下のでやってみたのですが、何も表示されず・・・。何が問題でしょうか。

$data = file('log.log');
for($i = 0;$i > 10;$i++){
$v = split('<>', $data[i]);
echo("$v[0] 時刻:$v[1]<br>");
}
038037904/07/25 22:35ID:???
訂正です
$v = split('<>', $data[i]);
↓
$v = split('<>', $data[$i]);
0381nobodyさん04/07/25 22:45ID:???
>>379
> for($i = 0;$i > 10;$i++){
このへん。
echoの中身も表示されないし、forループに問題があることにすぐ気づかないと。
038237904/07/25 22:49ID:???
あぁぁぁぁ・・・やっちまった。
$i>10じゃ動くはずが無いと・・・。
どんなパズルもわかっちゃうと簡単すぎて笑っちゃうもんですね。

わざわざありがとうございました。
0383nobodyさん04/07/25 22:56ID:???
>>379
・var_dump($data)してみること。
・for構文を良く理解すること。
0384nobodyさん04/07/26 00:03ID:???
質問なのですが、
requireとrequire_onceはどう違うのでしょうか?
ヘルプを呼んだ限りでは、毎回読み込むか一回読み込むかの違いみたいに
書いてあったのですが、PHPはリクエストのたびにスクリプトを毎回読み込むのではないのですか?
一回しか読み込まないとはどういう動きをするのでしょうか?
0385nobodyさん04/07/26 00:28ID:???
メモリに同じデータが入ってる時は読み込まなかったりして
0386nobodyさん04/07/26 00:36ID:???
>>384
何か関数定義したファイルを2回以上require/require_onceで読み込んでみれ。
0387nobodyさん04/07/26 02:49ID:???
>>384
すでにincludeしたファイルを再び読む込むように指定した場合の挙動の違い。
例えば、読むファイルをテンプレート代わりに使う場合はinclude、
共通ユーザー関数群の定義に使う場合はinclude_onceを使うといい


下手な釣りを見て思い出したが、PHPにはユーザーによる変数の
スーパーグローバル化やラベルジャンプがないのでちょっと困ることがあるな。
あれば楽できるのに・・・と思う局面がたまにある
0388nobodyさん04/07/26 02:54ID:sMxRgzIj
教えてください。

ファイルをアップロードするスクリプトを組んでいるのですが、ファイルのサイズがある程度大きくなるとうまくいきません。
1) 651バイトの画像ファイルは正常にアップロードできました。
2) テスト用に文字列"1234567890"で埋めた 161,876バイトのテキストファイルは以下の様になります。
   type : text/plain
   size : 321880
   error: 0

実際にUPされたファイルを見てみると
先頭に1,260バイト分 "1234567890"が入っていて次に

-----------------------------7d420b560c66
Content-Disposition: form-data; name="upfile"; filename="クライアント側のファイル名"
Content-Type: text/plain\r\n\r\n

その後最後まで"1234567890"が入っているようです。
(その後の部分は多いのでざっと目視しただけですが、少なくともodでダンプ取った範囲では 1164520=321,872まではデータが埋まってました)

環境は RedhatLinux9.0 PHP-4.2.2 Apache2.0.40 で
file_uploadsはOn
upload_max_filesizeは1M
に設定してあります。



同じスクリプトを別サーバにて動作させると正常に作動するのでどうにも原因がわからないです。
怪しそうな所をお教えください。

ちなみに動作するサーバでも似たような構成で動かしています。
RedhatLinux9.0 PHP-4.2.2-17(SRPMからMB_STRINGをONにして自分でコンパイルした)+ Apache2.0.40 です。
038938804/07/26 04:29ID:sMxRgzIj
追記です。

試にうまく動作している方のサーバから自分でビルドしたPHPのパッケージを動作していないサーバにFTPしてインストールしてみました。
php.iniもコピーしました。

結果は以前と同じでサイズが倍ほどに膨れます。

PHPの問題ではないみたいですね。
訳がわからなくなってきました。。
0390nobodyさん04/07/26 05:49ID:IOiIX+Fr
自分や他の人が持っているdocomo携帯からでは問題なく見られる掲示板が
vodafoneからだと見られないという報告を受けました。文字コードとうで
何か気をつけるべきことがあるのでしょうか?詳しい方教えてください。
0391nobodyさん04/07/26 05:49ID:???
お約束のApache(PHPのではない)のPOSTデータの限度設定の確認はした?
POSTメソッドを使ったアップロードでFAQ的なところだけど。
0392nobodyさん04/07/26 07:40ID:???
>>387
変数のスーパーグローバル化というのは global で宣言したり $GLOBALS を
使えばできると思うのだが・・・。
0393nobodyさん04/07/26 09:23ID:zfZRDkJ9
phpのなかで、fopen/fwriteでファイル書き出しをしたいのですが、通常だったら、
ファイルのオーナーがapacheの実行オーナー(nobodyさん)になってしまいます。
これを、自分のアカウントがオーナーにしたいです。
また、ファイルの内容は変更することがあるので、その時には、ファイルのオーナーを
nobody さんに戻せないといけません。

よろしくおながいします。
0394nobodyさん04/07/26 09:38ID:???
>>390
auから見てる人はあっち。vodafoneから見てる人はこっち。
とか携帯の仕様を元に振り分けるとか
0395nobodyさん04/07/26 11:18ID:BnaAbQE9
""の中で、
変数$foo['hoge'][$bar['huga']]を表記するにはどうすればいいですか?

単に、${foo['hoge'][$bar['huga']]}では

Parse error: parse error, expecting `'}''
となります。
0396nobodyさん04/07/26 11:20ID:???
>>395
{$foo['hoge'][$bar['huga']]}

${hoge}じゃなくて{$hoge}を使えばいい。
0397nobodyさん04/07/26 11:23ID:BnaAbQE9
>>396
ありがとうございます。解決しました。
{$hoge[]}と${hoge[]}の文法的な違いってなんですか?
0398nobodyさん04/07/26 11:32ID:zfZRDkJ9
>>394
vodafoneのキャッシュ制限にひっかかってない?
非パケ端末は1ページ6kbyte以下ですよ。
0399nobodyさん04/07/26 11:32ID:???
>>397
マニュアルを読みましょう。「変数のパース」以下を読んでみて下さい。
http://www.php.net/manual/ja/language.types.string.php
0400nobodyさん04/07/26 11:57ID:???
>>392
まあ、一々宣言すればいいんだけど、$PHP_SELF位は
スーパーグローバルに登録された方が楽かな・・・とは思うもんで。
それともこういう書き方は(・A ・)イクナイ?
0401nobodyさん04/07/26 13:06ID:U4MCK2zg
質問させてください!

1:タイムスタンプ名のディレクトリをumask設定してから作成
(他のサイトでumaskしたらいいと書かれていました)
$oldmask = umask(0);
$dir = mkdir($timestamp,0777);
umask($oldmask);

2:そのディレクトリに画像をアップ
3:$name = $dir."/1.jpg";

これでechoで$nameを出力させるときちんとjpg名が出力されるのですが、
is_file($name)等でファイルの存在を調べると、falseが返ってきます。
これはなぜなのでしょうか?知ってる方お願いします。
0402nobodyさん04/07/26 13:20ID:???
ディレクトリは出来たけど、画像はアップロードできてないだけじゃねーの( ´-`)
アップロード処理の例外処理とかちゃんとしてる?
0403nobodyさん04/07/26 13:24ID:???
>>401
$dirに何が入ってるか見てみ
0404nobodyさん04/07/26 14:17ID:???
[PHP-users 22798]
Windowsではできてると言っているのに、、、
「Macでは試験したことが無いですが、Windows限定でよければ。」ってアフォか
0405nobodyさん04/07/26 14:24ID:???
>>404
そういうおもしろいのは↓へどうぞ
http://pc5.2ch.net/test/read.cgi/php/1090322290/
0406nobodyさん04/07/26 14:29ID:???
誤爆スマソ
040740104/07/26 14:42ID:U4MCK2zg
>>402-403

$nameを出力すると「123456789/1.jpg」みたいになります。

<img src=$name>
はきちんと画像が表示されます。画像はアップされています。FTPでも画像の存在を確認できます。
でもis_file($name)はfalseが返ってくるんです。

is_file("123456789/1.jpg") で確認するとTRUEなのですが、is_file($name)はFALSEなんです。
0408nobodyさん04/07/26 15:07ID:???
フルパスで
040940104/07/26 15:26ID:???
>>408
フルパスでも無理でした。
mkdirで作成したディレクトリにあるファイルをis_fileで調べた場合FALSEを返すのでしょうか?
is_dir($dir)もFALSEでした。
※$dirにはmkdirで作成したディレクトリ名(フルパス)
0410nobodyさん04/07/26 15:32ID:???
file_existsでも同じ?
0411nobodyさん04/07/26 15:34ID:4tJVtMce
質問です。
htmlspecialcharsを使うと♥等の文字実体参照ができなくなってしまうのですが、
対処方法はあるのでしょうか。
&amp;を全て&に変換してから表示させれば実現できることを確認しましたが
それだとhtmlspecialcharsの意味が無くなるし・・
よろしくおながいします。
041240104/07/26 15:42ID:???
>>410
はい・・・file_existsもfilesizeも、mkdirで作成したディレクトリを含めその中にあるファイルの情報を
得ようとするとFALSEなんです。

if ( file_exists ( $name ) ) //FALSE

print "<img src='".$name."'>";//アップした画像が表示される

041338804/07/26 15:42ID:sMxRgzIj
>391
アドバイス有難うございます。

ApacheのPOSTデータの限度設定とはPHPのマニュアルサイトのUser Contributedにのっかっている
LimitRequestBodyのことでしょうか?

そちらを2Mで試してみていますがうまくいかないです。
0414nobodyさん04/07/26 15:42ID:???
独自のモジュール作ればヨシ!
0415nobodyさん04/07/26 15:45ID:???
>>401
ディレクトリと画像ファイルのパーミッションどうなってる?
041640104/07/26 16:14ID:???
>>415
ディレクトリは777、その中の画像は644です
0417nobodyさん04/07/26 16:27ID:???
>>413
そうそれ(うろ覚えでスマンね)。
現象が違う(倍に膨れる/該当するエラーが出てない)ので
違うとは思ったが、やっぱり関係ないね。

入ってるデータ見てるとWebクライアント自体がデータをマルチパート化して
その両方の形式とも送ってるみたい。使ってるのはIE?
別のWebクラインアントで試すか、送信データをキャプチャして見てみるのが良いかも。
0418nobodyさん04/07/26 16:41ID:???
>>401
やはりポカミスな気がする
is_file($name)の$name当たりを見直してみると良いかも
0419nobodyさん04/07/26 17:02ID:???
俺もポカミスのような気がするなぁ…。
■ このスレッドは過去ログ倉庫に格納されています