ファイルのアップロードで勝手にファイル名が・・

ユーザーさんによるシステムの不具合報告です。できるだけ状況を詳しくご報告ください。

モデレータ: webmaster

返信
Noharasson
記事: 2
登録日時: 2006年11月22日(水) 14:12

ファイルのアップロードで勝手にファイル名が・・

投稿記事 by Noharasson » 2006年11月22日(水) 14:27

Noharassonこと野原の子と申しますよろしくお願いします。
ファイル(画像・他ファイル)のアップロードをすると、アップロードはされるのですがファイル名が自動的に変更されてしまいます、しかし生成されたPHPには正しいファイル名(アップロード時のファイル名)が反映されています。

例)
Sample_image_small.jpg をアップロードすると
test.00003.00000001.jpg というファイル名になってしまいます。
このファイル名はおそらく
|コンテンツフォルダ名|エントリーカウント|アップロードファイルナンバー|.拡張子|
という風になっているみたいです。

アドバイスお願いします。


スキーマーとデザインのコードを以下に記します。
-----スキーマ定義<test.schema.xml>-----ここから----------
<?xml version="1.0" encoding="UTF-8"?><schema name="test" caption="スキーマーのテスト" ><data name="test01" type="text" caption="1行テキスト(text)" /><data name="test02" type="textarea" caption="テキストエリア(textarea)" /><data name="test03" type="int" caption="整数入力(int)" /><data name="test04" type="menu" caption="メニュー(menu)"> <menuitem id="1">中華</menuitem> <menuitem id="2">ラーメン</menuitem> <menuitem id="3">和食</menuitem> <menuitem id="4">洋食</menuitem> <menuitem id="5">スイーツ</menuitem></data> <data name="test05" type="img" caption="イメージ(img)" /> <data name="test06" type="file" caption="ファイル(file)" /> <data name="test07" type="date" caption="日付(date)" /> <data name="test08" type="time" caption="時間(time)" /> <data name="test09" type="datetime" caption="日付時間(datetime)" /> <data name="test10" type="year" caption="年(year)" /> <data name="test11" type="month" caption="月(month)" /> <data name="test12" type="list" caption="リスト(list)"> <listitem caption="Photos experience"> <data name="phototitle" type="text" caption="画像のタイトル" /> </listitem> </data> <data name="test13" type="separator" caption="区切り線(separator)" /></schema>
-----ここまで--------------------------


-----デザイン定義<test.default.design.xsl>-----ここから----------
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="EUC-JP" omit-xml-declaration="yes" />
<xsl:template match="/entry">
<xsl:value-of select="test01" /><br/>
<xsl:value-of select="test02" /><br/>
<xsl:value-of select="test03" /><br/>
</xsl:template>
<xsl:if test="test04='1'">中華<br/></xsl:if>
<xsl:if test="test04='2'">ラーメン<br/></xsl:if>
<xsl:if test="test04='3'">和食<br/></xsl:if>
<xsl:if test="test04='4'">洋食<br/></xsl:if>
<img src="{test05}" alt="{test05/@alt}"/><br/>
<a href="{test06}"><xsl:value-of select="test06/@org"/></a><br/>
<xsl:value-of select="test07" /><br/>
<xsl:value-of select="test08" /><br/>
<xsl:value-of select="test09" /><br/>
<xsl:value-of select="test10" /><br/>
<xsl:value-of select="test11" /><br/>
<table>
<xsl:for-each select="photolist/listitem">
<tr>
<td><xsl;value-of select="phototitle" /></td>
</tr>
</xsl:for-each>
</table><br/>
<xsl:if test="test04='5'">スイーツ<br/></xsl:if>
</xsl:stylesheet>
-----ここまで----------

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: ファイルのアップロードで勝手にファイル名が・・

投稿記事 by webmaster » 2006年11月23日(木) 17:45

 nuharassonさん、ご連絡ありがとうございます。webmasterです。

 この動作はCMSDの仕様の通りで、内部的なファイル管理を簡便にする為に
このようになっております。
 例えばそのままのファイル名でアップロードしてしまいますと、別エントリで
同じファイル名でアップロードした場合に、前のファイルを上書きしてしまう
というような事が起こってしまいます。そのようなことを回避する為の手段でも
あります。

 この仕様について何か困ったことがあるものと推察致しますが、よろしければ
ご連絡頂ければ、何か対処法を検討することができるかもしれません。

 以上、お手数とは思いますがよろしくお願い致します。

Noharasson
記事: 2
登録日時: 2006年11月22日(水) 14:12

返答ありがとうございます、しかし・・

投稿記事 by Noharasson » 2006年11月24日(金) 10:49

ご返答ありがとうございます。
通常の動作だったみたいですが、問題はリンク切れがおきることです。
通常のPHP(./cmsdesigner/manager.php)のソースの方ではアップロードしたファイル名が書かれているので、画像リンク切れ、ファイルへのリンク切れを起こしています。

どうすればリンク切れがおきないでしょうか?

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: 返答ありがとうございます、しかし・・

投稿記事 by webmaster » 2006年11月24日(金) 11:42

 noharassonさん、お返事ありがとうございます。

 画像とファイルへのリンク切れが起きているとのことで、もう一度デザイン定義を見直して
みましたが、特に問題はなさそうです。
 ひょっとすると、埋め込み先のページ(*.php)が、トップ階層直下以外になってはいない
でしょうか…。

 埋め込み先のページは、

 http://www.example.test/nikki.php

 のようにトップ階層直下に設置して頂く必要があり、

 http://www.example.test/nikki/nikki.php

 のように階層を作って設置した場合、リンク切れになると思います。
 基本的にCMS Designerが生成するリンクは、そのページがトップ階層直下に配置
されている事を前提にしている為、ユーザー様の方でリンクを調整して頂く必要があります。

 上記の場合ですと、画像やファイルのリンクについては、

<a href="{test06}">

 の部分を

<a href="../{test06}">

 のようにして頂く事で、パスが通るようになります。

 この辺、非常に分かりにくくご面倒をおかけしていると思います。m(__)m

 以上、またはずしているかもしれませんので、もしそういうことではなかった場合には、
お手数ですが「リンク切れになる」URLを(ドメイン部分は***などでぼかして)引用して
頂けないでしょうか。
 単純にCMSDの不具合の可能性もあるかもしれません。

 以上、いろいろとご迷惑をおかけしており申し訳ありませんがよろしくお願い致します。

返信