• 5 odgovora
  • 2.574 pregleda
Savet zasto ovo ne radi? 31.07.2006. u 10:19 · pre 246 meseci #1
Evo koda pa ako je neko imao slican problem neka da savet zasto ne radi?
Problem je pri load data infile nece da upise u MySQL zapis iz fajla koji uploadujem.
Tabela test sadrzi samo jednu kolonu koja se zove naziv

Code:

<? include 'dblogin.php'; ?>
<html>
<head>
<title>Test</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="<? $PHP_SELF ?>">
    <input type="file" name="filetoupload"  /><br /><br /><input type="submit" value="Upload / Install"  />
</form>
<?php
if(isset($_FILES['filetoupload']['tmp_name'])){
    $uploaddir = "tmp/";
    move_uploaded_file($_FILES['filetoupload']['tmp_name'],$uploaddir.$_FILES['filetoupload']['name']);
    
    $filename = $_FILES['filetoupload']['name'];
    $file = "tmp/".$filename;
    $root = $_SERVER['DOCUMENT_ROOT']."/".$file;
    mysql_query("load data infile '".$root."' into table test fields terminated by ';'");
}
    $Qarhiva = mysql_query("select naziv from test order by naziv");
    while($result = mysql_fetch_assoc($Qarhiva)){
        echo $result['naziv']."<br>";
    }
?>
</body>
</html>



Unapred hvala
Poz.
Potpis
There's no place like 127.0.0.1
Re: Savet zasto ovo ne radi? 31.07.2006. u 13:40 · pre 246 meseci #3
Opet je misleci da sam resio problem ali nisam!

Sve je uredu u localhost a kada prebacim na server istu skriptu ne radi.
Evo i skripte.
Code:

<? include 'dblogin.php'; ?>
<head>
<title>Test</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="<? $PHP_SELF ?>">
    <input type="file" name="filetoupload"  /><br /><br /><input type="submit" value="Upload / Install"  />
</form>
<?php
if(isset($_FILES['filetoupload']['tmp_name'])){
    $uploaddir = "tmp/";
    move_uploaded_file($_FILES['filetoupload']['tmp_name'],$uploaddir.$_FILES['filetoupload']['name']);
    
    $filename = $_FILES['filetoupload']['name'];
    $root = $_SERVER['DOCUMENT_ROOT']."/tmp/".$filename; 
    
    mysql_query("load data infile '$root' into table test fields terminated by ';'");
}
?>
</body>
</html>


Interesuje me sledece da li j problem u ovlascenjima servera. Tj. da li sys.admin moze zabraniti ili sta vec. Molim za savet.
Hvala!
Poz.
Potpis
There's no place like 127.0.0.1
Re: Savet zasto ovo ne radi? 31.07.2006. u 17:05 · pre 246 meseci #4
Citat:
ISKREN: Opet je misleci da sam resio problem ali nisam!
Interesuje me sledece da li j problem u ovlascenjima servera. Tj. da li sys.admin moze zabraniti ili sta vec. Molim za savet.
Hvala!
Poz.


Da, mislim da je prolbem sa ovlascenjima , tacnije moras imati ovlastenje FILE - koje obicni korsnici obicno nemaju, zbog mogucbnosti zloupotrebe!
Re: Savet zasto ovo ne radi? 01.08.2006. u 13:13 · pre 246 meseci #5
Citat:
mb_sa: Da, mislim da je prolbem sa ovlascenjima , tacnije moras imati ovlastenje FILE - koje obicni korsnici obicno nemaju, zbog mogucbnosti zloupotrebe!


Hvala mb_sa. Da li mozes malo bolje objasniti to ovlascenje ako ti nije problem!
Hvala ti jos jednom!
Potpis
There's no place like 127.0.0.1
Re: Savet zasto ovo ne radi? 01.08.2006. u 16:55 · pre 246 meseci #6
Citat:
ISKREN: Hvala mb_sa. Da li mozes malo bolje objasniti to ovlascenje ako ti nije problem!
Hvala ti jos jednom!


Da bi mogao izvrsiti LOAD DATA INFILE administraor ti
mora dati ovlascenje FILE koje ti omogucava da učitaš podatake
iz datoteke u tabelu i obratno. Dakle, radi se o ovlasecnjima nad bazom, odnosno tabelom.

Ovo ovlascenje, kao sto sam rekao obicno korsnici nemaju zbog
zloupotrebe, jer se moze iskorstiti za ucitavanje datoteka
koje moze da vidi i sam MySQL server, poptu korisnickih podataka i slicno.

Vise ti i sam ne bi mogao ista reci. Vidi sa adminom da ti da do ovlascenje, ali sumnjam :)

Pozdrav.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme