Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Namn på uppladdade filer

Skapad av MER, 2009-08-29 13:29 i Webbutveckling & Programmering

1 472
10 inlägg
2 poäng
MER
Visningsbild
P 33 Mölndal Hjälte 3 305 inlägg
2
Har alltför dålig koll på php, men skulle vilja använda det för en flashkomponent jag gjort, där man laddar upp bilder i ett galleri där man sedan kan bläddra mellan dem. Förutom php, kör jag då såklart swf-filen och sedan en xml-fil som radar upp alla bilderna. Sist vill jag då ha två uppsättningar av alla bilder, en liten thumbnail som visas när man bläddrar i galleriet och sedan den vanliga uppladdade bilden. Uppladdning av bild fungerar, kopiering och förminskning till thumbnail fungerar och galleriet fungerar, problemet är en sådan larvig sak som namngivning av thumbnailen. Känns som en patetiskt liten grej att ordna, men jag har väl nån kortslutning i hjärnan... >_<

Jag vill att thumbnailen ska ha precis samma namn som bilden, fast ligga i undermappen "thumbnails" istället för "bilder". Koden nedan fungerar, fast ger då förstås alltid namnet "bild.jpg".

Här är hela koden, men det gäller alltså bara det nedersta stycket - namnet där nere som jag vill göra om till en variabel, fast så fort jag gör det slutar allt fungera...
Ett stycke php-kod:

<?php
if(!is_dir("./bilder")) mkdir("./bilder", 0755);
move_uploaded_file($_FILES['Filedata']['tmp_name'], "./bilder/".$_FILES['Filedata']['name']);
chmod("./bilder/".$_FILES['Filedata']['name'], 0777);

$i = new imagethumbnail();
$i->open("bilder/".$_FILES['Filedata']['name']);
$i->setX(100);
header("Content-type: image/jpeg;");
$i->imagejpeg();
class imagethumbnail {
var $filename;
var $x;
var $y;
var $image;
var $thumbnail;
function open($filename) {
$this->filename = $filename;
$imageinfo = array();
$imageinfo = getimagesize($this->filename,$imageinfo);
$this->old_x = $imageinfo[0];
$this->old_y = $imageinfo[1];

switch ($imageinfo[2]) {
case "2": $this->image = imagecreatefromjpeg($this->filename); break;
}
}
function setX($x="") {
if (isset($x)) { $this->x = $x; }
return $this->x;
}
function setY($y="") {
if (isset($y)) { $this->y = $y; }
return $this->y;
}
function generate() {
if ($this->x > 0 and $this->y > 0) {
$new_x = $this->x;
$new_y = $this->y;
} elseif ($this->x > 0 and $this->x != "") {
$new_x = $this->x;
$new_y = ($this->x/$this->old_x)*$this->old_y;
} else {
$new_x = ($this->y/$this->old_y)*$this->old_x;
$new_y = $this->y;
}
$this->thumbnail = imagecreatetruecolor($new_x,$new_y);
$white = imagecolorallocate($this->thumbnail,255,255,255);
imagefill($this->thumbnail,0,0,$white);
imagecopyresampled ( $this->thumbnail, $this->image, 0, 0, 0, 0, $new_x, $new_y, $this->old_x, $this->old_y);
}
function imagejpeg($nybild="thumbnails/bild.jpg",$quality=80) {
if (!isset($this->thumbnail)) { $this->generate(); }
imagejpeg($this->thumbnail,$nybild,$quality);
}
}
?>


Jag har testat lite olika varianter, men som sagt har jag alltför dålig koll för att riktigt fatta vad jag gjort för fel när det inte funkar...

Andra idéer på hur man omformulerar skriptet eller tar bort onödiga delar välkomnas, då den ändrats ungefär 100 ggr om och jag inte hittar mer.. >_<

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

MER
Visningsbild
P 33 Mölndal Hjälte 3 305 inlägg
Trådskapare
0
Men snälla ni, jag vet ju att någon kan nåt, ni är bättre än jag på PHP iaf! :P

Ge mig ett svar med förslag eller idéer åtminstone nu... :(
MER
Visningsbild
P 33 Mölndal Hjälte 3 305 inlägg
Trådskapare
0
Svar till cower [Gå till post]:
Ursäkta mig verkligen, det hade trots allt gått 3,5 timmar, så trodde det hade passerat obemärkt. Tack för att du ändå åtog dig det.

Faktum är att det är småstycken är hämtade från massor av ställen, det är bara några få rader jag skrivit själv, resten är redigerat. Jo, den består av två huvuddelar, första biten uppladdningen av bilden bara, som tar emot allt från flashen. Det fungerar fint. Sedan andra delen är jag mer osäker på, för det är alltså från flera olika ställen och jag har en känsla av att mycket är överflödigt, vilket du väl bekräftar.

Jag håller på att fixa ny serverplats, så vet inte om den jag sedan väljer kommer ha imagemagick (förresten, i vilken mån är det något man bör ta reda på och räkna med i sitt val?). Men båda tycker jag verkar väldigt smidiga. Båda täcker själva alltså alla funktionerna?

Du säger att man ska ha en del "undanstoppad", betyder det en annan fil helt enkelt eller?

Åter igen, tusen tack för hjälpen! =)
MER
Visningsbild
P 33 Mölndal Hjälte 3 305 inlägg
Trådskapare
0
Svar till cower [Gå till post]:
Jag förstår. Jag är väl van vid de lite hastigare delarna av forumet. Så åter igen ursäkta mig.

Ahh, tack för tipset. Det är nog inte mer än detta jag ska göra med bilder iaf. :)

På själva koden tycker jag det ser perfekt ut, men det vill sig inte i realiteten. Bilden laddas upp och hamnar rätt i "bilder"-mappen, men ingen thumbnail skapas. :/

Jag har testat båda varianterna (i väntan på att ordna via webbhotellet one.com testar jag sidan på awardspace, men lyckas inte lura ut huruvida de har ImageMagick), men med samma resultat. Några idéer på vad det kan vara?

Vad jag har förstått skapar den bara mappen "bilder" ifall den inte finns, men förutsätter att mappen "thumbnails" finns. Jag har testat att skapa den i förväg också, men fortfarande vill ingen thumbnail dyka upp där. Du vill inte vara min räddare och kolla igenom koderna en gång till?


Stycket jag kunde "stoppa undan" är alltså en konstant funktion som jag skulle kunna åberopa i massor av andra lägen också då, menar du? I så fall, varifrån åberopar man den i detta läge? Det känns som det borde vara en URL till den inskriven. Eller?

Misstänker hur som helst att det bara är den här jag kommer använda den i dock, så den får ligga kvar. :)
MER
Visningsbild
P 33 Mölndal Hjälte 3 305 inlägg
Trådskapare
0
Svar till cower [Gå till post]:
Jo jag såg det och testade, men såg inget alls i infon om ImageMagick - betyder det att man inte har det i så fall? Jag vet ju inte huruvida det står i klarspråk i så fall, så därför uttrycker jag mig försiktigt.

Ahh, jo det förstås. Testade och den skapar båda mapparna, och laddar upp bilden, men fortfarande inte thumbnailen... :/


Tillägg av MER 2009-08-30 20:51

Grejen är alltså att innan, med mitt sjuka skript, skapade jag ju en thumbnail, det var bara det lilla sketna namnet som inte ville ordna sig...

MER
Visningsbild
P 33 Mölndal Hjälte 3 305 inlägg
Trådskapare
0
Svar till cower [Gå till post]:
Nej, det verkar inte funka med någondera variant, och servern verkar heller inte ha imagemagick.

Ändrade det i mitt skript och nu funkar det faktiskt! =) Tack så hemskt mycket för hjälpen! Nu återstår väl att ta bort lite onödiga delar i skriptet, men det får jag väl klara ut själv...

Åter igen tack, trevligt att du hjälpte mig!

Forum » Datorer & IT » Webbutveckling & Programmering » Namn på uppladdade filer

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons