Pereiti prie turinio

PHP eilutes (String) simbolių atrinkimas


Rekomenduojami pranešimai

Sveiki,

 

Tarkime turiu eilutę (pvz: 25;Preke23239;292). Pirmi simboliai iki ženklo ";" yra sandelio numeris, toliau seka prekės kodas, ir galiausiai prekių kiekis. Problema ta, kad noriu atskirti šios eilutės dalis iki kabliataškio, nes kartais prekes kodas gali būti ilgesnis arba trumpesnis ir išvesti atskiras dalis į atskiras eilutes. Gal galite užvesti ant kelio kaip ant PHP spręsti šią problemą?

Nuoroda į pranešimą
Dalintis kituose puslapiuose
<?php
 list($nr, $kodas, $kiekis) = explode(';', '25;Preke12;200');
 echo 'Prekės numeris: '.$nr.'<br/>';
 echo 'Prekės kodas: '.$kodas.'<br/>';
 echo 'Prelės kiekis: '.$kiekis;
?>

Redagavo kvaitulys
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prie to pačio norėčiau, kad užvestumėt ant kelio dėl vienos php užduotis. Tarkime turiu du .txt failus, juose yra daug eilučių. Ten suvesti kodai, pvz:

Pirmas txt Antras txt

34324234 324324324

32432432 343243242

34234324 342343243

 

Man reikia nuskaityti duomenis is failų ir sulyginti eilutes, o radus identiškas tiesiog išvesti naršyklėje. Galbūt žinot koki metodą ? Esu jau prigalvojes būdų, bet jie pernelyg lėti. Gal yra kokia funkcija ar dar kas nors ?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki,

 

Niekaip neiveikiu užduoties. Turiu sukurti html forma su csv failo importavimo galimybe. Man reikia kad vartotojas galėtu pasirinkti csv bylą. Tada PHP skriptas turi importuoti bylą į direktorija yra po to nuskaityti duomenis iš CSV failo ir sukišti juos į MSSQL lentos laukus. Problema yra ta, kad ikelti failą, ir importuoti į duomenų bazę pavyksta jei failo pavadinimą nurodau kaip kintamaji ( $dataread = "inventory.csv";)viskas vyksta puikiai, bet jei failo vardą kurį turi atidaryti nurodau panaudodamas $dataread = $_FILES["file"]["name"]; tuomet skriptas apsipjaudo klaida:

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][sql Server]String or binary data would be truncated., SQL state 22001 in SQLExecDirect in C:\xampplite\htdocs\ikelimas.php on line 72

 

Html kodas:

</form>
<label for="file">Pasirinkite Faila:</label><br>
<input type="file" name="file" id="file" value="Pasirinkti"/>
<input type="submit" name="siusti" value="Siūsti" />
</form>

 

PHP kodas:

if (file_exists("/xampplite/htdocs/" . $_FILES["file"]["name"]))
     {
     echo $_FILES["file"]["name"] . " Toks failas jau egzistuoja. ";
     }
   else
     {
     move_uploaded_file($_FILES["file"]["tmp_name"],
     "/xampplite/htdocs/" . $_FILES["file"]["name"]);
     echo "Stored in: " . "/xampplite/htdocs/" . $_FILES["file"]["name"];
     }
 $dataread = $_FILES["file"]["name"];
$row = 1;
if (($handle = fopen("$dataread", "r")) !== FALSE) {
   while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
       $num = count($data);
       echo "";
       $row++;
       for ($c=0; $c < $num; $c++) {
          $duom = $data[$c];
	   $ardau = explode(";",(string)$data[$c]);
	   $kint1 = $ardau[0];
	   $kint2 = $ardau[1]; 
	   $kint3 = $ardau[2];
	   $ikrauti = ("INSERT INTO $lenta (invnr,sandelis,kodas,kiekis)
	   VALUES('2','$kint1','$kint2','$kint3')");
	   $pakrauti = odbc_exec($jung,$ikrauti);
	   odbc_close($jung);

       }
   }
   fclose($handle);
} 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...