21. juli 2008 - 13:13Der er
11 kommentarer og 1 løsning
Beholde billedefil under redigering?
Hej Eksperter,
Jeg har en side hvor jeg kan oprette produkter som gennem i en database - selve det med at oprette dem både med billede, informationer osv. fungerer problemfrit - men der opstår problemer når jeg ønsker at redigere produktet efterfølgende. Så betyder det at jeg skal ind og finde billedet igen (Er det ikke muligt at beholde billedefilen uden at skulle finde den frem, hvergang man skal redigere?)
Redigerprodukt.php <?
$type = $_GET['type'];
$id = $_GET['id'];
$produkt_valg = mysql_query("SELECT * FROM testprodukter WHERE id='$id'") or die(mysql_error());
if ($filnavn == "" && !empty($_FILES['upfil']['name']) && is_uploaded_file($_FILES['upfil']['tmp_name'])) { $fil_ext = strrchr($_FILES['upfil']['name'], "."); $fil_navn = substr($_FILES['upfil']['name'], 0, strrpos($_FILES['upfil']['name'], ".")); if (preg_match("/^[-0-9A-Z_\[\]]+$/i", $fil_navn) && preg_match("/(\.gif|\.GIF|\.jpg|\.JPG|\.png|\.PNG)$/", $fil_ext)) { if ($_FILES['upfil']['size'] <= $konfiguration['max_stoerrelse']) { $fil_navn = $fil_navn."[".rand(10000, 99999)."]".$fil_ext; // HUSK AT DEFINERE VARIABLEN $filnavnthumb $result = mysql_query("UPDATE testprodukter SET filnavn='$filnavn' WHERE id='$id'") or die(mysql_error()); $result = mysql_query("UPDATE testprodukter SET filnavnthumb='$filnavnthumb' WHERE id='$id'") or die(mysql_error()); move_uploaded_file($_FILES['upfil']['tmp_name'], $konfiguration['upload_bibliotek'].$_FILES['upfil']); chmod($konfiguration['upload_bibliotek'].$fil_navn, 0644); if ($size = @getimagesize($konfiguration['upload_bibliotek'].$_FILES['upfil'])) { if (!verify_image($konfiguration['upload_bibliotek'].$fil_navn)) { unlink($konfiguration['upload_bibliotek'].$fil_navn); } } else { unlink($konfiguration['upload_bibliotek'].$fil_navn); } } } }
if (isset($_POST['slet_fil'])) { $result = mysql_query("UPDATE testprodukter SET filnavn='' WHERE id='$id'") or die(mysql_error()); $result = mysql_query("UPDATE testprodukter SET filnavnthumb='' WHERE id='$id'") or die(mysql_error()); unlink($konfiguration['upload_bibliotek'].$fil_navn); }
}
///*** FIL SLUT FIL SLUT ***///
$opdater_filnavn = mysql_query("UPDATE testprodukter SET filnavn='$filnavn', filnavnthumb='$filnavnthumb', produkt='$produkt', mat='$mat', beskrivelse='$beskrivelse', pris='$pris', farve='$farve', str='$str' WHERE id='$id'") or die(mysql_error());
if ($filnavn == "" && !empty($_FILES['upfil']['name']) && is_uploaded_file($_FILES['upfil']['tmp_name'])) { $fil_ext = strrchr($_FILES['upfil']['name'], "."); $fil_navn = substr($_FILES['upfil']['name'], 0, strrpos($_FILES['upfil']['name'], ".")); if (preg_match("/^[-0-9A-Z_\[\]]+$/i", $fil_navn) && preg_match("/(\.gif|\.GIF|\.jpg|\.JPG|\.png|\.PNG)$/", $fil_ext)) { if ($_FILES['upfil']['size'] <= $konfiguration['max_stoerrelse']) { $fil_navn = $fil_navn."[".rand(10000, 99999)."]".$fil_ext; // HUSK AT DEFINERE VARIABLEN $filnavnthumb $result = mysql_query("UPDATE testprodukter SET filnavn='$filnavn' WHERE id='$id'") or die(mysql_error()); $result = mysql_query("UPDATE testprodukter SET filnavnthumb='$filnavnthumb' WHERE id='$id'") or die(mysql_error()); move_uploaded_file($_FILES['upfil']['tmp_name'], $konfiguration['upload_bibliotek'].$_FILES['upfil']); chmod($konfiguration['upload_bibliotek'].$fil_navn, 0644); if ($size = @getimagesize($konfiguration['upload_bibliotek'].$_FILES['upfil'])) { if (!verify_image($konfiguration['upload_bibliotek'].$fil_navn)) { unlink($konfiguration['upload_bibliotek'].$fil_navn); } } else { unlink($konfiguration['upload_bibliotek'].$fil_navn); } } } }
if (isset($_POST['slet_fil']) && isset($filnavnu)) { $result = mysql_query("UPDATE testprodukter SET filnavn='' WHERE id='$id'") or die(mysql_error()); $result = mysql_query("UPDATE testprodukter SET filnavnthumb='' WHERE id='$id'") or die(mysql_error()); unlink($filnavnu); unlink($filnavnthumbu); }
}
///*** FIL SLUT FIL SLUT ***///
$opdater_filnavn = mysql_query("UPDATE testprodukter SET filnavn='$filnavn', filnavnthumb='$filnavnthumb', produkt='$produkt', mat='$mat', beskrivelse='$beskrivelse', pris='$pris', farve='$farve', str='$str' WHERE id='$id'") or die(mysql_error());
Har noget her så måske vil virke men det skal kun være med billede funktionen og ikke med tekst delen, så hvis du kan pille tekstdelen ud, tror jeg det ville fungere.:
Coderdk, har du evt. nogle andre forslag? Ellers lukker jeg nok spørgsmålet, så smid et svar så kan vi dele point - Du har jo alligevel brugt tid på det :)
if ($filnavn == "" && !empty($_FILES['upfil']['name']) && is_uploaded_file($_FILES['upfil']['tmp_name'])) { $fil_ext = strrchr($_FILES['upfil']['name'], "."); $fil_navn = substr($_FILES['upfil']['name'], 0, strrpos($_FILES['upfil']['name'], ".")); if (preg_match("/^[-0-9A-Z_\[\]]+$/i", $fil_navn) && preg_match("/(\.gif|\.GIF|\.jpg|\.JPG|\.png|\.PNG)$/", $fil_ext)) { if ($_FILES['upfil']['size'] <= $konfiguration['max_stoerrelse']) { $fil_navn = $fil_navn."[".rand(10000, 99999)."]".$fil_ext; // HUSK AT DEFINERE VARIABLEN $filnavnthumb $result = mysql_query("UPDATE testprodukter SET filnavn='$filnavn' WHERE id='$id'") or die(mysql_error()); $result = mysql_query("UPDATE testprodukter SET filnavnthumb='$filnavnthumb' WHERE id='$id'") or die(mysql_error()); move_uploaded_file($_FILES['upfil']['tmp_name'], $konfiguration['upload_bibliotek'].$_FILES['upfil']); chmod($konfiguration['upload_bibliotek'].$fil_navn, 0644); if ($size = @getimagesize($konfiguration['upload_bibliotek'].$_FILES['upfil'])) { if (!verify_image($konfiguration['upload_bibliotek'].$fil_navn)) { unlink($konfiguration['upload_bibliotek'].$fil_navn); } } else { unlink($konfiguration['upload_bibliotek'].$fil_navn); } } } }
if (!empty($_POST['slet_fil']) && $_POST['slet_fil'] == 1 && isset($filnavnu)) { $result = mysql_query("UPDATE testprodukter SET filnavn='' WHERE id='$id'") or die(mysql_error()); $result = mysql_query("UPDATE testprodukter SET filnavnthumb='' WHERE id='$id'") or die(mysql_error()); unlink($filnavnu); unlink($filnavnthumbu); }
}
///*** FIL SLUT FIL SLUT ***///
$opdater_filnavn = mysql_query("UPDATE testprodukter SET filnavn='$filnavn', filnavnthumb='$filnavnthumb', produkt='$produkt', mat='$mat', beskrivelse='$beskrivelse', pris='$pris', farve='$farve', str='$str' WHERE id='$id'") or die(mysql_error());
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.