/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
resizing billeder hos One.com
Fra : anders


Dato : 24-05-08 12:34

Jeg har lavet dette til at resize billeder. Det virker fint på min
lokale server, men der sker absolut ingenting når jeg prøver at bruge
det på One.com' server. Lokalt bruger jeg php5, men som jeg har set, så
er det hele gangbart i php4. Er der nogen der kan finde fejlen(e)?

<html>
<head>
<title>Resize billeder</title>
</head>
<body>
<?php
require 'dbinfo';
import_request_variables("gp");
if ($resize) {
tilslut();
if ($handle = opendir('../uploaded_files')) {
while (false !== ($file = readdir($handle))) {
         $image= "../uploaded_files/$file";
         $image_name = substr($file, 0, -4);
         $outputdir_small = "../galleri/".$image_name."_small.jpg";
         $outputdir_medium = "../galleri/".$image_name."_medium.jpg";
         $outputdir_full = "../galleri/".$image_name.".jpg";
if ($file != "." && $file != "..") {
               if(file_exists($move)) {
                  unlink($image);
                  echo $file . " er allerede uploadet og er nu slettet!<br>";
                } else {
                  list($width, $height) = getimagesize($image);
                  $album ="no";
                  $nh_small = 75;
                  $nh_medium = 500;
                  $nw_small = round($width*($nh_small/$height));
                  $nw_medium = round($width*($nh_medium/$height));
                  $nyt_billede = imagecreatetruecolor($nw_small, $nh_small);
                  $new_image = imagecreatefromjpeg($image);
                  imagecopyresampled($nyt_billede, $new_image, 0, 0, 0, 0,
$nw_small, $nh_small, $width, $height);
                  imagejpeg($nyt_billede, $outputdir_small);
                  $nyt_billede_medium = imagecreatetruecolor($nw_medium, $nh_medium);
                  $new_image_medium = imagecreatefromjpeg($image);
                  imagecopyresampled($nyt_billede_medium, $new_image_medium, 0, 0,
0, 0, $nw_medium, $nh_medium, $width, $height);
                  imagejpeg($nyt_billede_medium, $outputdir_medium);
                  rename($image, $outputdir_full);
      mysql_query("INSERT INTO $billede (name, album) VALUES ('$image_name',
'$album')");
                                 }
                }
}
closedir($handle);
}
?>
<script language="javascript">
window.close()
</script>
<?
}
?>
<center>
<form action="<? echo $_SERVER[PHP_SELF]; ?>" method="get">
<h3>Vil du resize og flytte billederne?</h3>
<input type="submit" name="resize" value="Resize">
</form>
</center>
</body>
</html>

 
 
Birger (24-05-2008)
Kommentar
Fra : Birger


Dato : 24-05-08 13:31

"anders" <nyt@kaosfoto.com> skrev i en meddelelse
news:g18ueu$sf1$1@newsbin.cybercity.dk...
> Jeg har lavet dette til at resize billeder. Det virker fint på min
> lokale server, men der sker absolut ingenting når jeg prøver at bruge
> det på One.com' server. Lokalt bruger jeg php5, men som jeg har set, så
> er det hele gangbart i php4. Er der nogen der kan finde fejlen(e)?
>
> <html>
> <head>
> <title>Resize billeder</title>
> </head>
> <body>
> <?php
> require 'dbinfo';
> import_request_variables("gp");
> if ($resize) {
> tilslut();
> if ($handle = opendir('../uploaded_files')) {
> while (false !== ($file = readdir($handle))) {
> $image= "../uploaded_files/$file";
> $image_name = substr($file, 0, -4);
> $outputdir_small = "../galleri/".$image_name."_small.jpg";
> $outputdir_medium = "../galleri/".$image_name."_medium.jpg";
> $outputdir_full = "../galleri/".$image_name.".jpg";
> if ($file != "." && $file != "..") {
> if(file_exists($move)) {
> unlink($image);
> echo $file . " er allerede uploadet og er nu slettet!<br>";
> } else {
> list($width, $height) = getimagesize($image);
> $album ="no";
> $nh_small = 75;
> $nh_medium = 500;
> $nw_small = round($width*($nh_small/$height));
> $nw_medium = round($width*($nh_medium/$height));
> $nyt_billede = imagecreatetruecolor($nw_small, $nh_small);
> $new_image = imagecreatefromjpeg($image);
> imagecopyresampled($nyt_billede, $new_image, 0, 0, 0, 0,
> $nw_small, $nh_small, $width, $height);
> imagejpeg($nyt_billede, $outputdir_small);
> $nyt_billede_medium = imagecreatetruecolor($nw_medium, $nh_medium);
> $new_image_medium = imagecreatefromjpeg($image);
> imagecopyresampled($nyt_billede_medium, $new_image_medium, 0, 0,
> 0, 0, $nw_medium, $nh_medium, $width, $height);
> imagejpeg($nyt_billede_medium, $outputdir_medium);
> rename($image, $outputdir_full);
> mysql_query("INSERT INTO $billede (name, album) VALUES ('$image_name',
> '$album')");
> }
> }
> }
> closedir($handle);
> }
> ?>
> <script language="javascript">
> window.close()
> </script>
> <?
> }
> ?>
> <center>
> <form action="<? echo $_SERVER[PHP_SELF]; ?>" method="get">
> <h3>Vil du resize og flytte billederne?</h3>
> <input type="submit" name="resize" value="Resize">
> </form>
> </center>
> </body>
> </html>

Har ikke set dit script igennem.
Men har selv forsøgt at resize hos one.com, og problemet jeg havde, var den
hukommelse der er til rådighed for PHP hos one.com.
imagecreatefromjpeg skaber et nyt bitmap billede, og det skal ikke være ret
stort, før du overskrider de 16M one.com tillader. (højde gange bredde gange
farvedybde)
Tror nu nok jeg fik en warning, inden scriptet bare stoppes, men er ikke
sikker.

Birger



Kim Ludvigsen (24-05-2008)
Kommentar
Fra : Kim Ludvigsen


Dato : 24-05-08 22:37

Birger skrev:
> "anders" <nyt@kaosfoto.com> skrev i en meddelelse

>> Jeg har lavet dette til at resize billeder.

> Men har selv forsøgt at resize hos one.com, og problemet jeg havde, var den
> hukommelse der er til rådighed for PHP hos one.com.

Hvis ikke der er blokeret for det i serveren, bør
nedenstående indsat tidligt i koden give adgang til mere
hukommelse.

ini_set("memory_limit","32M");

--
Mvh. Kim Ludvigsen
Sæt de små grå hjerneceller i sving i en gratis udgave af
spilklassikeren Mastermind.
http://kimludvigsen.dk

Birger (24-05-2008)
Kommentar
Fra : Birger


Dato : 24-05-08 23:32

"Kim Ludvigsen" <usenet@kimludvigsen.dk> skrev i en meddelelse
news:48388a6c$0$56785$edfadb0f@dtext02.news.tele.dk...
> Birger skrev:
>> "anders" <nyt@kaosfoto.com> skrev i en meddelelse
>
>>> Jeg har lavet dette til at resize billeder.
>
>> Men har selv forsøgt at resize hos one.com, og problemet jeg havde, var
>> den hukommelse der er til rådighed for PHP hos one.com.
>
> Hvis ikke der er blokeret for det i serveren, bør nedenstående indsat
> tidligt i koden give adgang til mere hukommelse.
>
> ini_set("memory_limit","32M");
>
> --


Det er blokeret - iht. support, gives under ingen omstændigheder mere end
16M total.
Der er en grund til at det er billigt ;>)

Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste