ftp 経由で 1 日に 2 回配信される csv ファイルがあります。このファイルを開くためにphpファイルを作成し、カテゴリ列でフィルタリングし、特定の用語/用語を含まない行を削除してからファイルを保存しようとしています。
私はインターネットで見つけたコードのスニペットの多くのバリエーションを試しましたが、それを機能させる方法を一生理解することはできません.
この質問で見つかったコードのバリアントを使用してみましたが、私のシナリオでは機能しませんでした
PHPを使用して単語またはテキストでcsvファイルをフィルタリングします
私が編集しようとしているcsvファイルがここにあるのに役立つ場合: http://accurateav.co.uk/sahara/saharafeed.csv
<?php
$file = fopen('saharafeed.csv', 'r');
// You can use an array to store your search words, makes things more flexible.
// Supports any number of search words.
$words = array('casio');
// Make the search words safe to use in regex (escapes special characters)
$words = array_map('preg_quote', $words);
$regex = '/'.implode('|', $words).'/i';
while (($line = fgetcsv($file)) !== FALSE) {
list($ExportDate, $ItemCode, $Manufacturer, $Model, $ProductName, $DealerPrice, $Stock, $RRP, $Category, $ShortDesc, $LongDesc, $Weightkg, $EAN, $NonStock, $LargePictureURL, $SpecSheet, $HiResPhoto1, $HiResPhoto2) = $line;
if(preg_match($regex, $Category)) {
echo "$ExportDate, $ItemCode, $Manufacturer, $Model, $ProductName, $DealerPrice, $Stock, $RRP, $Category, $ShortDesc, $LongDesc, $Weightkg, $EAN, $NonStock, $LargePictureURL, $SpecSheet, $HiResPhoto1, $HiResPhoto2<br />\n";
}
}
?>
これは、Casio カテゴリの製品のみを表示するようにカテゴリをフィルタリングするためにこれまで使用してきたコードですが、スクリプトを実行すると、casio カテゴリに多数の製品があるにもかかわらず結果が表示されません。