2012-10-16 67 views
-1

試圖檢查,看看是否該文件已經存在,但它不工作LINE 6如何檢查數據庫中是否存在文件?

if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0) 
{ 

$fileName = $_FILES['userfile']['name']; 
$tmpName = $_FILES['userfile']['tmp_name']; 
$fileSize = $_FILES['userfile']['size']; 
$fileType = $_FILES['userfile']['type']; 
if (file_exists($_FILES['userfile']['name'])) 
     { 
     echo $_FILES['userfile"]["name'] . " already exists. "; 
     }else{ 
$fp= fopen($tmpName, 'r'); 
$content = fread($fp, filesize($tmpName)); 
$content = addslashes($content); 
fclose($fp); 

if(!get_magic_quotes_gpc()) 
{ 
    $fileName = addslashes($fileName); 
} 
//include 'library/config.php'; 
//include 'library/opendb.php'; 

$query = "INSERT INTO upload (name, size, type, content) 
VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; 

mysql_query($query) or die('Error, query failed'); 
//include 'library/closedb.php'; 

echo "<br>File $fileName uploaded<br>"; 
} 
} 
+3

'file_exists'將檢查_filesystem_,並且如果文件(或目錄)已存在_at所提供的path_中,將返回true。請參閱[文檔](http://php.net/file-exists)。它不檢查數據庫。 –

+0

首先'print_r($ _ FILES ['userfile'] ['name']);'看看你在檢查什麼以及它是否適合你的系統。 –

+0

運行該代碼,它顯示數據庫中的文檔 –

回答

0

$_FILES['userfile"]["name']

確保初始報價匹配關閉的。例如,示例有效字符串是"this"'this'

echo $_FILES['userfile']['name'] . " already exists. "; 
echo $_FILES["userfile"]["name"] . " already exists. "; 
// etc. 
+0

它現在$ _FILES ['userfile'] ['name']但仍然不起作用 –

+0

echo $ _FILES ['userfile'] ['name']。 「 已經存在。 」;多數民衆贊成我現在不工作 –

+0

確保「userfile」部分是正確的,並使其回聲文件數據進行調試。最簡單的方法是使用'echo'

';print_r($_FILES);echo '
';'同樣,根據你的代碼,這個腳本所在的目錄中搜索文件。 – inhan

相關問題