2016-12-04 6 views
0

拡張子.txtのテキストファイルが100個あります。私は各ファイルのテキストファイルの内容をフィールドのMySQLデータベーステーブルに保存したいと思います。ここでfieldnyaの名前は「トークン」という名前でした。私のテーブルの構造は:id、filename、token、sizeです。私は次の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 
    } 
    } 
    ?> 

私は3つのテキストファイルを使用します。私がコードを使用すると、発生するテキストファイルをアップロードするとき: ファイルが正常にデータベーステーブルにアップロードされ、ファイルは正常にストレージディレクトリに保存され、エラーは発生しませんでした。フィールドトークンで起こるのは、3つのドキュメントのすべての内容のテキストファイルです。フィールド.txtトークンには、1つのファイルをアップロードするときに、フィールドトークンにはファイルの内容を格納するのではなく、すべてのファイルの内容。ナーどのように解決策?私はグーグルにしようとしましたが、方法を見つけませんでした。

+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 
    } 
} 
?> 
関連する問題