2016-06-14 423 views
0

我有一個表格,你選擇一個文件(圖像)通過輸入類型文件,它必須將該圖像上傳到一個文件夾。 在我的電腦(運行XAMPP),工作正常,但現在我將projecto移動到我的服務器,因爲它完成。上傳PHP腳本不工作在Ubuntu

我的服務器運行Ubuntu 16.04(Apache + PHP + MySQL)。 Apache的版本:阿帕奇/ 2.4.18(Ubuntu的) PHP版本:7.0.4-7ubuntu2.1 MySQL的版本:5.7.12-0ubuntu1 - (Ubuntu的)

我已經試過: -Give最大權限這兩個文件(表格文件,並在帖子行動是文件)

上傳腳本:

<?php 
$File = array("Name" => $_FILES['prod_image']['name'], "Error" => $_FILES['prod_image']['error'], "Size" => $_FILES['prod_image']['size'], "tmp_name" => $_FILES['prod_image']['tmp_name']); 

move_uploaded_file($File['tmp_name'], "../images/".basename($File['Name'])); 
+0

你有什麼錯誤嗎? –

+0

沒有!當我var_dump move_uploaded_file函數時,它返回bool(false)。否則你會看到一個空白頁。 – rui404

+0

您是否檢查過實際的錯誤日誌? –

回答

1

我使用此代碼上傳文件:

$your_Path="";//set your path, e.g., $_SERVER['HTTP_HOST'] 
$name='prod_image';/
$userfile_tmp = $_FILES[$name]['tmp_name']; 
$userfile_name = $_FILES[$name]['name']; 
$userfile_size = $_FILES[$name]['size']; 

if (move_uploaded_file($userfile_tmp, $your_Path. $userfile_name)) { 
echo 'Success.'; 
}else 
    echo 'error'; 
} 
+0

很好。這如何幫助OP解決他們的問題? –

+0

如果我是他,我應該嘗試使用有效的代碼。如果這個不起作用,我會檢查我的配置。如果有效,我會保留它或調整我的代碼,因爲現在我知道代碼存在問題。而已。 – CiroRa

0

如果您正在使用的Ubuntu,然後檢查你的虛擬主機配置文件,並註釋掉「要求所有準許」

<Directory /var/www/your_project> 
     Options -Indexes +FollowSymLinks +MultiViews 
     AllowOverride All 
     #Require all granted 
    </Directory> 
0

遇到文件上傳問題檢查你的PHP配置文件,並查看文件上傳部分並更改文件上傳限制/臨時目錄。 如果文件大小大於文件上傳限制,則該腳本將工作,但不會產生任何輸出。 2.確保客戶端具有上傳所需的權限。