2012-10-16 3 views
-1

파일이 이미 존재하는지 확인하려고하지만 $_FILES['userfile"]["name']파일이 이미 데이터베이스에 있는지 확인하는 방법은 무엇입니까?

이 여는 따옴표 닫는 것과 일치하는지 확인 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_을 검사하고 제공된 경로 _에 파일 (또는 디렉토리)이 이미 있으면 true를 반환합니다. [documentation] (http://php.net/file-exists)를 참조하십시오. 데이터베이스와 대조하지 않습니다. –

+0

첫 번째'print_r ($ _ FILES [ 'userfile'] [ 'name']);'는 사용자가 확인하고있는 내용과 시스템에 적합한지를 확인합니다. –

+0

이 코드를 실행하고 데이터베이스에 문서를 표시했습니다. –

답변

0

작동하지 않습니다. 유효한 문자열의 예는 "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

관련 문제