Dobrý den řeším problém se zápise do DB zapíše se jen část souboru 3 řádky z 20. soubor je spoluzaci.csv(office soubor-tabulky) který chci samozřejmě zapsat celý a nahrát ho do DB scriptem a ne pomoci phpadmina který na to má podporu, na tomto souboru si svůj script zkouším, později chci do DB nahrát přes 11 000 řádků (složení řádku je asi- čísla,znaky+čísla,znaky,čísla,znaky+čísla,komentáře- cca 60znaků na řádku) pokud zkouším otevřít soubor a procházet ho po řádku a očišťovat řádek od přebytečných znaků tak se mi to celkem daří ale když přidám i zápis řádku do DB tak už se nic neděje ostatní funguje ale zápis do DB se nezdaří prosím o radu . V bodech naznačuji co bych od scriptu chtěl a přikládám i kód předem děkuji
1)připojení kDB
2)vybrat DB (název DB přijde z formuláře)
3)vytvořit tabulku (nazev tabulky přijde z formuláře)
4)otevrit originalni soubor ze kterého načtu a zapíšu do DB(nazev souboru přijde z formuláře)
5)vytvořit kopii originálnáho souboru
6)otevřu originál a procházím po řádku,(začíná cyklus)
7)řádek očišťuji od přebytečných znaků(cyklus pokračuje)
8)ocištěný řádek chci vložit do tabulky v DB(cyklus pokračuje)- zde je problém z 20 řádků mi zapíše jeden a jen
částečně, také se zapíšou dva řádky které jsou prázdné-
9)ještě chci očištěný řádek zapsat do záložního souboru(cyklus končí)
10)nakonec zobrazím záložní soubor a konec scriptu
<?php
//formular
$stranka= $_POST['idsite'];
$user= $_POST['iduser'];
$nazev_db= $_POST['nazev_db'];
$nazev_table= $_POST['nazev_table'] ;
$nazev_sesitu= $_POST['nazev_sesitu'];
//pripojeni k serveru
$link = mysql_connect('localhost', 'root', 'adelka123');
if (!$link) {
die('spojeni se nenavazalo: ' . mysql_error());
}
//vybrat DB
$db_selected = mysql_select_db($nazev_db, $link);
if (!$db_selected) {
die ('databáze nebyla nalezena <br /> ' . mysql_error());
}
// VYTVORENI TABULKY
$sql = "CREATE TABLE $nazev_table
(
$nazev_table TEXT NOT NULL
)";
if( mysql_query($sql, $link)) {
echo "vytvoření tabulky se zdařilo <br />";
} else {
echo 'chyba vytvoreni tabulky'.mysql_error(). "\n" ;
}
// VLOZENI HODNOT DO SLOUPCU V TABULCE
$sesit_zaloha= "zaloha".$nazev_sesitu; //nazev zalozniho souboru
$vytvor_zalohu= fopen ($sesit_zaloha,"w+");//vytvoreni zaloz. souboru
if (file_exists($sesit_zaloha))
{
fclose($vytvor_zalohu);//prozatim zavrit
}
else
{
echo " vytvoreni zalozni kopie souboru se nezdarilo ";
exit;
}
//pokud existuje originalni soubor tak ho prochazet po radcich
if (file_exists($nazev_sesitu)) {
$soubor=fopen($nazev_sesitu, "r"); //otevrit original
$vytvor_zalohu= fopen ($sesit_zaloha,"w");//otevrit kopii
//pokud jsou otevreny soubory
if($soubor && $vytvor_zalohu){
while (!feof($soubor)){ //dokud neni konec souboru
$radek = fgets($soubor,10000); //radek souboru
$radek= str_replace(";"," ",$radek);//ocistit radek
$radek= str_replace("\"","",$radek); //ocistit radek
trim($radek); //ocistit
$zapis_celek=$radek."\n"; //odradkovat
//vlozit do tabulky a sloupce
$rozkaz="INSERT INTO $nazev_table ('mlatinoha') VALUES ($radek)";
$vysledek = mysql_query($rozkaz,$link);
if (!$vysledek){
print "<br><b>nezapsano do tabulky</b>";
exit;
}
//zapsat ocistene do zalohy
$zapis_do_zalohy = fwrite($vytvor_zalohu,$zapis_celek);
} //konec while
}//konec vnoreny if
else {
print("Soubor ".$nazev_sesitu." se nepodařilo otevřít pro čtení.");
exit;
} //konec else (vnoreny if )
} //konec if
else {
print("Soubor ".$nazev_sesitu." neexistuje.");
exit;
} //konec else
readfile($sesit_zaloha) ; //zobrazit ocistenou zalohu
fclose($vytvor_zalohu);
fclose($soubor);
?>