/ 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
Problem med at gemme imagejpeg
Fra : Jette


Dato : 10-07-02 15:42

Jeg har store problemer med at gemme vha. ImageJpeg($source, $filename).
Jeg har søgt herinde og prøvet mange af de kode-forslag der er givet,
men intet virker.

Hvis filen ikke er oprettet, brokker den sig over at den ikke er der, og
hvis jeg lægger en fil den kan åbne, får jeg "unable to open..."

Jeg så et sted at der skal være fuld offentlig read/write rettigheder på
den mappe man gemmer i... men det er da ikke særlig smart?? Så kan alle
og enhver jo slette mine thumpnails som de lyster??

Jeg har PHP 4.1.2 og i min phpinfo er angivet at jeg har GD 1.6.2 or
higher

Her er min testkode:

<?php
if ($file) {
$fsize = filesize($file);
$CopyPicture = fread(fopen($file, "r"),$fsize);

$filename = "ftp://usr:psw@ftp.server.dk/" . "$file_name";
$fp=fopen($filename,"w");
fwrite($fp,$CopyPicture);
fclose($fp);


$new_w=106;
$new_h=80;

$dst_img=ImageCreate($new_w,$new_h);
$src_img=ImageCreateFromJpeg($file);


ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_im
g),ImageSY($src_img));

$filename2 = "ftp://usr:psw@ftp.server.dk/" . "new.jpg";
ImageJpeg($dst_img, $filename2);
}
?>

<FORM ENCTYPE="multipart/form-data" ACTION="<?php echo $PHP_SELF;?>"
METHOD="post">
<INPUT NAME="file" TYPE="file">
<INPUT TYPE="submit" VALUE="Upload">
</FORM>

Jeg har godt nok kæmpet med det længe nu - så jeg håber nogen kan
hjælpe.....

Mvh. Jette

--
Ny bruger af dk.fritid.dyr.kat? Opret din profil og se andres på
gruppens hjemmeside http://www.dk-fritid-dyr-kat.dk



 
 
Johan Holst Nielsen (10-07-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 10-07-02 16:20

> Jeg har godt nok kæmpet med det længe nu - så jeg håber nogen kan
> hjælpe.....

Start med at læse

http://www.php.net/manual/en/features.file-upload.php
I dit tilfælde skal du formentlig bruge

$_FILES['file']['tmp_name']

i stedet for

$file

mvh
Johan


Johan Holst Nielsen (10-07-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 10-07-02 16:21

> Start med at læse
>
> http://www.php.net/manual/en/features.file-upload.php
> I dit tilfælde skal du formentlig bruge
>
> $_FILES['file']['tmp_name']
>
> i stedet for
>
> $file


Evt. kan du supplere med

if(file_exists(....))

mvh
Johan


Jette (10-07-2002)
Kommentar
Fra : Jette


Dato : 10-07-02 16:45

"Johan Holst Nielsen" skrev:
> > Start med at læse
> >
> > http://www.php.net/manual/en/features.file-upload.php
> > I dit tilfælde skal du formentlig bruge
> >
> > $_FILES['file']['tmp_name']
> >
> > i stedet for
> >
> > $file
>

Jeg har ingen problemer med at uploade filer i almindelighed... mit
problem er at få et billede fra imagejpeg() over i en fil... og det
synes jeg ikke der står noget om i den vejledning du henviser til.

Mvh. Jette



Nezar Nielsen (10-07-2002)
Kommentar
Fra : Nezar Nielsen


Dato : 10-07-02 19:11

Jette wrote:
> Jeg har store problemer med at gemme vha. ImageJpeg($source, $filename).
> Jeg har søgt herinde og prøvet mange af de kode-forslag der er givet,
> men intet virker.
....
>
> $filename2 = "ftp://usr:psw@ftp.server.dk/" . "new.jpg";
> ImageJpeg($dst_img, $filename2);
> }

Hej Jette,

Såvidt jeg ved er det kun i fopen du kan bruge f.eks. ftp:// stier, prøv
først at gemme filen lokalt (f.eks. i /var/tmp) og derefter bruge samme
trick til at overføre til ftp-serveren med som du bruger til billedet i
sin originale størrelse i toppen af din kode.

eg:

$kode=fread(fopen(..),filesize(..));
$fp=fopen("ftp://...","w");
fwrite($fp,$kode);
fclose($fp);

--
Mvh. Nezar Nielsen


Jette (10-07-2002)
Kommentar
Fra : Jette


Dato : 10-07-02 19:43

"Nezar Nielsen" skrev:
> > $filename2 = "ftp://usr:psw@ftp.server.dk/" . "new.jpg";
> > ImageJpeg($dst_img, $filename2);

> Såvidt jeg ved er det kun i fopen du kan bruge f.eks. ftp:// stier,
prøv
> først at gemme filen lokalt (f.eks. i /var/tmp) og derefter bruge
samme
> trick til at overføre til ftp-serveren med som du bruger til billedet
i
> sin originale størrelse i toppen af din kode.

var/tmp/ duede ikke, men jeg så i et andet script, at man kunne "fange"
billedet med ob_get_contents(), og den i kombination med fopen(), som du
foreslog, giver det ønskede resultat.

Jeg har knoklet med at få det her til at virke i 2 døgn, så lige nu har
jeg lyst til at hoppe og ned og skrige JUBIIIII! hihi!

Tak fordi du ledte mig på sporet

Mvh. Jette



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste