26. maj 2005 - 12:52
Der er
10 kommentarer
Mysql fjerner backslah i sti
Hej Jeg har lavet et lille stunp php som skal insætte et billedes sti. Men når den insætter stien i mysql så er \ væk. Hvordan kan det går til jeg har lavet typen til en varchar(200) nogle ideer ? Mvh Skirk
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Ja, brug addslashes-funktionen inden du indsætter. Eller skriv dine \-ere som /-ere - det skal såmænd nok virke. Oftest ;)
Hmm det virker ikke hvis jeg gør sådan, men er det en rigtig måde jeg gør det på eller? Og har du et eksempel på at det andet forslag? :) <?php if (isset($_POST['submit'])) { $username = $_POST['username']; $password = $_POST['password']; $filepath = $_POST['fileup']; } $wee = addslashes($filepath); // echo $_POST['username']; // echo $_POST['password']; // echo $_POST['fileup']; $image = imagecreatefromjpeg($wee); $w = imagesx($image); $h = imagesy($image); // echo $w; // echo $h; $maxw = 150; $maxh = 150; $scalw = $w/$maxw; $scalh = $h/$maxh; if ($scalw>$scalh){ $neww = $w/$scalw; $newh = $h/$scalw; } else { $neww = $w/$scalh; $newh = $h/$scalh; } $newimage = imagecreatetruecolor($neww,$newh); imagecopyresized($newimage,$image,0,0,0,0,$neww,$newh,$w,$h); $filnavn = pathinfo($wee); $filnavn = $filnavn['basename']; imagejpeg($newimage,"../uppic/media/profiles/".$filnavn); $kryb = md5($password); $conn = mysql_connect("localhost", "root", "mikker") or die("Kunne ikke forbinde"); mysql_select_db("test", $conn); mysql_query("INSERT INTO bruger(username,password,picpath) VALUES ('".$username."','".$kryb."','".$filepath."')") or die (mysql_error()); $result = mysql_query("SELECT picpath FROM bruger") or die (mysql_error()); while($blog_entry = mysql_fetch_array($result)){ echo $blog_entry['picpath']; } ?>
Du skal nok kun lave addslashes lige inden du indsætter. Men hvad indeholder dit filnavn, som kan gå galt?
fx et billede der ligger her c:\billeder\fisk.jpg og når den sætter den sti ind i databasen laver den stien om til c:billederfisk.jpg
Måske, lige inden din query $filepath = str_replace("\\", "\\\\", $filepath); Men hvorfor bruger du \ og den fulde sti?
Eller som erik skriver: mysql_query("INSERT INTO bruger(username,password,picpath) VALUES ('".$username."','".$kryb."','". addslashes($filepath)."')") or die (mysql_error());
oki på den måde men ja jeg faktisk ikke bruge den fulde sti billedet skal placere sig et andet sted :)
Nå jeg har fået det til smid et svar en af jer og jeg giver point :)
Erik samler ikke på point, og det var han hans forslag som er rigtigt, så, smid svar selv, og accepter dit eget svar! :O)
Vi tilbyder markedets bedste kurser inden for webudvikling