2016-12-04 14 views
0

У меня есть 100 текстовых файлов с расширением .txt. Я хочу сохранить содержимое текстового файла из каждого файла в таблицу базы данных MySQL, в поле, где имя поля я дал имя «токен». поэтому структура моих таблиц: id, filename, токен, размер. Я пробовал со следующим кодом php:сохранить содержимое каждого текстового файла в таблицу базы данных mysql

it is my code : 
<?php 
    include_once 'connection.php'; 
    $array_file = glob('savetoken/*.txt'); 
    foreach ($array_file as $token_words) { 
    $string_Text = file_get_contents($token_words); 
    global $string_Teks; 
    } 
if(isset($_POST['btnUpload'])) 
    {  
$FileInput = $_FILES['data_upload']['name']; 
$file_loc = $_FILES['data_upload']['tmp_name']; 
$file_size = $_FILES['data_upload']['size']; 
$file_type = $_FILES['data_upload']['type']; 

$folder="savestopword/"; 
$UploadDirectory = 'c:/xampp/htdocs/try/savestopword/'; 
$new_size = $file_size/1024; 
$new_file_name = strtolower($FileInput); 
$final_file = str_replace('','_',$new_file_name); 
global $final_file; 
$File_Name   = strtolower($_FILES['data_upload']['name']); 
$File_Ext   = substr($File_Name, strrpos($File_Name, '.')); 
$NewFileName  = $File_Name; 
if(move_uploaded_file($_FILES['data_upload']['tmp_name'], $UploadDirectory.$NewFileName)) 
    { 
    $sql = "INSERT INTO token_keyword(filename,token,size) VALUES('$final_file','$string_Text','$new_size')"; 
    mysql_query($sql); 
    echo "<script>"; 
    ?> 
    alert('successfully uploaded'); 
    window.location.href='upload_modifikasi.php?success'; 
    <?php 
    echo "</script>"; 
    die('Success! File Uploaded.'); 
    include "upload_modification.php"; 
}else{ 
    die('error uploading File!'); 
} 
if(move_uploaded_file($file_loc,$folder.$final_file)) 
{ 

} 
else 
{ 
    ?> 
    <script> 
    alert('error while uploading file'); 
    window.location.href='upload_modification.php?fail'; 
    </script> 
    <?php 
    } 
    } 
    ?> 

Для тестирования я использую три текстовых файла. когда я использую код, когда я загружаю текстовый файл, который возникает: файл успешно загружен в таблицу базы данных, файл был успешно сохранен в каталоге хранилища и без ошибок. но то, что происходит с токеном поля, является текстовым файлом всего содержимого трех документов в поле .txt-токен, когда то, что я хочу, - это когда вы загружаете один файл, токен поля хранит только содержимое файла, вместо сохранения содержимое всех файлов. как это решение? Я пытался поработать, но не нашел пути.

+0

Покажите нам, как вы сохраните данные. С другой стороны, в любом случае в вашем 'foreach()' вы должны проверять файлы (т. Е. Не работать для каталогов, включая '.' и' ..'). – cFreed

+0

Я храню данные следующим образом: $ Sql ​​= "INSERT INTO token_words (имя файла, токен, размер) VALUES ('$ final_file', '$ string_Teks', '$ new_size.KB')"; mysql_query ($ sql); – user3718278

+0

И как вы заполняете '$ final_file' и' $ new_size'? Пожалуйста, покажите свой реальный полный код в своем вопросе. BTW: в настоящее время '$ string_Teks' фактически получает только обработанное содержимое _last_. – cFreed

ответ

0

Решение:

<?php 
include_once 'connection.php'; 
if(isset($_POST['max_filesize'])) 
{ 
    $FileInput = $_FILES['FileInput']['name']; 
    $file_loc = $_FILES['FileInput']['tmp_name']; 
    $file_size = $_FILES['FileInput']['size']; 
    $file_type = $_FILES['FileInput']['type']; 
    $folder="yourdirectoryforsavefile/"; 
    $UploadDirectory = 'c:/xampp/htdocs/yourfolder/yourfolder/'; 
    $new_size = $file_size/1024; 
    $new_file_name = strtolower($FileInput); 
    $final_file = str_replace('','_',$new_file_name); 
    $File_Name = strtolower($_FILES['FileInput']['name']); 
    $File_Ext = substr($File_Name, strrpos($File_Name, '.')); 
    $NewFileName = $File_Name; 
    if(move_uploaded_file($_FILES['FileInput']['tmp_name'], $UploadDirectory.$NewFileName)) 
    { 
     $sql = "INSERT INTO yourtablename (name,size,type) VALUES('$final_file','$new_size','$file_type')"; 
     mysql_query($sql); 
     echo "<script>"; 
     ?> 
      alert('successfully uploaded'); 
      window.location.href='upload.php?success'; 
     <?php 
     echo "</script>"; 
     die('Success! File Uploaded.'); 
     include "upload.php"; 
    }else{ 
     die('error uploading File!'); 
    } 
    if(move_uploaded_file($file_loc,$folder.$final_file)) 
    { 

    } 
    else 
    { 
     ?> 
     <script> 
      alert('error while uploading file'); 
      window.location.href='upload.php?fail'; 
     </script> 
     <?php 
    } 
} 
?>