Ich habe eine .csv-Datei mit "Code" und "Beschreibung". Ich möchte die .csv suchen und wenn es einen doppelten "Code" findet, ersetzen Sie die ganze Zeile.PHP fgetcsv() suchen und überschreiben Datei
dh. Datei von csv:
code description
STA-101 A great product
STA-102 OK Product
Diese sind dynamisch, so brauche ich eine if-Anweisung:
code description
STA-101 A great product
STA-102 Terrible Product
Wenn es mit etwas, das heißt "STA-102" ersetzen Beschreibung finden waren. Kann dies mit fgetcsv()
getan werden?
Die unten funktioniert nicht, aber es ist alles weiß ich jetzt:
$row = 1;
if (($handle = fopen("formTest.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
for ($c=0; $c < $num; $c++) {
if ($data[$c] = "STA-102") {
$data[$c] = "OK Product"; }
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
Um meine Datei zu schreiben zu beginnen, ich habe:
$code = $_POST['CODE'];
$description = $_POST['DESC'];
if ($_POST) {
$csvData = $code . "," . $description. "\n";
$fp = fopen("formTest.csv","ab");
if($fp){
fwrite($fp,$csvData);
fclose($fp); }
}
Wie kann ich das, was ich übernehmen habe oben mit der if-Anweisung den Code überschreiben, wenn es sein muss?
Es ist "PHP", nicht "PhP" oder "Php" und sicherlich * nie * "pHp". – meagar