2016-06-21 6 views
-1

イメージを別のパスにコピーする必要があります。ここでPHPコピー機能がJoomlaで動作しない

が私のコードです:JFile native Joomla Classを使用する

$sourspath = JUri::root().'media/truematrimony/profiles/pending/'.$totbookmar.''; 

$descpath = JUri::root().'media/truematrimony/profiles/kmprofile/'.$totbookmar.''; 

$status = copy($sourspath, $descpath) or die("Could not copy file contents"); 

+2

幸運。何か問題があれば( 'var_dump($ sourspath、$ descpath)'は間違ったパスを表示するか 'copy()'は 'false'を返すか警告を表示します。 –

+0

文字列(88) "http://temsqpp.com/media/matsts/profiles/pending/watermark-K34691_pho_1.png" 文字列(90) "http://temsqpp.com/media/matsts/profiles/profils/ watermark-K34691_pho_1.png "ファイルの内容をコピーできませんでした –

+0

私たちはあなたの肩にあなたのモニターを覗いたり、コメントで大量のコードを読んだり読めないことを考慮してください。スクリプトが "ファイルの内容をコピーできませんでした"と表示すると、 'copy()'が 'false'を返したことを意味します。最も可能性の高い理由は、ファイルパスが間違っていることです。相対パスの使用は常に危険です。 –

答えて

0

私の推測(Iをされて確認してくださいJoomlaについて何も知らない)は、JUriがURLを操作するためのヘルパークラスであるということです。これがあなたの意図ならば、パスにhttp://という接頭辞がないため、間違って使用しています。しかし、私はあなたが実際にネットワークを介してファイルをコピーしたいとは思っていません(とにかくHTTPラッパーは読み取り専用です)。 URLではなく、ファイルシステムパスを使用する必要があります。あなたは絶対パスを構築することができますので、Joomlaはいくつかのパス関連のconstantsを持っているようです。

0

試してみてください。

$sourspath = JUri::root().'media/truematrimony/profiles/pending/'.$totbookmar.''; 

$descpath = JUri::root().'media/truematrimony/profiles/kmprofile/'.$totbookmar.''; 

$status = JFile::copy($sourspath, $descpath) or die("Could not copy file contents"); 

編集:

コピー機能の前に書き込むようにフォルダのアクセス許可を設定するようにしてください電話:

chmod($descpath, 0644); 

そして、それはまだ動作しない場合は、お使いの一時フォルダが正しくグローバルコンフィギュレーションで設定(と、それはまた、中に書くために適切な権限を持っている)

+0

それは働いていません。 –

+0

それから、問題は '$ descpath'フォルダのアクセス権から来るかもしれません。 –

+0

フォルダのアクセス許可0755両方のフォルダ –

関連する問題