[Tep-j-general] Re: 画像パスがうまく更新・新規登録できない

Back to archive index

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





Tep-j-general メーリングリストの案内
Back to archive index