2016-07-09 8 views
0

私はこのフォーラムの新人であり、PHPも新しく、テストサイトで非常に基本的な機能をいくつか構築しています。私が試している現在のプロジェクトの1つは、CSVファイルの2つのディレクトリを結合することです。PHPを使用して複数のCSVファイルを統合する

GLOBを*ワイルドカードの一種として使用して、各ディレクトリ内のファイルを集めて結合したいと考えていました。私は、私が以下に使っている方法はあまりメモリ効率的ではないことを知っていますが、これは単に学ぶことです。私が抱えている問題は、GLOBコマンドを設定してすべてのCSVファイルをピックアップし、その変数をfile_get_contentsに取得することです。ここで

は私のコードでは、グロブを使用するときは、このように、それを追加する必要がありますので、結果の配列は、ベースパスが含まれていません。..

$files = glob("http://www.website.com/1/*.csv"); 
foreach($files as $filepath) { 
    if ($handle = fopen($filepath, "r")) { 
    // ... 
    } 
} 
$files2 = glob("http://www.website.com/35/*.csv"); 
foreach($files2 as $filepath2) { 
    if ($handle2 = fopen($filepath2, "r")) { 
    // ... 
    } 
} 
file_put_contents('final_data.csv', 
    file_get_contents($files) . 
    file_get_contents($files2) 
); 

答えて

0

です:

$basePath = '/path/to/csv'; 
foreach ($files = glob("$basePath/dir1/*.csv") as $filePath) 
{ 
    echo "$basePath/$filePath"; 
    // 
} 

それはですリモートURLの代わりにローカルパスから読み込むことも意味があります。

関連する問題