2012-10-16 69 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

相关问题