2017-05-18 1 views
1

"업로드"폴더로 파일을 업로드하는 양식을 만들었지 만 폴더에 저장되지만 sql 테이블은 잘못된 디렉토리를 필드에 표시합니다. SQL은 filename.pdf가 아닌 uploads/filename.pdf 여야합니다.업로드 된 파일은 업로드 된 폴더로 이동하지만 SQL의 디렉토리가 잘못되었습니다.

<?php 

require_once ('db.php'); 

if (isset($_POST['Submit'])) { 

move_uploaded_file($_FILES["file"]["tmp_name"],"uploads/" . $_FILES["file"]["name"]);   
$xfile=$_FILES["file"]["name"]; 
$xdate=$_POST['date']; 
$xmemo=$_POST['memo']; 
$xtitle=$_POST['title']; 

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$sql = "INSERT INTO memo (date, memo, file, title) 
VALUES ('$xdate', '$xmemo', '$xfile', '$xtitle')"; 

$conn->exec($sql); 
echo "<script>alert('Successfully Added!!!'); window.location='view.php'</script>"; 
// } 
} 
// } 
?> 

답변

0

확인 다음 줄 : 내 업로드 스크립트는 여기 $xfile

$xfile=$_FILES["file"]["name"]; 

전용 파일 이름을 파일이 아닌 이름 + 파일 경로를 포함, 당신은 당신이 파일을 얻을 수를 사용하여 예상 할 수있는 방법 이름 + 파일 경로.

"INSERT INTO memo (date, memo, file, title) 
VALUES ('$xdate', '$xmemo', 'uploads/' . '$xfile', '$xtitle')"; 

또는 변수에 경로 + 파일 이름을 저장하고 그 변수를 사용하므로 작업을 수행하려면, 삽입 등의 시간에 파일 이름의 경로를 추가합니다.

+0

감사합니다. 당신의 작품을 시험해 보았습니다. –

+0

훌륭한 사운드! –

0
$xfile=$_FILES["file"]["name"]; 

$ _FILES [ "file"] [ "name"]은 파일 이름 만 반환합니다. 당신은 저장 폴더 이름과 같이 할 수

,

$xfile= 'uploads/'. $_FILES["file"]["name"]; 

조언

, 데이터베이스에 바로 저장 파일 이름을 폴더 이름을 저장할 필요가 없습니다. 파일 추가 폴더 이름을 가져올 때. 예 :

<img src="uploads/"<?= $file ?>> 

은 데이터베이스에서 가져 오는 파일 이름입니다.

관련 문제