У меня есть скрипт, который загружает CSV и присваивает значения строке, разделенной запятой
$has_title_row = true;
if( $_POST['upload_file'] == 1 ) {
if(is_uploaded_file($_FILES['csvfile']['tmp_name'])){
$filename = basename($_FILES['csvfile']['name']);
if(substr($filename, -3) == 'csv'){
$tmpfile = $_FILES['csvfile']['tmp_name'];
if (($fh = fopen($tmpfile, "r")) !== FALSE) {
$i = 0;
while (($items = fgetcsv($fh, 10000, ",")) !== FALSE) {
if($has_title_row === true && $i == 0){ // skip the first row if there is a tile row in CSV file
$i++;
continue;
}
//$data = print_r($items);
$i++;
$num = count($items);
$row++;
$str = '';
for ($c=0; $c < $num; $c++) {
//echo $items[$c] . ", ";
$str .= $items[$c] . ", ";
}
}
}
}
else{
die('Invalid file format uploaded. Please upload CSV.');
}
}
else{
die('Please upload a CSV file.');
}
}
В CSV, который я загружаю, у меня есть 2 столбца Город и Страна
Я также удаляю первую строку с заголовком. Таким образом, в $ str у меня есть что-то вроде
$str = "Munich, Germany, Berlin, Germany, London, UK, Paris, France, Vienna, Austria, Milano, Italy, Rome, Italy";
Результат, к которому я стремлюсь, будет
$city = "Munich, Berlin, London, Paris, Vienna, Milano, Rome";
$country = "Germany, Germany, UK, France, Austria, Italy, Italy";
Как бы я разделил $ str на страны и города, или, может быть, он долженсделать в сценариях загрузки, где я зацикливаюсь на результатах?