dík za rady vše vyřešeno pouze jsem špatně zapsal cestu k záloze místo \\L:\zaloha1\ má být \\L?\zaloha1\
Příspěvky odeslané z IP adresy 89.103.94.–
ještě mně napadlo jestli je možné na takový L:\ server zapisovat pomocí FTP ?????
Promiň máš pravdu ,je to php server, pouzivam complex web server 2.0.1 na win7 už jsem zkoušel přeinstalovat celý server , teď mám server na veřejné ip adrese ale ani tak nemohu zapisovat na vzdálené servery ( L:\zaloha1\ ) ve scriptu chyba nebude protože na místní disk to zapisuje bez problému, jen na ten vzdálený server L:\ to nefunguje, ve scriptu si nejdříve otevřu soubor ve kterém mám uložené cesty k serverům potom vytvořím soubor se zálohou a ten ukládám do toho serveru L:\
$otevri1=fopen('../../cesta1.php','r'); //v tomto souboru je uložena prvni cesta
$zapis1=fread($otevri1,1000) ;
$zavri1=fclose($otevri1);
$vymaz_content2=""; //v tomto souboru je uložena druha cesta
$otevri2=fopen('../../cesta2.php','r');
$zapis2=fread($otevri2,1000) ;
$zavri2=fclose($otevri2);
$datum=date('j.n.Y.H.i.s');
$nazev_souboru=$zapis1.'sesit_zaloha_'.$datum.'.csv';
$nazev_souboru2=$zapis2.'sesit_zaloha_'.$datum.'.csv';
$soubor=fopen($nazev_souboru, "w");
$soubor2=fopen($nazev_souboru2, "w");
if (file_exists($nazev_souboru)) {
$soubor=fopen($nazev_souboru, "a+");
$soubor2=fopen($nazev_souboru2, "a+");
if($soubor && $soubor2 && $link && $db_selected){
$sql=mysql_query("SELECT vykresy FROM rok2012");
while($row = mysql_fetch_array($sql))
{
$row['vykresy']=str_replace(" ","",$row['vykresy']);
$zapis1111=fwrite($soubor, $row['vykresy']) ;
$zapis2222=fwrite($soubor2, $row['vykresy']) ;
}
Dobrý den potřebuji pomc s nastavenim serveru , mám databázi do které ukládám nějaké informace a ty chci zálohovat pro jistotu na nějaké dva servery které jsou ve firemní síti , server mám nastavený že smí komunikovat s dommácí sítí a s doménami ve firemní síti, server mi běží na localhostu, pokud chci ukládat na místní disk c:\ zaloha1\ tak není problém ale pokud chci ukládat např. na sevrer L:\zaloha1\ tak mi to nahlásí "no such file or directory" pouze že umístění neexistuje (umístění určitě existuje), očekával bych spíše že mi to nahlásí že nemám oprávnění zapisovat mimo oblast localhostu .předpokládám že je chyba někde v nastavení serveru, pravděpodobně v tom že server běží na localhostu .Server mi běží na win7 64bit používám complex web server2 předem dím za rady
Díky moc ENCH . Pro moje účely to funguje absolutně přepichově už jsem to vyzkoušel a jsem moc spokojený, dokonce mi došlo pár věcí který jsem si nedikázal dát do souvislosti a flowy měl pochopitelně pravdu -takhle se pole nevypisuje všem díky
ještě jsem tam zapoměl dokopírovat chybu která patří k těm ostatním šesti
Warning: preg_match() [function.preg-match.html]: Compilation failed: missing terminating ] for character class at offset 2 in C:\Complex-Web-Server-2\www\programatori\mlaticka\vyhledej_zapis.php on line 164
tahle chyba se objeví jako první
v DB je takovýchto řádků přes 40 000 a jsou to zápisy mých jkolegů z práce a moje vize je právě taková že by jsem
každou tu část uložil do proměnné a pak je vložil do jednotlivých tabulek aby to bylo pěkně rozsortované jsou to zápisy
archiuvované od roku 1995 v té době nikdo neřešil rozdělování do sloupců a tabulek v té době to zapisovali do office xlsx dokumentu a já jsem to teď poděďil a chtěl bych si to srovnat a dát do DB vše jsemn si už udělal už jen to roztřídění a to nevím jak to udělat na ty delimitery jsem už koukal ale vůbec je nechápu podle mě to jsou znaky na začátku a konci který jsou povinný. když jsem je tam vložil tak už to nic o delimiterech nepsalo ale píše to že Pole na String tady je chyba
Notice: Array to string conversion in C:\Complex-Web-Server-2\www\programatori\mlaticka\vyhledej_zapis.php on line 170
Notice: Array to string conversion in C:\Complex-Web-Server-2\www\programatori\mlaticka\vyhledej_zapis.php on line 170
Notice: Array to string conversion in C:\Complex-Web-Server-2\www\programatori\mlaticka\vyhledej_zapis.php on line 170
Notice: Array to string conversion in C:\Complex-Web-Server-2\www\programatori\mlaticka\vyhledej_zapis.php on line 170
Notice: Array to string conversion in C:\Complex-Web-Server-2\www\programatori\mlaticka\vyhledej_zapis.php on line 170
Notice: Array to string conversion in C:\Complex-Web-Server-2\www\programatori\mlaticka\vyhledej_zapis.php on line 170
ArrayArrayArrayArrayArrayArray
těch šest Array za sebou je výsledek po echu všech proměnných ,dal jsem si všechny proměnný vypsat a místo jednotlivých částí toho řádku to vypsalo jen Array ,tady netuším proč to píše že převádím pole na string??, jediný kde s Polem pracuji ,je ten řádek a ten jsem z DB vytáhl pomocí pole kód je asi takovýto
$dotaz= "SELECT vykresy FROM rok2012 WHERE vykresy LIKE '%$hledany_text%'";
$sql=mysql_query($dotaz)or die (mysql_error());
$num=0;
//cyklus
while($r=mysql_fetch_array($sql)) {
$r["vykresy"];
$num++;
$radek_souboru=$r["vykresy"];
$reg1= preg_match('/w\d{1,9}/',$radek_souboru ,$slozka); //cislo slozky
$reg2= preg_match('/[*/',$radek_souboru ,$zavorka); //jestli je zavorka [v retezci a za ni cokoliv
$reg3= preg_match('/-\+-/',$radek_souboru ,$folge); //jakykoliv znaky mezi pomlckama
$reg4= preg_match('/[okuma]/',$radek_souboru ,$stroj); //jestli je nazev stroje
$reg5= preg_match('/^b\d+-/',$radek_souboru ,$cislo_vykresu); //od zacatku cokoliv co zacina b az po prvni pomlcku
$reg6= preg_match('/\d+\.\d+\.\d+/',$radek_souboru ,$datum); //najit datum cislo tecka cislo tecka cislo
$reg7= preg_match('/\(*$/',$radek_souboru ,$komentar); //od kulate (zavorky az do konce radku
echo $slozka.$zavorka.$folge.$stroj.$cislo_vykresu.$datum.$komentar;
Dobrý den potřeboval bych pomoct s rozboremdvou řádků který vytáhnu z DB,
řádek 1) B14956-H39406-W71-dmg80-13.3.12 (+podložka)
řádek 2) 120366-4064-dmg35-16.3.12 [opak. W56-114660] (podložka)
předem nevím který z těchto dvou řádků vytáhnu z DB v případě že dostanu první řádek potřebuju ho rozebrat tak abych
si do proměnných uložil každou část oddělenou pomlčkou a pak už je jen správně poskládám a upravené pak vložím
zpět do DB
řádek1) $cislo_vykresu-$folge-$slozka-$stroj-$datum ($komentar) <= tyto proměnné zastupují každou část řetězce
.pokud dostanu z DB druhý řádek potřebuji jen nahradit $cislo_vykresu a $datum.
Strávil jsem několik hodin na různých stránkách s regexpama a udělal jsem si na rozbor těch řádků takovýto script
$reg1= preg_match('w\d{1,9}',$radek_souboru ,$slozka); //cislo slozky
$reg2= preg_match('[*',$radek_souboru ,$zavorka); //jestli je zavorka [v retezci a za ni cokoliv
$reg3= preg_match('-\+-',$radek_souboru ,$folge); //jakykoliv znaky mezi pomlckama
$reg4= preg_match('[okuma]',$radek_souboru ,$stroj); //jestli je nazev stroje
$reg5= preg_match('^b\d+-',$radek_souboru ,$cislo_vykresu); //od zacatku cokoliv co zacina b az po prvni pomlcku
$reg5= preg_match('\d+\.\d+\.\d+',$radek_souboru ,$datum); //najit datum cislo tecka cislo tecka cislo
$reg5= preg_match('\(*$',$radek_souboru ,$komentar); //od kulate (zavorky az do konce radku
ale bohužel mi to ani tochu nefunguje prosím Vás o pomoc jak by to mělo být správně
Dobrý den chtěl bych vědět jakým způsobem můžu dostat kurzor do určitého pole formuláře, představuji si to tak, že po tom co uživatel vstoupí na stránku s formulářem , tak mu hned začne blikat kurzor v určitém poli formuláře a hned může psát- nemusí do toho pole klikat , přesně takhle to má Seznam, po vstupu na jejich stránku můžu hned psát do pole vyhledávače předem dík za rady.
Máš pravdu , apostrofy jsem v kódu neošetřoval , v řádku jsem je rovnou mazal, tu délku řádku jsem jen pro jistotu určil na maximální možnou hodnotu která by asi nejspíš nenastala , odsazování je určitě z mojeho scriptu , než jsem ten script hodil sem tak jsem v něm pořád mazal a různě ho upravoval, zkoušel jsem různý možnosti jak to rozchodit který jsem našel na googlu , tak proto to vypadá takhle , vím že ani nemám ošetřený vstupy , při vstupu do scriptu i při vstupu do DB
popravdě jsem se s touhle omáčkou nezdržoval ,chtěl jsem mít hlavně script funkční. Teď už jsem problém vyřešil, problém byl že jsem název tabulky do který jsem chtěl zapisovat příjmal z formuláře a pak jsem ten název vložil do proměnné $nazev_table,
$rozkaz="INSERT INTO $nazev_table ('mlatinoha') VALUES ($radek)";
když jsem tam vložil název ručně (natvrdo ) tak se to už rozběhlo,
$prikaz="INSERT INTO lucik (lucik) VALUES (',$zapis_celek')";
teď už budu dodělávat jen tu omáčku atd. dík
vyřešeno, určoval jsem název tabulky do který se má zapsat, pomocí proměnný ale nefungovalo to, až když jsem ten název zapsal ručně tak se to rozjelo
dík vyřešeno, určoval jsem název tabulky do který se má zapsat pomocí proměnný ale nefungovalo to, až když jsem ten název zapsal ručně tak se to rozjelo
#3 z_moravec
řeším úplně stejný problém v jiném příspěvku, ale já nezapisuji do tabulky z proměnné která přijde přes $_POST ale z proměnné která se naplní v cyklu při procházení jednoho řádku souboru, jednoduše načtu řádek souboru ,ten uložím do proměnné a ten řádek chci zapsat do tabulky, a takto to dělám dokud není načtený poslední řádek ze souboru,ovšem já vím že soubor není prázdný a i přesto mi to vyhodí stejnou chybu jako endlessovi, podle toho co píšete Vy by to znamenalo že se do tabulky nedá zapsat prázdná proměnná $_POST ?? a co když je v proměnné několik slov oddělených mezerou popřípadě několika mezerami a v tom řádku jsou i kombinace čísel mezer znaků apod.?? to je taky špatné pro zapsání do tabulky která je nastavená jako TEXT?? předem děkuji za odpověď
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('lokalhost', 'toor', 'pwdhes');
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 lucik
(
$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; //odradkovat
//vlozit do tabulky a sloupce
mysql_query("INSERT INTO `lucik` ('$nazev_table') VALUES ('$zapis_celek')")
or die (mysql_error());
//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);
?>
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);
?>