2015-12-01 43 views
2

我試圖移動/複製/上傳tmp目錄的圖像,使用下面的代碼另一個目錄,但我不認爲我的形象被移動/複製到目標。有其他選擇嗎?PHP文件上傳/移動不起作用

public function uploadToS3($file, $tmp_url) { 
    if (strrpos($file, '.tmp') == strlen($file)-4) { 
       $file = substr($file, 0, strlen($file)-4); 
      } 
     $destination = "var/www/html/image" . $file; 

    if (file_exists($destination)) { 
     echo 'File '. $destination. ' already exists!'; 
    } else { 
    move_uploaded_file($tmp_url, $destination); 
    } 
} 
    //Ex: $tmp_url = http://localhost/mage/media/tmp/catalog/product/s/c/abc.png 
    //Ex: $destination = /var/www/html/image/s/c/abc.png 

按照下面我的意見已經嘗試下面的PHP代碼,也失敗

<?php 
$tmp_url = "var/www/html/abc/abc.png"; 
$destination = "var/www/html/des/abc.png"; 
if(move_uploaded_file($tmp_url, $destination)){echo "success";}else{echo "fail";} 
+2

也許你錯過了起始/ $目標=「無功/網絡/ HTML /圖像」。 $文件; – pvg

+0

做,如果(move_uploaded_file($ tmp_url,$目的地)){回聲 「成功」;}其他{回聲 「不及格」;}和後期輸出...做 –

+0

@WilliamMadede:它說失敗。 – amitshree

回答

0

也請檢查目標圖像文件夾具有777/775 permission

$ImageName = $_FILES['file']['name']; 
$fileElementName = 'file'; 
$path = 'var/www/html/image/'; 
$location = $path . $_FILES['file']['name']; 
move_uploaded_file($_FILES['file']['tmp_name'], $location); 
0

當談到上傳文件是總是一個好主意,以完整路徑的方式構建目的地 - 爲什麼不創建一個全球幫手,讓您訪問您的基本路徑:

/** 
* Return the base path. 
* 
* @param void 
* @return string 
*/ 
function base_path() 
{ 
    // I go back 2 directories here - it all depends where 
    // you decide to place this global helper function. 
    return realpath(__DIR__ . '/../..'); 
} 

太好了,現在這是在全球上市,你可能會決定使用它像這樣:

$destination = base_path() . '/var/www/html/image'; 

這樣,您就不必擔心您的當前位置 - 它只是太容易。