본문 바로가기
MySql

MySQL Upload Multiple Files in PHP & INSERT path to MySQL

by 베이스 공부 2020. 11. 26.
반응형

PHP 스크립트에서 여러 파일을 업로드 한 다음 경로를 사용하여 데이터베이스에 삽입하는 양식을 설정했습니다. 내 코드는 다음과 같습니다.

<form action="" method="post" enctype="multipart/form-data">
<tr class='first'>
    <td>Property Image : </td>
    <td>
        <input type="file" name="pic_upload[]" >
        <input type="file" name="pic_upload[]" >
        <input type="file" name="pic_upload[]" >
    </td>
</tr>
<tr class='first'>
    <td>&nbsp;</td><td><input type="submit" name="create" value="Add"  /></td>
</tr>
</form>
<?php
if(isset($_POST['create'])) {
    $path = "images/";
    for ($i=0; $i<count($_FILES['pic_upload']['name']); $i++) {
        $ext = explode('.', basename( $_FILES['pic_upload']['name'][$i]));
        $path = $path . md5(uniqid()) . "." . $ext[count($ext)-1]; 
        move_uploaded_file($_FILES['pic_upload']['tmp_name'][$i], $path);
    }
    $sql = "INSERT INTO post (`image`) VALUES ('$path');";
    $res = mysqli_query($con,$sql) or die("<p>Query Error".mysqli_error()."</p>");
    echo "<p>Post Created $date</p>";
}
?>  

스크립트는 성공적으로 실행되지만 데이터베이스 끝에서 열 내부에서 다음과 같이 보입니다.

images / 8de3581eb72ee7b39461df48ff16f4a3.jpg024fae942ae8c550a4bd1a9e028d4033.jpg380cc327df25bc490b83c779511c015b.jpg

제발 도와주세요

 

해결 방법

 

for 루프 내에서 $ path = "images /"; 를 이동합니다. 그렇지 않으면 각 반복 후에 재설정하지 않고 파일 이름에 추가합니다. 실제로 해당 접두사에 대해 변수를 사용할 필요가 없습니다. 간단히 'images /'를 작성할 수 있습니다. md5 (uniqid ()). "." . $ ext [count ($ ext) -1] 즉시.

데이터베이스에 값을 쓰려면 각 반복에서 쿼리를 실행하거나 SQL 구문에 따라 쉼표로 구분 된 삽입 목록으로 변환되는 배열에 경로를 추가 할 수 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/27556097

 

 

반응형

댓글