Scripts
Format TCPA list file
Route::get('/format', function () {
$path = \Illuminate\Support\Facades\Storage::path('file.csv');
$path2 = \Illuminate\Support\Facades\Storage::path('file-formatted.csv');
$reader = \League\Csv\Reader::createFromPath($path, 'r');
$writer = \League\Csv\Writer::createFromPath($path2, 'w');
$reader->setHeaderOffset(0);
$writer->insertOne($reader->getHeader());
foreach ($reader as $line => $row) {
if($row['phone'] === '') {
continue;
}
if($row['name'] !== '') {
$formatted = preg_replace("/[^A-Za-z ]/", '', $row['name']);
if(!\Illuminate\Support\Str::contains($formatted, ' ')) {
$split = preg_split('/(?=[A-Z])/', $formatted);
foreach ($split as $i => $item) {
if($item === '') {
unset($split[$i]);
} else {
$split[$i] = ucfirst($item);
}
}
$parts = count($split);
if($parts === 2 || $parts === 3) {
$row['name'] = implode(' ', $split);
}
}
}
$writer->insertOne($row);
}
});
Find number in CSV file
Route::get('/find', function () {
ini_set('max_execution_time', 30000);
ini_set('memory_limit', '2048M');
$search = '4246263942';
$files = \Illuminate\Support\Facades\Storage::files('directory_in_storage_app');
$foundInFiles = [];
foreach ($files as $file) {
$path = \Illuminate\Support\Facades\Storage::path($file);
$reader = \League\Csv\Reader::createFromPath($path, 'r');
foreach ($reader as $line => $row) {
foreach ($row as $value) {
if($value === '')
continue;
if(\Illuminate\Support\Str::contains(preg_replace('/[^0-9]+/', '', $value), $search)) {
$foundInFiles[] = [
'file' => $file,
'line' => $line,
'val' => $value
];
}
}
}
$reader = null;
}
dd($foundInFiles);
});