2011-08-13 41 views
0

我想從用戶傳輸文件到我的服務器上傳文件,問題是當我知道文件名(硬代碼)文件上傳完全正常。和文件被轉移到我的文件夾,但問題是我無法獲得我的fopen函數中的文件名。我已經嘗試將其存儲在變量中,並嘗試fopen($ a.csv,「r」)或fopen(($ _FILES [「file」] [「name」]。csv「,」r「)),但得到錯誤 解析錯誤:語法錯誤,意外的T_CONSTANT_ENCAPSED_STRING在C:\ xampp \ htdocs \ pm \ upload.php上。 。 HEERE是我的代碼可以有一個人解決我的問題?用php上傳文件,得到文件名錯誤

if ($_FILES["file"]["error"] > 0) 
{ 
echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; 
} 
else 
{ 
echo "Upload: " . $_FILES["file"]["name"] . "<br />"; 
echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
echo "Size: " . ($_FILES["file"]["size"]/1024) . " Kb<br />"; 
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; 

if (file_exists("upload/" . $_FILES["file"]["name"])) 
    { 
    echo $_FILES["file"]["name"] . " already exists. "; 
    } 
else 
    { 
    move_uploaded_file($_FILES["file"]["tmp_name"], 
    "upload/" . $_FILES["file"]["name"]); 
    echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
    $a=$_FILES["file"]["name"];} 
} 
$con = mysql_connect("localhost","root",""); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
}mysql_select_db("pm", $con); 
$dum=false; 
if (($handle = fopen($_FILES["file"]["name"].csv", "r")) !== FALSE) { 
while (($data = fgetcsv($handle, 10000, ",")) !== FALSE) { 

。 .. ... ....

錯誤就行IF(($處理=的fopen($ _ FILES [ 「文件」] [ 「名稱」]。CSV」, 「R」 ))!== FALSE){已經嘗試上傳沒有擴展名的文件!好心幫

+0

它應該馬上工作,沒有文件擴展名! – Shef

回答

1

嘗試:

if (($handle = fopen('upload/'.$_FILES['file']['name'], 'r')) !== FALSE) { 

您移動文件到upload目錄,這就是你應該讀它。