Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Nece da pise u fajl...

[es] :: PHP :: Nece da pise u fajl...

[ Pregleda: 1320 | Odgovora: 11 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bojan Zivanovic
Freelance programer
Pančevo,Srbija

Član broj: 32974
Poruke: 146
194.106.171.*

Jabber: Bojan_Zivanovic@elitesecurity.org
Sajt: bojanz.blogspot.com


Profil

icon Nece da pise u fajl...17.04.2005. u 14:38

Ispod poruke je link ka arhivi, u kojoj su instalaciona skripta, kao i dve klase - jedna za bazu.
Instalaciona skripta treba da posto dobije potrebne informacije u settings.php zapise parametre za bazu, koji ce koristiti db klasa. U lokalu to radi ok (PHP5), ali na serveru (PHP) nece. settings.php ima sve potrebne dozvole (chmod 777), ali u fajl se jednostavno nista ne zapise, a db klasa se cak ni ne pobuni.
Samim tim ni tabele u bazi nisu napravljene. To nisam proverio u lokalu, posto nemam instaliran mysql.
Ne znam zasto ne radi.
Pogledajte kod, pa mi recite

Link: www.angry-orange.com/bojan/help.tar.gz
17.04.2005. u 14:38 

sale83
Aleksandar Ervacanin
Full Time Student & Full Time Zaposlen ( IT Suppo..
Sydney

Član broj: 41625
Poruke: 612
*.inabox.telstra.net.



Profil

icon Re: Nece da pise u fajl...18.04.2005. u 03:58
Ako su ti fajlovi ovaki kao sto si stavio da mi preuzmemo !!
Onda pogledaj ovaj Fajl
main_class.php

Code:

<?php
#
# Main class
#

class library {
    var $error;

    function library() {
    if(get_magic_quotes_runtime() == 1) set_magic_quotes_runtime(0);
    error_reporting(E_ERROR | E_PARSE);
    }
    function writeConfig($array) {
        extract($array);
        $config = <<<EOF // a ovde ti treba  na kraju -->> ;
<?php  // ovo ovde je nepotrebno ( <?php neigra nikakvu ulogu)
#
# Biblioteka.PHP 1.0
#
define('DB', "$db");
define('DBHOST', "$dbhost");
define('DBUSER', "$dbuser");
define('DBPASS', "$dbpass");
?> 
// odavde pa nadole ti ovo nista neradi  !!! ( fali ti <php?)//
EOF;
        $file = fopen('include/settings.php', 'w');
        fwrite($file, $config);
        fclose($file);
    }
    function checkFields($array) {
        $empty = 0;
        foreach($array as $val) {
            if(empty($val)) $empty++;
        }
        if($empty > 0) return 1;
        else return 0;
    }
}

?>


Mislim da ces sam da uocis greske!!!
Bolje pogledaj malo pa onda sam odluci kako ces sve to da ukolopis sa tim <php?!!
aj poz
PHP/MySQl/SQL/VB.NET/JAVA/JSP/Servlet/MSSQLServer/MSAccess/Perl
COBOL/JCL/CICS -> IBM Mainframe
Nortel/Cisco/Sidewinder
18.04.2005. u 03:58 

Bojan Zivanovic
Freelance programer
Pančevo,Srbija

Član broj: 32974
Poruke: 146
194.106.171.*

Jabber: Bojan_Zivanovic@elitesecurity.org
Sajt: bojanz.blogspot.com


Profil

icon Re: Nece da pise u fajl...18.04.2005. u 23:30
Ne kapiram sta nije jasno?
U fajl se upisuju <?php i ?> da ako neko pozove taj fajl da se ovaj izvrsi/umesto da pokaze podatke za prisutup bazi. Ne vidim problem. Objasni molim te
18.04.2005. u 23:30 

x kepa x
Mihailo Jankovic
Beograd

Član broj: 743
Poruke: 113
*.yubc.net.

ICQ: 7739255


Profil

icon Re: Nece da pise u fajl...19.04.2005. u 00:11
php kod otvarash sa <?php ili <? skracheno.... a zatvarash sa ?>
u tvom fajlu kolko vidim iz saletovog posta, ti si:

1. Otvorio sa <?php
2. Opet otvorio sa <?php, shto je php iskulirao jer je vech otvoren,
3. Zatvorio sa ?>, shto php NIJE iskulirao i tu je zvanichno zatvorio kod.
4. Posle toga imash josh koda... (koji se neche izvrshiti jel si malopre zatvorio php kod i on se vishe neparsira.
5. Opet si zatvorio kod.

Dakle poenta je sledecha... obrishi drugi <?php i prvi ?> iz koda. Tako da ostane samo ovaj sa pochetka fajla i ovaj sa kraja fajla.
19.04.2005. u 00:11 

synan
Armando Vega
Rijeka

Član broj: 55944
Poruke: 3
*.adsl.net.t-com.hr.

Sajt: www.rilinux.hr


Profil

icon Re: Nece da pise u fajl...19.04.2005. u 08:28
Heh, al mislim da je čovjek zapravo htio da sam fajl u koji piše sadrži <?php i ?> jer bi trebao biti (gle čuda) php skripta..

nisam nikada koristio EOF fore pa ne znam gdje je pogriješio, ali jednostavnije bi bilo koristiti lajnbrejkove u čistom stringu..
19.04.2005. u 08:28 

Bojan Zivanovic
Freelance programer
Pančevo,Srbija

Član broj: 32974
Poruke: 146
194.106.171.*

Jabber: Bojan_Zivanovic@elitesecurity.org
Sajt: bojanz.blogspot.com


Profil

icon Re: Nece da pise u fajl...19.04.2005. u 13:42
Synan je pogodio razlog za <?php :)
To provereno radi, kod mene u lokalu je super, ali ne znam zasto ne radi na serveru :(
Rekoh mozda ima neka greska koju cete znati da nadjete...

EDIT: Mrzim cpanel. Settings je bio dobro upisan, ali cpanel ne pokazuje pocetak fajla, ili u ovom slucaju ceo fajl. Takodje, bio je problem u db klasi, pa query nije radio. Sada je sve ispravljeno

[Ovu poruku je menjao Bojan Zivanovic dana 19.04.2005. u 16:02 GMT+1]
19.04.2005. u 13:42 

sale83
Aleksandar Ervacanin
Full Time Student & Full Time Zaposlen ( IT Suppo..
Sydney

Član broj: 41625
Poruke: 612
*.inabox.telstra.net.



Profil

icon Re: Nece da pise u fajl...19.04.2005. u 13:58
Ja stvarno ne znam kako tebi na lokalu radi ! Kad ovaj dole kod ti se uposte ne izvrasava ( po onome sto si ostavio da vidimo)
Code:
?> 
// odavde pa nadole ti ovo nista neradi ovo php uopste ne prevodi ( parsira)
EOF;
        $file = fopen('include/settings.php', 'w');
        fwrite($file, $config);
        fclose($file);
    }
    function checkFields($array) {
        $empty = 0;
        foreach($array as $val) {
            if(empty($val)) $empty++;
        }
        if($empty > 0) return 1;
        else return 0;
    }
}

?>

MOzada je gresim !
Aj neka neko drugi pogleda pa neka kaze Svoje misljenje !
Ali ja jos jednom kazem da se ovaj doticni deo koda ne izvrasava ako je ovako kod tebe!!!!!

Mozada ovako treba da izgleda :
Primer 1
Code:
<?php
#
# Main class
#

class library {
    var $error;

    function library() {
    if(get_magic_quotes_runtime() == 1) set_magic_quotes_runtime(0);
    error_reporting(E_ERROR | E_PARSE);
    }
    function writeConfig($array) {
        extract($array);
        $config = <<<EOF // ovo je ispravno nisam to nikad koristio ovde pocinje Heredoc
?>
<?php
#
# Biblioteka.PHP 1.0
#
define('DB', "$db");
define('DBHOST', "$dbhost");
define('DBUSER', "$dbuser");
define('DBPASS', "$dbpass");

EOF; // ovde se zavrsava Heredoc
?>
<?
        $file = fopen('include/settings.php', 'w');
        fwrite($file, $config);
        fclose($file);
    }
    function checkFields($array) {
        $empty = 0;
        foreach($array as $val) {
            if(empty($val)) $empty++;
        }
        if($empty > 0) return 1;
        else return 0;
    }
}

?>


Primer 2
Code:

<?php
#
# Main class
#

class library {
    var $error;

    function library() {
    if(get_magic_quotes_runtime() == 1) set_magic_quotes_runtime(0);
    error_reporting(E_ERROR | E_PARSE);
    }
    function writeConfig($array) {
        extract($array);
        $config = <<<EOF //  pocetak Heredoc-a

#
# Biblioteka.PHP 1.0
#
define('DB', "$db");
define('DBHOST', "$dbhost");
define('DBUSER', "$dbuser");
define('DBPASS', "$dbpass");

EOF; // Zavrsetak Heredoc
        $file = fopen('include/settings.php', 'w');
        fwrite($file, $config);
        fclose($file);
    }
    function checkFields($array) {
        $empty = 0;
        foreach($array as $val) {
            if(empty($val)) $empty++;
        }
        if($empty > 0) return 1;
        else return 0;
    }
}

?>


E ova dva primera ce php u celosti parsirati ! (a onaj sto si ti dao da vidimo nece prevesti -->>"onaj kod koji sam ti naznacio")


[Ovu poruku je menjao sale83 dana 20.04.2005. u 01:43 GMT+1]

[Ovu poruku je menjao sale83 dana 20.04.2005. u 01:46 GMT+1]
PHP/MySQl/SQL/VB.NET/JAVA/JSP/Servlet/MSSQLServer/MSAccess/Perl
COBOL/JCL/CICS -> IBM Mainframe
Nortel/Cisco/Sidewinder
19.04.2005. u 13:58 

Bojan Zivanovic
Freelance programer
Pančevo,Srbija

Član broj: 32974
Poruke: 146
194.106.171.*

Jabber: Bojan_Zivanovic@elitesecurity.org
Sajt: bojanz.blogspot.com


Profil

icon Re: Nece da pise u fajl...19.04.2005. u 15:10
Ali primeti onaj deo <<<EOF. Ispod toga, na sve do sledeceg EOF fajla PHP gledao kao na jedan string, znaci to se ne parsira, vec se smesta u promenljivu, pa se upisuje u fajl.
Pogledaj malo php manual, ne znam ja to lepo da objasnim
19.04.2005. u 15:10 

Jbyn4e
Admin/Developer, Yunix
Zrenjanin - Beograd

Član broj: 422
Poruke: 3275
*.nat-pool.bgd.sbb.co.yu.

ICQ: 10450578
Sajt: bio sf.co.yu


Profil

icon Re: Nece da pise u fajl...19.04.2005. u 17:46
Hm, to se zove HEREDOC, nisam nikad koristio niti video dok sad nisi posotvao.
Vise o tome:
http://docs.php.net/en/language.types.html
pa trazi heredoc... ali nema veze sa EOF znakom, vec sa znakom <<<, a ono EOF je samo delimiter tj. razgranicavac... isto tako si mogao da stavis i <<<BLATRUC i da ga zavrsis sa BLATRUC;
Pitanje kojie se postavlja je da li je u tome dozvoljeno koriscenje <? i slicnih...
Isto treba da pazis da li ti je ispunjen uslov u lokalu i na serveru:
Citat:

It's also important to realize that the first character before the closing identifier must be a newline as defined by your operating system. This is \r on Macintosh for example.
- moguce je da ti bas to pravi problem?
Koje su verzije php-a u pitanju, i da li mozda server radi u nekom safe modu pa da ti to predstavlja problem?


19.04.2005. u 17:46 

Bojan Zivanovic
Freelance programer
Pančevo,Srbija

Član broj: 32974
Poruke: 146
194.106.171.*

Jabber: Bojan_Zivanovic@elitesecurity.org
Sajt: bojanz.blogspot.com


Profil

icon Re: Nece da pise u fajl...19.04.2005. u 21:03
Kao sto sam napisao u EDITU predhodnoh posta, nasao sam problem, bio je u db klasi, a cpanel nije hteo sve da prikaze kako valja pa sam ja mislio da je problem tu...
Ovo za heredoc sam ja znao, nego sam govorio clanu koji je odgovorio na moj post. U heredocu moze da se pise bilo sta, i "" i <?php nije bitno...
19.04.2005. u 21:03 

sale83
Aleksandar Ervacanin
Full Time Student & Full Time Zaposlen ( IT Suppo..
Sydney

Član broj: 41625
Poruke: 612
*.inabox.telstra.net.



Profil

icon Re: Nece da pise u fajl...20.04.2005. u 00:56
Citat:
Ali primeti onaj deo <<<EOF. Ispod toga, na sve do sledeceg EOF fajla PHP gledao kao na jedan string, znaci to se ne parsira, vec se smesta u promenljivu, pa se upisuje u fajl.
Pogledaj malo php manual, ne znam ja to lepo da objasnim


Izvini NIkad nisam koristio <<< ( Heredoc)>>( moj greska). Sad sam pogledao manuel !!

Znaci ovoaj de koda PHP ne parisira vec smesta u string: KOji ce kasnije da zapise negde :
Code:
        
$config = <<<EOF
<?php
#
# Biblioteka.PHP 1.0
#
define('DB', "$db");
define('DBHOST', "$dbhost");
define('DBUSER', "$dbuser");
define('DBPASS', "$dbpass");
?>
EOF;


Ali zato ovaj dole mora da ima <? ?>
Code:

<?        $file = fopen('include/settings.php', 'w');
        fwrite($file, $config);
        fclose($file);
    }
    function checkFields($array) {
        $empty = 0;
        foreach($array as $val) {
            if(empty($val)) $empty++;
        }
        if($empty > 0) return 1;
        else return 0;
    }
}

?>


PHP/MySQl/SQL/VB.NET/JAVA/JSP/Servlet/MSSQLServer/MSAccess/Perl
COBOL/JCL/CICS -> IBM Mainframe
Nortel/Cisco/Sidewinder
20.04.2005. u 00:56 

Jbyn4e
Admin/Developer, Yunix
Zrenjanin - Beograd

Član broj: 422
Poruke: 3275
*.verat.net.

ICQ: 10450578
Sajt: bio sf.co.yu


Profil

icon Re: Nece da pise u fajl...20.04.2005. u 08:46
Citat:
Bojan Zivanovic: Kao sto sam napisao u EDITU predhodnoh posta, nasao sam Ovo za heredoc sam ja znao, nego sam govorio clanu koji je odgovorio na moj post. U heredocu moze da se pise bilo sta, i "" i <?php nije bitno...

I ja sam to govorio prethodnom clanu.. posto nisi pomenuo GDE da gleda u manualu.... a inace ja sam pisao poruku dok si je ti editovao... :)

20.04.2005. u 08:46 

[es] :: PHP :: Nece da pise u fajl...

[ Pregleda: 1320 | Odgovora: 11 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.