2013-10-03 90 views
0

因此,這裏的故事,即時通訊不是很有經驗的PHP,最近搬到一個新的主機,我的網站在舊主機上工作正常,但在新的主機上有錯誤碼。複製()函數/文件權限問題

錯誤消息說:

Warning: copy() [function.copy]: Unable to access http://i.imgur.com/USlH6p2.jpg in (directory) 

繼承人的地方說,有一個錯誤

function upload_image_remote($image, $name) { 
    $upload_dir = APP_PATH . '/image.uploads'; 
    //check for directory rights 
    if(!is_writable($upload_dir)) { 
     echo do_error(_('Folder image.uploads is not writeable')); 
     exit; 
    } 

    //check if there's a directory for today uploads 
    $today = date("d-m-Y"); 

    if(!is_dir($upload_dir .'/' . $today)) { 
     if(!mkdir($upload_dir .'/' . $today, 0777)) { 
      echo do_error(_(sprintf('Folder <strong>image.uploads/%s</strong> could not be created. Please check permissions to be 0777.', $today))); 
      exit; 
     } 
    } 

    $upload_path = $upload_dir .'/' . $today; 

    (--> this is where) return copy($image, $upload_path .'/'. $name); 

}

我認爲它可能是一個權限問題,因爲它的工作完美碼(老主機)000webhost,任何人有什麼想法可能是錯誤的代碼?

感謝

+0

是'$ image'你的src文件路徑嗎?檢查你的src的權限文件夾。如果它允許讀/寫 –

回答

0
  • 給文件夾權限的臨時文件夾的文件 系統0755設置正確的路徑。
1

猜測將是複印功能正在試圖訪問遠程文件,不能由於PHP設置。

我想大多數託管公司,出於安全原因,將有allow_url_fopen = 0。這意味着您將無法從遠程位置讀取(http://www.site.com/foo.gif)。但是,您將能夠從本地文件系統讀取。

PHP documentation

該選項啓用,使訪問像文件URL對象的URL的fopen封裝。爲使用ftp或http協議訪問遠程文件提供了默認的包裝器,一些擴展如zlib可能會註冊其他包裝器。

要檢查此項,請通過在Web根目錄中創建一個包含以下內容的文件來查看服務器上的當前PHP設置。您在尋找allow_url_fopen設置。

<?php 
    echo phpinfo(); 
?> 
+0

這是我發現的,allow_url_fopen \t對\t在 –

+0

一個是本地值,另一個是主值 –