2012-06-19 59 views
0

我想上傳drupal7中的文件,但圖像名稱是白色的。如果我使用在Drupal 7中以編程方式將文件附加到節點,但文件名爲空?

$_FILES['files']['tmp_name']['app_icon'] 

然後上傳的文件是.tmp formate。有沒有人可以指導我?

  $file_path = drupal_realpath($_FILES['files']['name']['app_icon']); 
      $file = (object) array(
         'uid' => 1, 
         'uri' => $file_path, 
         'filemime' => file_get_mimetype($filepath), 
         'status' => 1,       
      ); 

      $file = file_copy($file, 'public://app-icons');    
      $node->field_application_icon[LANGUAGE_NONE][0] = (array)$file; 
+0

我發現很多例子,$ file_path = drupal_realpath($ _ FILES ['files'] ['name'] ['app_icon']) ;根本不存在靜態路徑,如$ file_path = drupal_realpath(「myimg.jpg」);在上傳新文件的過程中,我們如何做到這一點? - – Aamir

回答

0

您是否檢查過公共文件夾是否已完成此副本? &文件表中的條目應該顯示附件與您的節點..

+0

如果我使用 $ file_path = drupal_realpath($ _ FILES ['files'] ['tmp_name'] ['app_icon']); 然後它會上傳一個tmp文件,在公共文件夾中,如果使用的話 $ file_path = drupal_realpath($ _ FILES ['files'] ['name'] ['app_icon']); 然後文件路徑是空白的... – Aamir

+0

我沒有明白你的觀點。您正在使用file_copy將文件複製到目標。從函數file_directory_path()獲取當前的目標路徑。然後創建一個路徑名稱,如 - $ path = $ dest。'/'。$ filename;然後使用file_copy通過file_copy($ file,$ dest)將文件複製到該位置,並在需要的地方插入$ path到DB ...這就是我所知道的:) –

+0

$ file = file_copy($ file,'public :// APP-圖標); 第一個是源路徑,第二個是目標,源路徑是空的。 [field_application_icon] =>數組 ( [UND] =>數組 ( [0] =>數組 ( [0] => ) ) ) – Aamir

相關問題