2016-09-01 19 views
1

SugarCRMのロジックフックafter_saveまたはbefore_saveのいずれかを使用して、アップロードしたファイルを新しい場所に移動しようとしています。しかし、私はそうすることができません。親切に私のロジックフックコードを見つける:SugarCRMロジックフックで "move_uploaded_file"関数が動作しない

ここ
class attachment 
{ 
    public function attachment(&$bean, $event, $arguments) 
    {  
     if(!empty($bean->filename_new)) 
     {    
      $upload_dir = $GLOBALS['sugar_config']['upload_dir']; 

      $target_file = $upload_dir . basename($_FILES["filename_new_file"]["name"]); 

      if (move_uploaded_file($_FILES["filename_new_file"]["tmp_name"], $target_file)) 
      { 
       $GLOBALS['log']->fatal("The file has been uploaded"); 
      } 
      else 
      { 
       $GLOBALS['log']->fatal("Sorry, there was an error uploading your file."); 
      } 
     } 
    } 
} 

、私は$_FILESを印刷するとき、私は所望の出力取得しています:

Array 
(
    [name] => twitter.png 
    [type] => image/png 
    [tmp_name] => /tmp/php5wBmgK 
    [error] => 0 
    [size] => 203 
) 

今、私は、彼らはこのためのソリューションを述べた多くの記事を、見ていることにすることです正しいファイルのアクセス許可とファイルの所有権を確認してください。私はそれを試みたが、うまくいかなかった。

最後に、ファイルアクセス権やファイル所有権の問題の可能性を排除するために、私は1つのファイルアップロードスクリプトを作成し、そのスクリプトをCRM外で実行し、その時点ではmove_uploaded_file機能が正常に機能しました。

しかし、論理フックの使用で同じことを達成しようとすると、私は希望の出力を得ることができません。親切に私をここで案内します。

答えて

0

許可もご確認ください。
Rootapp/include/upload_file.phpこのファイルをチェックすると、ファイルに関するさまざまな機能が表示されます。
私はこれを使ってファイルをコピーします。
ファイルの保存場所を変更する場合は、
config.phpファイルを見ると、次のような行が表示されます。ロジックHookの

'upload_dir' => 'upload/', 

私はこのようにやったファイルをコピーするために、

$bean->file_mime_type = $result->file_mime_type; 
$bean->filename = $result->filename; 
require_once('include/upload_file.php'); 
    $uploadFile = new UploadFile(); 
    $upoad_atachment =   
     $uploadFile->duplicate_file($result->id, $bean->id) 

後、私は、添付ファイル付きのメールを取得するとき、私はその添付ファイルをコピーして保存し、私のカスタムモジュールにファイルことを挿入します。 すべての画像にはID、そのIDでアップロードされた画像名がありますので、そのIDを見つけてください。添付ファイルの情報をメモモジュールに保存してください。あなたの結果でその情報を取得し、それを他のモジュールにコピーします。

+0

こんにちは@Amitesh、私はここで少し強調しているように返信してくれてありがとう。私は許可を確認した、それは755だった。でも、私は777を与えた。しかし、依然として望ましい結果はなかった。 'upload_dir'について、私は既に上記の私のコードで言及しています。 'upload_file.php'ファイルについては、私はそれを確認しましたが、ここでは使い方を混乱させました。すでに何かを達成して、親切にコードを共有すれば、非常に役に立ちます。 –

+0

コピー電子メールの添付ファイルのコードを追加しました。あなたが有益であればupvoteし、それが解決策であれば受け入れてください。 –

+0

よろしいですか、私は確認し、できるだけ早くお知らせします。ありがとう。 –

関連する問題