Avatar billede glonda Nybegynder
19. september 2006 - 15:45 Der er 42 kommentarer og
1 løsning

Slette billede fra database og mappe på server

Hvordan sletter jeg et billede fra server og i databasen.

Når jeg uploader et billede så laver den 2 stk et originalt og et thumb. derefter smider den det i databasen som indeholder id, navn, billede, thumb, stibillede, sti thumb,

dette vil jeg slette ved at trykke på "delete" den skal altså slettet på id'et og slette de 2 filer.

Jeg ved jeg skal bruge en unlink() funktion men hvordan?

Min kode ser sålede ud "dette er udtræks delen":

<?php    session_start();
        if($_SESSION['tjek'] != 1){
    header("location: ../../login.php");
}
include("../../connection.php"); // samme som på alle andre sider
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>

<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<link href="../../admin/rouge.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
    background-color: #891d27;
}
a:link {
    color: #FFFFFF;
}
a:visited {
    color: #FFFFFF;
}
a:hover {
    color: #FFFFFF;
}
a:active {
    color: #FFFFFF;
}
-->
</style>
<link href="../../../wamp/www/rouge/rouge.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="590" height="173" border="0" cellpadding="0" cellspacing="0" id="indhold">
  <tr bgcolor="#891d27" class="tekst">
    <td height="18" colspan="3" align="left" valign="top"><p align="center" class="overskrift">
      <?php
                      if($_GET["delete"] != "") {
        mysql_query("DELETE FROM gallery WHERE id = '$_GET[delete]'"); //sletter en nyhed
    }
          $name = $_POST['name'];
          $id = $_GET['id']; 
          $billede = $_POST['billede'];
          $thumb = $_POST['thumb'];
          $stibillede = $_POST['stibillede'];
          $stithumb = $_POST['stithumb'];
         
$query = mysql_query("SELECT * FROM gallery ORDER BY id desc") or die(mysql_error());
if(mysql_num_rows($query)) {

       
          while($row=mysql_fetch_array($query)){   
?>
    Welcome to your gallery </p></td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td width="73" align="left" valign="top" class="overskrift"><a href="gallery_ret.php?id=<?php echo $row['id']; // her bliver du sendt vidre til ret delen?>">Edit</a></td>
    <td width="315" align="left" valign="top" class="overskrift"><a href="gallery.php?delete=<?php echo $row['id'];// trykkes der her bliver nyheden slettet ?>"> Delete </a></td>
    <td align="right" class="menutekst">&nbsp;</td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td align="left" valign="top" class="menutekst" ><div align="center"><strong>Name: <?php echo $row['name']; ?></strong> </div></td>
    <td align="right" class="menutekst"><div align="left"><a href="../../pictures/<?php echo $row['billede']; ?>" target="_blank"><img src="../../pictures/thumb/<?php echo $row['thumb']; ?>" border="0"></a> </div>
        <div align="right"></div></td>
    <td width="202" align="left" valign="top" ><strong>File: </strong><?php echo $row['stibillede']; ?></td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td colspan="3" align="left" valign="top" ><br>
        <?php
}
}
?></td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td colspan="3">&nbsp;</td>
  </tr>
</table>
</body>
</html>
Avatar billede yHec Novice
19. september 2006 - 16:40 #1
Prøv denne her, den virker for mig:
<?php
mysql_select_db($database, $conn);

//find billednavnet i databasen

id, navn, billede, thumb, stibillede, sti thumb,


$query_rs_del_doc = sprintf("SELECT * FROM billedtabel WHERE id = %s", $_GET['id']);
$rs_del_doc = mysql_query($query_rs_del_doc, $conn) or die(mysql_error());
$row_rs_del_doc = mysql_fetch_assoc($rs_del_doc);
$totalRows_rs_del_doc = mysql_num_rows($rs_del_doc);

// slet filen, hvis den eksisterer
if (file_exists($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede'])) {
    unlink ($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede']);
    unlink ($row_rs_del_doc['sti thumb']."/".$row_rs_del_doc['thumb']);
    }


// slet fra DB
if ((isset($_GET['ID'])) && ($_GET['ID'] != "")) {
  $deleteSQL = sprintf("DELETE FROM billedtabel WHERE id=%s", $_GET['ID']);

  mysql_select_db($database, $conn);
  $Result1 = mysql_query($deleteSQL, $conn) or die(mysql_error());
 
  ?>

/y
Avatar billede yHec Novice
19. september 2006 - 16:42 #2
Hov... Fjern lige denne her linje:
id, navn, billede, thumb, stibillede, sti thumb, (brugte den til at modificerer scriptet, og glemte at slette den.... hehe)

/y
Avatar billede glonda Nybegynder
19. september 2006 - 16:50 #3
jeg får disse 2 fejl:

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\rouge\admin\gallery\gallery.php on line 50

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\rouge\admin\gallery\gallery.php on line 56
Avatar billede glonda Nybegynder
19. september 2006 - 16:51 #4
som er mysql_select_db($database, $conn);

og $rs_del_doc = mysql_query($query_rs_del_doc, $conn) or die(mysql_error());
Avatar billede yHec Novice
19. september 2006 - 17:05 #5
Der er fordi, du skal lave din egen connectstring!

/y
Avatar billede yHec Novice
19. september 2006 - 17:09 #6
Og en connectstring ser ca således ud:

<?php
$hostname = den host databasen kører på;
$database = din database;
$username = dit brugernavn;
$password = din kode;
$conn = mysql_pconnect($hostname, $username, $password);
?>

Udfyld selv de relevante felter

Den skal stå FØR du forsøger at komme i kontakt med databasen.

/y
Avatar billede glonda Nybegynder
19. september 2006 - 17:30 #7
jeg har en include fil i toppen til min database :)
Avatar billede yHec Novice
19. september 2006 - 17:39 #8
Det kan jeg se. Men så skal du blot sørge for at skifte $conn og $database (variabelnavnene) ud med dem der står i din connection.php!

Så burde det virke!

Husk desuden at rette tabelnavnet i de to sqlkald - jeg vidste jo ikke hvad den hedder!!

/y
Avatar billede glonda Nybegynder
19. september 2006 - 17:57 #9
jeg har rettet det. men får denne fejl :(

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

der står bare ikke noget i linje 1
Avatar billede yHec Novice
19. september 2006 - 18:09 #10
Prøv at lægge koden herop.

Jeg kunne forestille mig, at du ikke har ændret tabelnavnet

/y
Avatar billede glonda Nybegynder
19. september 2006 - 18:18 #11
<?php
include("../../connections/connection.php");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>

<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<link href="../../admin/rouge.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
    background-color: #891d27;
}
a:link {
    color: #FFFFFF;
}
a:visited {
    color: #FFFFFF;
}
a:hover {
    color: #FFFFFF;
}
a:active {
    color: #FFFFFF;
}
-->
</style>
<link href="../../../wamp/www/rouge/rouge.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="590" height="173" border="0" cellpadding="0" cellspacing="0" id="indhold">
  <tr bgcolor="#891d27" class="tekst">
    <td height="18" colspan="3" align="left" valign="top"><p align="center" class="overskrift">
      <?php
    //include("../../connections/connection.php");
//find billednavnet i databasen

$query_rs_del_doc = sprintf("SELECT * FROM gallery WHERE id = %s", $_GET['id']);
$rs_del_doc = mysql_query($query_rs_del_doc) or die(mysql_error());
$row_rs_del_doc = mysql_fetch_assoc($rs_del_doc);
$totalRows_rs_del_doc = mysql_num_rows($rs_del_doc);

// slet filen, hvis den eksisterer
if (file_exists($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede'])) {
    unlink ($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede']);
    unlink ($row_rs_del_doc['stithumb']."/".$row_rs_del_doc['thumb']);
    }


// slet fra DB
if ((isset($_GET['ID'])) && ($_GET['ID'] != "")) {
  $deleteSQL = sprintf("DELETE FROM gallery WHERE id=%s", $_GET['ID']);

  mysql_select_db($database, $conn);
  $Result1 = mysql_query($deleteSQL, $conn) or die(mysql_error());
?>
    Welcome to your gallery </p></td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td width="73" align="left" valign="top" class="overskrift"><a href="gallery_ret.php?id=<?php echo $row['id']; // her bliver du sendt vidre til ret delen?>">Edit</a></td>
    <td width="315" align="left" valign="top" class="overskrift"><a href="gallery.php?delete=<?php echo $row['id'];// trykkes der her bliver nyheden slettet ?>"> Delete </a></td>
    <td align="right" class="menutekst">&nbsp;</td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td align="left" valign="top" class="menutekst" ><div align="center"><strong>Name: <?php echo $row['name']; ?></strong> </div></td>
    <td align="right" class="menutekst"><div align="left"><a href="../../pictures/<?php echo $row['billede']; ?>" target="_blank"><img src="../../pictures/thumb/<?php echo $row['thumb']; ?>" border="0"></a> </div>
        <div align="right"></div></td>
    <td width="202" align="left" valign="top" ><strong>File: </strong><?php echo $row['stibillede']; ?></td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td colspan="3" align="left" valign="top" ><br>
        <?php
}
?></td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td colspan="3">&nbsp;</td>
  </tr>
</table>
</body>
</html>
Avatar billede yHec Novice
19. september 2006 - 18:27 #12
Er det den fil der hedder gallery??

Prøver lige at skrive den lidt om. Desuden vil jeg nok lægge slettedelen i en fil for sig selv, der så returnerer til galler.php

Øjeblik;-)

/y
Avatar billede yHec Novice
19. september 2006 - 18:32 #13
Godt så...
To filer, gallery.php og delpict.php der ligger i den samme mappe.

gallery.php:

<?php
include("../../connections/connection.php");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>

<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<link href="../../admin/rouge.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
    background-color: #891d27;
}
a:link {
    color: #FFFFFF;
}
a:visited {
    color: #FFFFFF;
}
a:hover {
    color: #FFFFFF;
}
a:active {
    color: #FFFFFF;
}
-->
</style>
<link href="../../../wamp/www/rouge/rouge.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="590" height="173" border="0" cellpadding="0" cellspacing="0" id="indhold">
  <tr bgcolor="#891d27" class="tekst">
    <td height="18" colspan="3" align="left" valign="top"><p align="center" class="overskrift">
    Welcome to your gallery </p></td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td width="73" align="left" valign="top" class="overskrift"><a href="gallery_ret.php?id=<?php echo $row['id']; // her bliver du sendt vidre til ret delen?>">Edit</a></td>
    <td width="315" align="left" valign="top" class="overskrift"><a href="delpict.php?delete=<?php echo $row['id'];// trykkes der her bliver nyheden slettet ?>"> Delete </a></td>
    <td align="right" class="menutekst">&nbsp;</td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td align="left" valign="top" class="menutekst" ><div align="center"><strong>Name: <?php echo $row['name']; ?></strong> </div></td>
    <td align="right" class="menutekst"><div align="left"><a href="../../pictures/<?php echo $row['billede']; ?>" target="_blank"><img src="../../pictures/thumb/<?php echo $row['thumb']; ?>" border="0"></a> </div>
        <div align="right"></div></td>
    <td width="202" align="left" valign="top" ><strong>File: </strong><?php echo $row['stibillede']; ?></td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td colspan="3" align="left" valign="top" ><br>
        <?php
}
?></td>
  </tr>
  <tr bgcolor="#891d27" class="tekst">
    <td colspan="3">&nbsp;</td>
  </tr>
</table>
</body>
</html>

delpict.php:
<?php if ((isset($_GET['delete'])) && ($_GET['delete'] != "")) {
//find billednavnet i databasen
$query_rs_del_doc = sprintf("SELECT * FROM gallery WHERE id = %s", $_GET['delete']);
$rs_del_doc = mysql_query($query_rs_del_doc) or die(mysql_error());
$row_rs_del_doc = mysql_fetch_assoc($rs_del_doc);
$totalRows_rs_del_doc = mysql_num_rows($rs_del_doc);
// slet filen, hvis den eksisterer
if (file_exists($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede'])) {
    unlink ($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede']);
    unlink ($row_rs_del_doc['stithumb']."/".$row_rs_del_doc['thumb']);
    }
if ((isset($_GET['delete'])) && ($_GET['delete'] != "")) {
  $deleteSQL = sprintf("DELETE FROM gallery WHERE id=%s", $_GET['delete']);
  mysql_select_db($database, $conn);
  $Result1 = mysql_query($deleteSQL, $conn) or die(mysql_error());
  header("location:gallery.php");
?>

/y
Avatar billede yHec Novice
19. september 2006 - 18:34 #14
Du skal i øvrigt lige være opmærksom på, om du har den sidste / med i de stier du gemmer i db. Hvis du har det, skal du slette "/" i disse linjer:

if (file_exists($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede'])) {
    unlink ($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede']);
    unlink ($row_rs_del_doc['stithumb']."/".$row_rs_del_doc['thumb']);

Hvis du IKKE har skal du ikke ændre noget

/y
Avatar billede glonda Nybegynder
19. september 2006 - 18:54 #15
den siger følgene :

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\rouge\delpict.php on line 4

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\rouge\delpict.php on line 4
Access denied for user 'ODBC'@'localhost' (using password: NO)
Avatar billede glonda Nybegynder
19. september 2006 - 18:58 #16
det er denne linje:
$rs_del_doc = mysql_query($query_rs_del_doc) or die(mysql_error());

Undskyld jeg er lidt dummy :)
Avatar billede glonda Nybegynder
19. september 2006 - 19:01 #17
stien er rigtig nok den vælger id 1 fra databasen som er netop det billede
Avatar billede yHec Novice
19. september 2006 - 19:17 #18
Du har forkerte oplysninger i din connectstring!

Hvad står der i connections.php? Hvis du lægger den herud, så husk lige at slette password mm

/y
Avatar billede glonda Nybegynder
19. september 2006 - 19:23 #19
dette er min connection:

<?php
mysql_connect("localhost","root","");
mysql_select_db("rouge");
?>


det er local så det sker der intet ved
Avatar billede glonda Nybegynder
19. september 2006 - 19:24 #20
på selve gallery siden laver den et udtræk af de billeder som ligger det virker fint
Avatar billede yHec Novice
19. september 2006 - 19:35 #21
Ny delpict.php. Jeg har lagt din db-oplysninger ind. Jeg formoder, du ikke includer connections! Hvis du gør, så lad være!

<?php
$conn=mysql_connect("localhost","root","");
if ((isset($_GET['delete'])) && ($_GET['delete'] != "")) {
//find billednavnet i databasen
$query_rs_del_doc = sprintf("SELECT * FROM gallery WHERE id = %s", $_GET['delete']);
$rs_del_doc = mysql_query($query_rs_del_doc) or die(mysql_error());
$row_rs_del_doc = mysql_fetch_assoc($rs_del_doc);
$totalRows_rs_del_doc = mysql_num_rows($rs_del_doc);
// slet filen, hvis den eksisterer
if (file_exists($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede'])) {
    unlink ($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede']);
    unlink ($row_rs_del_doc['stithumb']."/".$row_rs_del_doc['thumb']);
    }
if ((isset($_GET['delete'])) && ($_GET['delete'] != "")) {
  $deleteSQL = sprintf("DELETE FROM gallery WHERE id=%s", $_GET['delete']);
  mysql_select_db("rouge");
  $Result1 = mysql_query($deleteSQL, $conn) or die(mysql_error());
  header("location:gallery.php");
?>

/y
Avatar billede glonda Nybegynder
19. september 2006 - 20:09 #22
Nu virker de næsten den sletter fra databasen men ikke billederne
Avatar billede yHec Novice
19. september 2006 - 20:12 #23
Det er et sti problem. Hvordan ser stien i db ud?

/y
Avatar billede glonda Nybegynder
19. september 2006 - 20:20 #24
rouge/pictures/11586887271255-Black.jpg <- det originale
rouge/pictures/thumb/thumb_11586887271255-Black.jpg  <---thumbnail


i databasen ligger uden undermapper
Avatar billede yHec Novice
19. september 2006 - 20:22 #25
Dvs det er der de ligger på serveren. Hvordan er det gemt i db?
Avatar billede glonda Nybegynder
19. september 2006 - 20:23 #26
prøver lige igen forkert formuleret.

id5 :
name :black
billede: 11586887271255-Black.jpg
stibillede: rouge/pictures/11586887271255-Black.jpg
thumb: thumb_11586887271255-Black.jpg
stithumb: rouge/pictures/thumb/thumb_11586887271255-Black.jpg

sådan ser det ud når jeg uploadet et billede til databasen
Avatar billede yHec Novice
19. september 2006 - 20:45 #27
AHA!!!! Fejl fundet (tror jeg)
Disse linjer:
if (file_exists($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede'])) {
    unlink ($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede']);
    unlink ($row_rs_del_doc['stithumb']."/".$row_rs_del_doc['thumb']);

Ændres til:
if (file_exists($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede'])) {
    unlink ($row_rs_del_doc['stibillede']);
    unlink ($row_rs_del_doc['stithumb']);

/y
Avatar billede yHec Novice
19. september 2006 - 20:46 #28
Arrrrrrgggh, glemte en:
if (file_exists($row_rs_del_doc['stibillede']."/".$row_rs_del_doc['billede'])) {

ændres til:
if (file_exists($row_rs_del_doc['stibillede'])) {

/y
Avatar billede glonda Nybegynder
19. september 2006 - 21:26 #29
:-S der sker intet øv
Avatar billede yHec Novice
19. september 2006 - 21:35 #30
prøv at sættet et "/". foran,
fx if (file_exists("/".$row_rs_del_doc['stibillede'])) {

Det skal foran alle de steder du kalder stien
Avatar billede glonda Nybegynder
19. september 2006 - 21:50 #31
du er et geni :)

det virker jeg har fundet fejlen :-S
Avatar billede glonda Nybegynder
19. september 2006 - 21:53 #32
når jeg uploader et billede ser det sådan ud:

copy($_FILES["billedefil"]["tmp_name"][$key], $mappe.$billedenavn);
copy($_FILES["billedefil"]["tmp_name"][$key], $mappe2.$thumbname);


bagefter når jeg indsætter i databasen kan den ikke finde udaf '$mappe2.$thumbname' den sætter punktum først på alle billederne altså sti.billede


mysql_query("INSERT INTO gallery (name, thumb,stithumb,billede,stibillede)
                    VALUES('$navn','$thumbname','$mappe2.$thumbname','$billedenavn','$mappe.$billedenavn')")or die(mysql_error());
Avatar billede glonda Nybegynder
19. september 2006 - 21:53 #33
hvordan adskiller man dette : '$mappe.$billedenavn' med punktumet
Avatar billede yHec Novice
19. september 2006 - 22:14 #34
Hvor var fejlen?

Mht punktummet, lyder det til at det tilføjes $mappe. Hvor kommer mappe og billedvariablerne fra?
Avatar billede glonda Nybegynder
19. september 2006 - 22:34 #35
fejlen var på det punktum som kommer fra uploade delen den kunne jo ikke slette noget når stien var forkert :)


koden:


            $billedenavn = time() . $_FILES[billedefil][name][$key];
            $thumbname = "thumb_" . $billedenavn;
            copy($_FILES["billedefil"]["tmp_name"][$key], $mappe.$billedenavn);
            copy($_FILES["billedefil"]["tmp_name"][$key], $mappe2.$thumbname);
       
                    $fil_at_skalere = $mappe.$mappe2.$thumbname;
                    skaler_jpg($fil_at_skalere, $w,$h);
                   
                    //indsætter Name + navn på lille og stort billede samt stien i databasen
                    $navn=$_POST['name'][$key];
                    //echo $navn;
                    include("../../connections/connection.php");
                    mysql_query("INSERT INTO gallery (name, thumb,stithumb,billede,stibillede)
                    VALUES('$navn','$thumbname','$mappe2.$thumbname','$billedenavn','$mappe.$billedenavn')")or die(mysql_error());

problemet ligger i values : '$mappe.$billedenavn' det punktum der er i mellem ødelægger det $mappe2.$thumbname'
Avatar billede yHec Novice
19. september 2006 - 22:47 #36
Hvis jeg var dig, ville jeg prøve at lægge $mappe.$billedenavn i en ny variabel, der så kaldes i sql'en (det samme for thumb, sæføli), alternativt fjerne '' omkring $mappe.$billedenavn i sql. Jeg kan ikke se hvor fejlen opstår... Også må kan må gætte lidt ;-)

Og du er sikker på der ikke indsættes et . i mappevariablerne - ved et uheld....?

/y
Avatar billede nikksen Nybegynder
19. september 2006 - 22:49 #37
Et andet spørgsmål.. det script du har lavet til upload. Det er lige det jeg søger, nemlig at der samtidig laves en thumbnail til en mappe. Er det sådan så jeg kan få lov at "låne" det script lidt så jeg kan mixe det med mit eget? :)
Avatar billede glonda Nybegynder
19. september 2006 - 22:58 #38
ja jeg er 100% sikker jeg har nemlig fjernet . og satte komma istedet så skrev den kommer i stien

nikksen : joo men så skal du nok også have resten. :)
Avatar billede nikksen Nybegynder
19. september 2006 - 23:01 #39
I orden.. jeg har allerede et multi-upload script der både uploader billede til en mappe samt til db + tilhørende info. Skal bare lige bruge copy/thumbnail delen. :-D
Avatar billede yHec Novice
19. september 2006 - 23:05 #40
Lad mig lige se det hvor du laver variablerne
Avatar billede glonda Nybegynder
19. september 2006 - 23:21 #41
Her er hele moliviten:


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<link href="../rouge.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
    background-color: #891d27;
}
-->
</style></head>

<body>
<?PHP


function skaler_jpg ($img,$w,$h) {
   
        $thumbnail = imagecreatetruecolor ($w, $h);
        $billede = imagecreatefromjpeg ($img);
        $billedestr = getimagesize ($img);
       
       
        imagecopyresized ($thumbnail, $billede, 0, 0, 0, 0, $w, $h, $billedestr[0], $billedestr[1]);
                imagejpeg($thumbnail, $img);
        }
       

  if (isset($_POST["submit"])){

        $mappe="../../pictures/";
        $mappe2="../../pictures/thumb/";
for($key=0; $key<count($_FILES[billedefil][name]); $key++){           
$steen= getimagesize($_FILES[billedefil][tmp_name][$key]);
if($steen[2]==2){
if ($steen[0]> $steen[1] ){
echo "billedet er bredt!";
$w=160;
$h=120;
} elseif($steen[0]< $steen[1] ) {
$w=120;
$h=160;
echo "billedet er højt!";
}elseif($steen[0]==$steen[1] ){
$w=120;
$h=120;

echo "Billedet er kvardratisk";
}
           
           
       
       
            $billedenavn = time() . $_FILES[billedefil][name][$key];
            $thumbname = "thumb_" . $billedenavn;
            copy($_FILES["billedefil"]["tmp_name"][$key], $mappe.$billedenavn);
            copy($_FILES["billedefil"]["tmp_name"][$key], $mappe2.$thumbname);
       
                    $fil_at_skalere = $mappe.$mappe2.$thumbname;
                    skaler_jpg($fil_at_skalere, $w,$h);
                   
                    //indsæt i databasen
                    $navn=$_POST['name'][$key];
                    echo $navn;
                    include('../../connections/connection.php');
                    mysql_query("INSERT INTO gallery (name, thumb,stithumb,billede,stibillede)
                    VALUES('$navn','$thumbname','$mappe2.$thumbname','$billedenavn','$mappe.$billedenavn')")or die(mysql_error());


                    }else{
                    //echo "FY HA slemme dreng!!";
                    }
                    }
                    ?>
                   
        <script>
        //window.location="<?php echo $PHP_SELF; ?>";
        </script>
        <?php

}else {
}
           
?>



<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="upload_form">
<span class="overskrift"><strong>Select the Picture/Pictures you want to uploade:</strong></span><br><br>
<span class="tekst">Navn:</span>
<input name="name[]" type="text" id="name3">
<input type= "file" name="billedefil[]">
<br>
<span class="tekst">Navn:</span>
<input name="name[]" type="text" id="name1">
<input type= "file" name="billedefil[]"><br>
<span class="tekst">Navn:</span>
<input name="name[]" type="text" id="name2">
<input type= "file" name="billedefil[]"><br><br>


<input type="submit" name="submit" value="Uploade">


</form>
<p>&nbsp;</p>
</body>
</html>
Avatar billede nikksen Nybegynder
19. september 2006 - 23:24 #42
Så siger jeg tak og skal ikke forstyrre mere.. :)
Avatar billede glonda Nybegynder
19. september 2006 - 23:37 #43
de ligger her :


        $thumbnail = imagecreatetruecolor ($w, $h);
        $billede = imagecreatefromjpeg ($img);
        $billedestr = getimagesize ($img);
       
       
        imagecopyresized ($thumbnail, $billede, 0, 0, 0, 0, $w, $h, $billedestr[0], $billedestr[1]);
                imagejpeg($thumbnail, $img);

-----------------------------------------------

$billedenavn = time() . $_FILES[billedefil][name][$key];
            $thumbname = "thumb_" . $billedenavn;
            copy($_FILES["billedefil"]["tmp_name"][$key], $mappe.$billedenavn);
            copy($_FILES["billedefil"]["tmp_name"][$key], $mappe2.$thumbname);
       
                    $fil_at_skalere = $mappe.$mappe2.$thumbname;
                    skaler_jpg($fil_at_skalere, $w,$h);
                   
                    //indsæt i databasen
                    $navn=$_POST['name'][$key];
                    echo $navn;
                    include('../../connections/connection.php');
                    mysql_query("INSERT INTO gallery (name, thumb,stithumb,billede,stibillede)
                    VALUES('$navn','$thumbname','$mappe2.$thumbname','$billedenavn','$mappe.$billedenavn')")or die(mysql_error());
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester