Import unikalnych kodów z CSV do apki w JS'ie

0

siemka,
uprzejma prośba o pomoc- muszę ogarnąć wysyłanie unikalnych kodów rabatowych w formie tekstu z pliku excel CSV do frontendowej apki napisanej w JS'ie. Poniżej adekwatny kod zaciągający kody w formie zdjęć. Jak to dostosować?
wszelki feedback mile widziany

<?php
$counter = intval(file_get_contents('./codes/counter.txt'));
$codes = fopen('./codes/kody.txt', 'r');

// echo "counter: " . $counter;
for($i = 0; $i < $counter; $i++) {
    fgets($codes);
}

$file = fgets($codes);

if($file !== false) {
    $path = str_replace(array("\n", "\r"), '', trim('./codes/Kod_Memory_' . $file . '.png'));
    // echo $path;
    $image = fopen($path, 'rb');
    header("Content-Type: image/png");
    header("Content-Length: " . filesize($path));
    fpassthru($image);
    fclose($image);
}

file_put_contents('./codes/counter.txt', strval($counter + 1));
fclose($codes);

1

Z czym konkretnie masz problem?

Ps. To Twój kod?

0

siemka,
mam update problemu- otóż importuje z pliku txt. Moim problemem jest to, że nie wyświetla mi kodów natomiast usuwa je z pliku txt zgodnie z zamiarem. Kiedy kody się skończą, chcę żeby skrypt zwracał "false". Obecnie zwraca false za każdym raze. Poniżej kod. Prośba o pomoc:

<?php
$fileNumber = $_POST["fileNumber"];
function getCodes ($int) {
    $dir = "./codes/kody$int.txt";
    $contents = file_get_contents($dir);
    $line = explode("\n", $contents); 
    $contents = str_replace($line[0]."\n", '', $contents);
    file_put_contents($dir, $contents);   
    if($line != "\n"){
        echo "false";
    } else{
        echo $line[0];
    }
}
getCodes($fileNumber)
?>
const url = "./getCodes.php";
const app = document.getElementById("app");
let data = new FormData();
data.append("fileNumber", 1);
const options = {
  method: "POST",
  body: data,
};

fetch(url, options)
  .then(function (response) {
    if (response.status >= 200 && response.status < 300) {
      return response.text();
    }
    // throw new Error(response.statusText);
  })
  .then((response) => {
    app.innerHTML = `<span class="error" id="errNick">${response}</span>`;
  });

0

Opisz dokładnie co robisz i co chcesz osiągnąć. Piszesz np. że nie wyświetla Ci kodów, ale gdzie masz realizowane to wyświetlanie? Podaj linijkę kodu.
Jak dużych plików się spodziewasz?
Nie bierz z $_POST wszystkiego jak leci tylko waliduj jakkolwiek.
Do najprostszej obsługi plików CSV masz fgetcsv https://www.php.net/manual/en/function.fgetcsv.php
które robi z automatu połowę tego co napisałeś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1