Margy Mutoh
margy****@roseb*****
2004年 10月 20日 (水) 08:48:04 JST
Sachikoさん、こんにちは。Margyです。 > PHPのバージョンが 4.3.9になってました。 とりあえずこれで原因はわかったとして・・・ やっぱりそうでしたか。原因わかってよかったですね。(^^) > http://lists.sourceforge.jp/mailman/archives/tep-j-general/2004-October/002934.html > 上記のスレッドで出ている > > /admin/categories.phpに 「ありそうにない文字列をスラッシュ(/)に置換する」 処理パッチ > しておくという方法があるとありますが、初心者の私には、この意味がまたわからないので > すが・・・・ これは私もわかりません。m(_ _)m …と言っていても先へ進めないので(^_^;、phpのマニュアルと首っ引きで /admin/categories.phpをいじってみました。(汗) はまださんが言われているのは、例えば「@@@」といった、普通はファイル 名にまず使わないであろう文字列を、あとで変換することを前提に仮に 入れておいて、これを画像名をMySqlへ挿入する際にスラッシュに変換する、 ということだと思います。 直接「/」を入力するとphpにダメッと言われてしまうので、「スラッシュ は使ってないよ〜」といいつつ、後ですり替える…と。 ということで、試行錯誤の末、 /admin/categories.php 493行めあたり $products_image = tep_get_uploaded_file('products_image'); ここを、 $products_image = preg_replace("/@@@/", "/", tep_get_uploaded_file('products_image')); …としたら、うまく動くようになりました。 プログラム的にOKなのかまずいことなのか、わからないのが不安ですが…。 あと、images/****/xxxxxx.jpgといったimages以下1階層は動作確認しま したが、さらに階層が深い場合(images/****/++++/xxxxxx.jpg…など)に 正しく動作するかどうかは未確認です。 あとはお詳しい方のアドバイスを待ちたいと思います。 よろしくお願いいたします。m(_ _)m Margy Mutoh