Avatar billede smaakagemorten Nybegynder
02. april 2013 - 11:11 Der er 20 kommentarer og
1 løsning

Vil ikke opdatere content

Hej Eksperter.

Jeg har et kæmpe problem, og det er noget som har irriteret mig i rigtig lang tid.

Jeg har en side hvor jeg har en form, hvor jeg kan uploade et billede og skrive en lille tekst til billedet. Det virker også fint. Mit problem kommer når den har uploadet billedet og teksten til databasen, så bruger jeg

<code>header("location:index.php");</code>

til at sende siden videre til, sådan set den samme side som jeg var på, men det billede jeg uploadede skulle gerne vises i galleriet.

Hvad kan man lige gøre for at den ikke indlæser cache eller noget som helst andet gammelt, men i stedet læse siden med det nye billede?

Jeg snakker om en admin side hvor jeg er logget ind, jeg ved ikke om det har nogen betydning.

Hvis ikke I forstår det 100%, så spørg, så svarer jeg gerne :)
Avatar billede jakobdo Ekspert
03. april 2013 - 12:02 #1
header("Location: index.php");
exit();

burde virke.

Men du kan jo prøve nogle af de sædvanlige cache tricks:

//no  cache headers
header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: index.php");
exit();

Men det kan jo være det er billedet som er uploadet, som tidligere havde et "dummy" navn og nu overskrevet, men stadig samme navn.
Så måske det kan løses med:

<img src="image.jpg?RANDOM_DATA" />
Avatar billede smaakagemorten Nybegynder
03. april 2013 - 12:11 #2
Jeg har faktisk prøvet exit() funktionen, men stadig intet.

Jeg uploader 2 billeder og de får begge 2 et random 4-cifret nummer foran sig.

Jeg synes også at jeg har prøvet alle de sædvanlige cache headers, men intet har virket endnu.

Der er ikke andre muligheder?

Det er først når jeg sletter cachen og opdaterer at den vil vise billedet, så det må vel være fordi den laver en cache af siden, men cache headers virker tilsyneladende ikke :S

Nogle ideer?
Avatar billede jakobdo Ekspert
03. april 2013 - 12:41 #3
Prøv at vis hele koden til din side.
Avatar billede smaakagemorten Nybegynder
03. april 2013 - 13:10 #4
Index.php (Siden der viser galleri og sådan noget):

[code]
<?php

//Der skal anvendes en session i forbindelse med denne side
session_start();

include 'db_con.php';

?>
<!DOCTYPE html>
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<title>Upload af billeder til galleri</title>

<link rel="stylesheet" href="/files/style.css" type="text/css" media="screen" />

<!-- Load jQuery library -->
<script type="text/javascript" src="/files/js/jquery-1.5.2.min.js"></script>

<!-- Tooltip-->
<script src="/files/js/jquery.tipTip.js" type="text/javascript">
</script>
<script src="/files/js/jquery.tipTip.minified.js" type="text/javascript">
</script>
<script type='text/javascript'>
//<![CDATA[
$(function(){
$(".someClass").tipTip({maxWidth: "auto", edgeOffset: 2});
});
//]]>
</script><!-- End Tooltip-->

<!-- Fancybox -->
<script type="text/javascript" src="/files/fancybox/fancybox/jquery.mousewheel-3.0.2.pack.js">
</script>
<script type="text/javascript" src="/files/fancybox/fancybox/jquery.fancybox-1.3.1.js">
</script>
<link rel="stylesheet" type="text/css" href="/files/fancybox/fancybox/jquery.fancybox-1.3.1.css" media="screen" />
<script type="text/javascript">
//<![CDATA[
                $(document).ready(function() {
                     

                $("a[rel=galleri]").fancybox({
                                'transitionIn'  : 'elastic',
                                'transitionOut' : 'elastic',
                                'titlePosition'        : 'over',
                                'titleFormat'          : function(title, currentArray, currentIndex, currentOpts) {
                                        return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? '   ' + title : '') + '<\/span>';
                                }
                        });

                });
//]]>
</script>

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-20115099-9']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>

<body class="home page page-id-4 page-template page-template-default">
<form name="logaf" enctype="multipart/form-data" method="post" action="logaf.php">
<input type="submit" value="Log af!" />
</form>
<div id="topline"> </div>
<div id="triangle"></div>
<div id="container">
  <div id="page">
    <div id="header">
      <div id="headerimg"> </div>
      <div id="announce">- VI ER STOLTE AF AT ANNONCERE FØDSLEN AF -</div>
      <div id="nav">
        <ul>
          <li class="page_item page-item-8 none"><a href="#" class="someClass" title="Hans fødselsdag">FØDT D.</a></li>
          <li class="none page_item page-item-15"><a href="#" class="someClass" title="Læs målene">MÅLENE</a></li>
          <li class="page_item page-item-6 current_page_item"><a href="index.php" class="someClass" title="Se billeder af ham">GALLERI</a></li>
          <li class="page_item page-item-4"><a href="index.php" title="Accueil">Accueil</a> </li>
          <li class="none page_item page-item-16"><a href="#" class="someClass" title="De stolte forældre">FORÆLDRE</a></li>
          <li class="none page_item page-item-121"><a href="#" class="someClass" title="Læs om Alberts liv">BLOG</a></li>
          <li class="none page_item page-item-18"><a href="#" class="someClass" title="Kontakt os">KONTAKT</a></li>
        </ul>
        <div id="logo"><a href="index.php"><img src="/files/images/logo.png" class="someClass" title="En stjerne er født ved navn Albert Johansen"  alt="Write something about your baby"  /></a></div>
      </div>
    </div>
    <hr />
    <div id="content" class="narrowcolumn">
   
            <div class="post" id="post-4">
           
            <form name="sletformular" enctype="multipart/form-data" method="post" action="thumb.php">
                <h2>Tilføj billede til forsiden</h2>
                <label for="billede_tekst">Tekst til billede:</label>
                <input type="text" name="billede_tekst" /><br />
                <label for="billede">Vælg filen:</label>
                <input type="file" name="billede" id="billede" /><br />
                <input type="submit" name="submit" value="Send" />
            </form>

        <div class="entry">
          <div id="gallery-back">
        <?
        $sql = "SELECT * FROM admin_galleri";
       
        $resultat = mysql_query($sql) or die('Fail in noget sql');
            while ($raekke = mysql_fetch_array($resultat)) {
            extract($raekke);
        ?>
        <?
        }
        ?>
       
        <?php
           
            /* Antallet af poster vi ønsker vist på hver side */
            $pr_side = 6;
           
            /* Vi tæller antallet af poster i tabellen husk at ændre ‘table' til dit eget tabelnavn */
            $antal = mysql_result(mysql_query("SELECT COUNT(*) FROM admin_galleri"),0) or die(mysql_error());
           
            /* Hvis visfra-variablen ikke findes i URL-feltet og den ikke er et nummer og den er større end antallet i databasen, så sættes den til 0, ellers sættes den til værdien fra URL feltet */
            $vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;
           
            /* Vi laver et database udtræk med limit, så den kun hiver det rigtige antal ud fra tabellen, husk at ændre ‘table' til dit eget tabelnavn */
            $query = mysql_query ("SELECT * FROM admin_galleri ORDER BY pic_ID DESC limit $vis_fra, $pr_side") or die(mysql_error());
            $x = 1;
            /* Vi kører en while og udskriver data, det jeg har sat på er blot et eksempel */
            while ($row = mysql_fetch_array($query)) {
                extract($row);
            ?>
              <div class="pic_back">
                  <form name="sletbillede" enctype="multipart/form-data" method="post" action="db_action.php?image=delete" style="position: absolute; margin-top: 0px; margin-left: 0px;">
                    <input type="hidden" name="id" value="<? echo $pic_ID; ?>" />
                    <input type="hidden" name="billede" value="<? echo $pic_billede; ?>" />
                    <input type="hidden" name="thumb" value="<? echo $pic_thumb; ?>" />
                    <input type="submit" value="Slet billede" />
                  </form>
                  <a href="/files/images/gallery/large/<? echo $pic_billede; ?>" rel="galleri">
                      <img src="/files/images/gallery/thumbs/<? echo $pic_thumb; ?>" alt="<? echo $pic_tekst; ?>" width="284" height="163" class="someClass" title="Klik for at se et større billede" />
                  </a>
              </div>
            <?php           
            }
            ?>
           
            <div class="pagination">
            <?php
            /* Der undersøges om der skal udskrives et "forrige side"-link, er dette tilfældet udskrives linket */
            if ($vis_fra > 0) {
            $back= $vis_fra - $pr_side;
            echo "<a href='$_SERVER[PHP_SELF]?visfra=$back' class='prev_next'>Forrige</a> ";
            }
            $page = 1;
           
            /* Alle siderne udskrives så man med et klik kan få resultaterne fra fx 90-100 */
            for ($start = 0; $antal > $start; $start = $start + $pr_side) {
            if($vis_fra != $page * $pr_side - $pr_side) {
            echo "<a href='$_SERVER[PHP_SELF]?visfra=$start'>$page</a> ";
            } else {
            echo $page." ";
            }
            $page++;
            }
           
            /* Der undersøges om der skal udskrives et "næste side"-link, er dette tilfældet udskrives linket */
            if ($vis_fra < $antal - $pr_side) {
            $next = $vis_fra + $pr_side;
            echo " <a href='$_SERVER[PHP_SELF]?visfra=$next' class='prev_next'>Næste</a>";
            }
        ?>
        </div>
            <span class="born"><img src="/files/images/dots_bottom.png" alt="dots" width="929" height="50" /></span>
         
          </div>
        </div>
      </div>
     
    </div>
    <hr />
    <div id="footer">
      <div id="nav-footer" style="margin-top:-20px;">Albert Johansen, født af Gitte Johansen - Far: Morten Johansen</div>
    </div>
  </div>
</div>
</body>
</html>
[/code]

thumb.php (Laver et almindeligt billede og en thunmbnail og bruger header location til at føre tilbage til index.php):

[code]
<?php

include 'db_con.php';

// Der skabes et tilf?ldigt nummer imellem 1000 og 9999, derefter tilfÀjes det tilf?ldige nummer til filnavnet
$rand = rand(1000,99999);

$dir = "../files/images/gallery/large/"; // Sti til hvor det tilpassede billede skal v?re. (Der skal huske en streg i slutningen af stien - /)
$dir2 = "../files/images/gallery/thumbs/"; // Sti til hvor det tilpassede billede skal v?re. (Der skal huske en streg i slutningen af stien - /)

move_uploaded_file($_FILES["billede"]["tmp_name"], $dir);

$billede_tekst = $_POST['billede_tekst'];

// Samler POST variablerne i et array, og array smides i en variabel.
$postvars = array(
"image" => trim($_FILES["billede"]["name"]),
"image_tmp" => $_FILES["billede"]["tmp_name"],
"image_size" => (int)$_FILES["billede"]["size"]
);

// Array med tilladte extensions.
$valid_exts = array("jpg","jpeg","gif","png");

// V?lger extensionen udfra filen som skal uploades.
$ext = end(explode(".",strtolower(trim($_FILES["billede"]["name"]))));

// Checker om extensionen er godkendt
if(in_array($ext,$valid_exts)){

if($ext == "jpg" || $ext == "jpeg"){
$image = imagecreatefromjpeg($postvars["image_tmp"]);
}
else if($ext == "gif"){
$image = imagecreatefromgif($postvars["image_tmp"]);
}
else if($ext == "png"){
$image = imagecreatefrompng($postvars["image_tmp"]);
}

// Henter hÀjde og bredde af billedet der skal uploades
$size = getimagesize($postvars["image_tmp"]);

$bla = "284";

$newwt = $size["0"];

$newht = $newwt / $bla;

$new_width = $bla;

$new_height = floor( $size["1"] * ( $bla / $size["0"] ) );

// Midlertidig fil skabes
$tmp = imagecreatetruecolor($new_width,$new_height);

$thumb = imagecreatetruecolor(284, 163);

// Kopierer billedet og ?ndrer stÀrrelsen pÎ billedet
imagecopyresized($tmp, $image, 0, 0, 0, 0, $new_width, $new_height, $size["0"], $size["1"]);

$yearh1 = $new_width / 2;

$yearh12 = $yearh1 - 142;

$yearh2 = $new_height / 2;

$yearh21 = $yearh2 - 84;

imagecopyresized($thumb, $tmp, 0, 0, $yearh12, $yearh21, 284, 163, 284, 163);

$full_name = substr($postvars["image"], 0, strrpos($postvars["image"], '.'));

$filename = $dir2 . $rand . "_" . $full_name . "_thumb." . $ext;
$filename2 = $dir . $rand . "_" . $full_name . "." . $ext;

$thumbname = $rand . "_" . $full_name . "_thumb." . $ext;
$largename = $rand . "_" . $full_name . "." . $ext;

// Billede fil skabes med 100% quality
imagejpeg($thumb,$filename,70);
move_uploaded_file($_FILES['billede']['tmp_name'], $filename2);
imagedestroy($image);
imagedestroy($thumb);

$sql = "INSERT INTO admin_galleri (pic_tekst,pic_billede,pic_thumb) VALUES('$billede_tekst','$largename','$thumbname')";
mysql_query($sql) or die('Den fejler1');

//Hvis ikke filen er en tilladt extension, sÎ melder siden fejl

header("location:index.php");
exit();

}else {
print 'FEJL !';
}

?>
[/code]
Avatar billede smaakagemorten Nybegynder
03. april 2013 - 13:10 #5
Index.php (Siden der viser galleri og sådan noget):


<?php

//Der skal anvendes en session i forbindelse med denne side
session_start();

include 'db_con.php';

?>
<!DOCTYPE html>
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<title>Upload af billeder til galleri</title>

<link rel="stylesheet" href="/files/style.css" type="text/css" media="screen" />

<!-- Load jQuery library -->
<script type="text/javascript" src="/files/js/jquery-1.5.2.min.js"></script>

<!-- Tooltip-->
<script src="/files/js/jquery.tipTip.js" type="text/javascript">
</script>
<script src="/files/js/jquery.tipTip.minified.js" type="text/javascript">
</script>
<script type='text/javascript'>
//<![CDATA[
$(function(){
$(".someClass").tipTip({maxWidth: "auto", edgeOffset: 2});
});
//]]>
</script><!-- End Tooltip-->

<!-- Fancybox -->
<script type="text/javascript" src="/files/fancybox/fancybox/jquery.mousewheel-3.0.2.pack.js">
</script>
<script type="text/javascript" src="/files/fancybox/fancybox/jquery.fancybox-1.3.1.js">
</script>
<link rel="stylesheet" type="text/css" href="/files/fancybox/fancybox/jquery.fancybox-1.3.1.css" media="screen" />
<script type="text/javascript">
//<![CDATA[
                $(document).ready(function() {
                     

                $("a[rel=galleri]").fancybox({
                                'transitionIn'  : 'elastic',
                                'transitionOut' : 'elastic',
                                'titlePosition'        : 'over',
                                'titleFormat'          : function(title, currentArray, currentIndex, currentOpts) {
                                        return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? '   ' + title : '') + '<\/span>';
                                }
                        });

                });
//]]>
</script>

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-20115099-9']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>

<body class="home page page-id-4 page-template page-template-default">
<form name="logaf" enctype="multipart/form-data" method="post" action="logaf.php">
<input type="submit" value="Log af!" />
</form>
<div id="topline"> </div>
<div id="triangle"></div>
<div id="container">
  <div id="page">
    <div id="header">
      <div id="headerimg"> </div>
      <div id="announce">- VI ER STOLTE AF AT ANNONCERE FØDSLEN AF -</div>
      <div id="nav">
        <ul>
          <li class="page_item page-item-8 none"><a href="#" class="someClass" title="Hans fødselsdag">FØDT D.</a></li>
          <li class="none page_item page-item-15"><a href="#" class="someClass" title="Læs målene">MÅLENE</a></li>
          <li class="page_item page-item-6 current_page_item"><a href="index.php" class="someClass" title="Se billeder af ham">GALLERI</a></li>
          <li class="page_item page-item-4"><a href="index.php" title="Accueil">Accueil</a> </li>
          <li class="none page_item page-item-16"><a href="#" class="someClass" title="De stolte forældre">FORÆLDRE</a></li>
          <li class="none page_item page-item-121"><a href="#" class="someClass" title="Læs om Alberts liv">BLOG</a></li>
          <li class="none page_item page-item-18"><a href="#" class="someClass" title="Kontakt os">KONTAKT</a></li>
        </ul>
        <div id="logo"><a href="index.php"><img src="/files/images/logo.png" class="someClass" title="En stjerne er født ved navn Albert Johansen"  alt="Write something about your baby"  /></a></div>
      </div>
    </div>
    <hr />
    <div id="content" class="narrowcolumn">
   
            <div class="post" id="post-4">
           
            <form name="sletformular" enctype="multipart/form-data" method="post" action="thumb.php">
                <h2>Tilføj billede til forsiden</h2>
                <label for="billede_tekst">Tekst til billede:</label>
                <input type="text" name="billede_tekst" /><br />
                <label for="billede">Vælg filen:</label>
                <input type="file" name="billede" id="billede" /><br />
                <input type="submit" name="submit" value="Send" />
            </form>

        <div class="entry">
          <div id="gallery-back">
        <?
        $sql = "SELECT * FROM admin_galleri";
       
        $resultat = mysql_query($sql) or die('Fail in noget sql');
            while ($raekke = mysql_fetch_array($resultat)) {
            extract($raekke);
        ?>
        <?
        }
        ?>
       
        <?php
           
            /* Antallet af poster vi ønsker vist på hver side */
            $pr_side = 6;
           
            /* Vi tæller antallet af poster i tabellen husk at ændre ‘table' til dit eget tabelnavn */
            $antal = mysql_result(mysql_query("SELECT COUNT(*) FROM admin_galleri"),0) or die(mysql_error());
           
            /* Hvis visfra-variablen ikke findes i URL-feltet og den ikke er et nummer og den er større end antallet i databasen, så sættes den til 0, ellers sættes den til værdien fra URL feltet */
            $vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;
           
            /* Vi laver et database udtræk med limit, så den kun hiver det rigtige antal ud fra tabellen, husk at ændre ‘table' til dit eget tabelnavn */
            $query = mysql_query ("SELECT * FROM admin_galleri ORDER BY pic_ID DESC limit $vis_fra, $pr_side") or die(mysql_error());
            $x = 1;
            /* Vi kører en while og udskriver data, det jeg har sat på er blot et eksempel */
            while ($row = mysql_fetch_array($query)) {
                extract($row);
            ?>
              <div class="pic_back">
                  <form name="sletbillede" enctype="multipart/form-data" method="post" action="db_action.php?image=delete" style="position: absolute; margin-top: 0px; margin-left: 0px;">
                    <input type="hidden" name="id" value="<? echo $pic_ID; ?>" />
                    <input type="hidden" name="billede" value="<? echo $pic_billede; ?>" />
                    <input type="hidden" name="thumb" value="<? echo $pic_thumb; ?>" />
                    <input type="submit" value="Slet billede" />
                  </form>
                  <a href="/files/images/gallery/large/<? echo $pic_billede; ?>" rel="galleri">
                      <img src="/files/images/gallery/thumbs/<? echo $pic_thumb; ?>" alt="<? echo $pic_tekst; ?>" width="284" height="163" class="someClass" title="Klik for at se et større billede" />
                  </a>
              </div>
            <?php           
            }
            ?>
           
            <div class="pagination">
            <?php
            /* Der undersøges om der skal udskrives et "forrige side"-link, er dette tilfældet udskrives linket */
            if ($vis_fra > 0) {
            $back= $vis_fra - $pr_side;
            echo "<a href='$_SERVER[PHP_SELF]?visfra=$back' class='prev_next'>Forrige</a> ";
            }
            $page = 1;
           
            /* Alle siderne udskrives så man med et klik kan få resultaterne fra fx 90-100 */
            for ($start = 0; $antal > $start; $start = $start + $pr_side) {
            if($vis_fra != $page * $pr_side - $pr_side) {
            echo "<a href='$_SERVER[PHP_SELF]?visfra=$start'>$page</a> ";
            } else {
            echo $page." ";
            }
            $page++;
            }
           
            /* Der undersøges om der skal udskrives et "næste side"-link, er dette tilfældet udskrives linket */
            if ($vis_fra < $antal - $pr_side) {
            $next = $vis_fra + $pr_side;
            echo " <a href='$_SERVER[PHP_SELF]?visfra=$next' class='prev_next'>Næste</a>";
            }
        ?>
        </div>
            <span class="born"><img src="/files/images/dots_bottom.png" alt="dots" width="929" height="50" /></span>
         
          </div>
        </div>
      </div>
     
    </div>
    <hr />
    <div id="footer">
      <div id="nav-footer" style="margin-top:-20px;">Albert Johansen, født af Gitte Johansen - Far: Morten Johansen</div>
    </div>
  </div>
</div>
</body>
</html>


thumb.php (Laver et almindeligt billede og en thunmbnail og bruger header location til at føre tilbage til index.php):

<?php

include 'db_con.php';

// Der skabes et tilf?ldigt nummer imellem 1000 og 9999, derefter tilfÀjes det tilf?ldige nummer til filnavnet
$rand = rand(1000,99999);

$dir = "../files/images/gallery/large/"; // Sti til hvor det tilpassede billede skal v?re. (Der skal huske en streg i slutningen af stien - /)
$dir2 = "../files/images/gallery/thumbs/"; // Sti til hvor det tilpassede billede skal v?re. (Der skal huske en streg i slutningen af stien - /)

move_uploaded_file($_FILES["billede"]["tmp_name"], $dir);

$billede_tekst = $_POST['billede_tekst'];

// Samler POST variablerne i et array, og array smides i en variabel.
$postvars = array(
"image" => trim($_FILES["billede"]["name"]),
"image_tmp" => $_FILES["billede"]["tmp_name"],
"image_size" => (int)$_FILES["billede"]["size"]
);

// Array med tilladte extensions.
$valid_exts = array("jpg","jpeg","gif","png");

// V?lger extensionen udfra filen som skal uploades.
$ext = end(explode(".",strtolower(trim($_FILES["billede"]["name"]))));

// Checker om extensionen er godkendt
if(in_array($ext,$valid_exts)){

if($ext == "jpg" || $ext == "jpeg"){
$image = imagecreatefromjpeg($postvars["image_tmp"]);
}
else if($ext == "gif"){
$image = imagecreatefromgif($postvars["image_tmp"]);
}
else if($ext == "png"){
$image = imagecreatefrompng($postvars["image_tmp"]);
}

// Henter hÀjde og bredde af billedet der skal uploades
$size = getimagesize($postvars["image_tmp"]);

$bla = "284";

$newwt = $size["0"];

$newht = $newwt / $bla;

$new_width = $bla;

$new_height = floor( $size["1"] * ( $bla / $size["0"] ) );

// Midlertidig fil skabes
$tmp = imagecreatetruecolor($new_width,$new_height);

$thumb = imagecreatetruecolor(284, 163);

// Kopierer billedet og ?ndrer stÀrrelsen pÎ billedet
imagecopyresized($tmp, $image, 0, 0, 0, 0, $new_width, $new_height, $size["0"], $size["1"]);

$yearh1 = $new_width / 2;

$yearh12 = $yearh1 - 142;

$yearh2 = $new_height / 2;

$yearh21 = $yearh2 - 84;

imagecopyresized($thumb, $tmp, 0, 0, $yearh12, $yearh21, 284, 163, 284, 163);

$full_name = substr($postvars["image"], 0, strrpos($postvars["image"], '.'));

$filename = $dir2 . $rand . "_" . $full_name . "_thumb." . $ext;
$filename2 = $dir . $rand . "_" . $full_name . "." . $ext;

$thumbname = $rand . "_" . $full_name . "_thumb." . $ext;
$largename = $rand . "_" . $full_name . "." . $ext;

// Billede fil skabes med 100% quality
imagejpeg($thumb,$filename,70);
move_uploaded_file($_FILES['billede']['tmp_name'], $filename2);
imagedestroy($image);
imagedestroy($thumb);

$sql = "INSERT INTO admin_galleri (pic_tekst,pic_billede,pic_thumb) VALUES('$billede_tekst','$largename','$thumbname')";
mysql_query($sql) or die('Den fejler1');

//Hvis ikke filen er en tilladt extension, sÎ melder siden fejl

header("location:index.php");
exit();

}else {
print 'FEJL !';
}

?>
Avatar billede jakobdo Ekspert
03. april 2013 - 13:22 #6
og din side "loader" fint mellem thumb og index.php ?
Avatar billede smaakagemorten Nybegynder
03. april 2013 - 13:27 #7
Jep, den uploader begge filer og uploader tekst til database og så bruger den header location, men problemet ligger jo i at den ikke viser billedet med det samme at jeg bliver ført videre. Den viser først billedet når jeg enten trykker ctrl + F5 eller jeg clearer min cache?
Avatar billede jakobdo Ekspert
03. april 2013 - 13:36 #8
Prøv følgende:

<img src="/files/images/gallery/thumbs/<? echo $pic_thumb; ?>&nocache=<? echo microtime(); ?>" alt="<? echo $pic_tekst; ?>" width="284" height="163" class="someClass" title="Klik for at se et større billede" />

Det er ikke optimalt hack, men burde virke.
Avatar billede smaakagemorten Nybegynder
03. april 2013 - 13:47 #9
Det duer ikke, fordi så linker den til noget helt forkert.
Avatar billede jakobdo Ekspert
03. april 2013 - 13:51 #10
Siger du det som et gæt eller fordi du har testet koden?
Avatar billede smaakagemorten Nybegynder
03. april 2013 - 13:55 #11
Jeg har testet koden :)
Avatar billede jakobdo Ekspert
03. april 2013 - 14:02 #12
Hvad bliver html koden nu?

<img src="???????????" />

lad mig lige se hvad den skriver før og efter upload.
Avatar billede jakobdo Ekspert
03. april 2013 - 14:03 #13
Måske det skal være:

?nocache=<? echo micrtime(); ?>
Avatar billede smaakagemorten Nybegynder
03. april 2013 - 14:16 #14
Ok, jeg tror jeg har mistoforstået noget, hvor skal nocache=... placeres? I den sti til billedet vel? Eller skal det ind før man uploader, og hvis ja, hvor?
Avatar billede jakobdo Ekspert
03. april 2013 - 15:02 #15
Der hvor du "viser" billedet.

Inden upload har du et billede.
Og efter upload kalder du samme navn, gætter jeg på.

Der hvor du viser billedet, med noget kode ala: <img src="....." alt="...." />

På src, f.eks. billede.jpg tilføjer du:

billede.jpg?nocache=<? echo microtime(); ?>
Avatar billede smaakagemorten Nybegynder
10. april 2013 - 19:26 #16
Løst
Avatar billede jakobdo Ekspert
11. april 2013 - 10:24 #17
Hvad blev din løsning?
Avatar billede smaakagemorten Nybegynder
11. april 2013 - 10:29 #18
Ja, jeg troede at jeg havde fundet løsningen på det :P

Det har jeg så ikke alligevel.

Det du skrev ovenover giver mig kun en fejl i billedet, fordi så vil den ikke indlæse filen :S
Avatar billede jakobdo Ekspert
11. april 2013 - 10:35 #19
Jeg forstår ikke hvorfor du ikke bare gøre som jeg siger.


hvis du i dag har:

<img src="noget.jpg" />

Så skal du bare tilføje php, så det bliver:

<img src="noget.jpg?cache<?php echo microtime();?>" />

Det burde ikke være så svært.
Avatar billede smaakagemorten Nybegynder
11. april 2013 - 10:58 #20
Ja, det har jeg også gjort.

Nu viser den billedet, men den gør fuldstændig det samme som før, den viser ikke billedet når man uploader, men når laver en clean cache, så viser den.
Avatar billede jakobdo Ekspert
11. april 2013 - 11:02 #21
Du må gøre noget forkert.
Til at starte med, skulle du nok tage at oprette et nyt spørgsmål.
Du har selv taget pointene, så dette spørgsmålet er "lukket".
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