Vet inte om det kan bero på det, men testa att sätta den absoluta sökvägen till mappen istället...
// Nippe
10 svar · 349 visningar · startad av Pedda
Tänkte passa på att testa att göra thumbnails nu när man endå är hemma sjuk. Men får det inte att fungera riktigt. Får följande felmeddelanden:
Warning: imagejpeg(): Unable to open '../covers/' for writing in c:\apache\htdocs\cd-skivan\cd-admin\add.php on line 62
Warning: Cannot modify header information - headers already sent by (output started at c:\apache\htdocs\cd-skivan\cd-admin\add.php:62) in c:\apache\htdocs\cd-skivan\cd-admin\add.php on line 66
Har aldrig testat att ändra storlek på filer, så jag vet inte riktigt vad jag har gjort för fel.
Testade att flytta filen med move_uploaded_file($file['tmp_name'],$mapp . $file['name']); innan och det funkade. Så skrivrättigheterna till mappen finns.
Så här ser koden ut:
if (isset($_POST['NySkiva'])){
$mapp = "../covers/";
if(!empty($_FILES['file']['name'])) {
$file = $_FILES['file'];
$storlek = getimagesize($_FILES['file']['tmp_name']);
$nybredd = 100;
$nyhojd = 100;
// kolla filändelsen
$filandelse = explode('.',$file['name']);
$sort = count($filandelse) - 1;
$so = $filandelse[$sort];
// Allowed filetypes
if ($so != 'jpg'){
// Fel filtyp
die("<center>Fel filtyp, måste vara jpg!</center>");
}
if (($storlek[0] - $nybredd) >= ($storlek[1] - $nyhojd)) {
$bildbredd = $nyhojd;
$bildhojd = ($nybredd/$storlek[0])*$storlek[1];
} else {
$bildhojd = $nyhojd;
$bildbredd = ($bildhojd/$storlek[1])*$storlek[0];
}
$bild_kalla = imagecreatefromjpeg($_FILES['file']['tmp_name']);
$bild_skapa = imagecreate($bildbredd, $bildhojd);
imagecopyresampled ($bild_skapa, $bild_kalla, 0, 0, 0, 0, $bildbredd, $bildhojd, $storlek[0], $storlek[1]);
imagejpeg ($bild_skapa, $mapp);
imagedestroy ($bild_skapa);
$sql = "INSERT INTO cd_skiva (kat, artist, titel, file) VALUES('{$_POST['kat']}', '{$_POST['artist']}', '{$_POST['titel']}', '".$file['name']."')";
mysql_query($sql);
header("Location: settings.php?action=nyCD&titlar=OK");
exit;
}
}
Vet inte om det kan bero på det, men testa att sätta den absoluta sökvägen till mappen istället...
// Nippe
Gjorde ingen skillnad, måste vara något annat.
Men du har alltså testat om du med PHP kan skriva till den mappen?
Annars så kan det ju vara att din syntax är fel på imagejpeg "int imagejpeg ( resource image [, string filename [, int quality]])" står det på http://se.php.net/manual/sv/function.imagejpeg.php
Kanske kan hjälpa dig!
Japp, jag har testat att skriva till mappen och det fungerar.
Har ändrat till
imagejpeg ($bild_skapa, $mapp, 100);
men det hjälpte inte heller.
imagejpeg ($bild_skapa, $mapp, 100);
där du skrivit $mapp nu skall det enl. php specifikationerna vara filnamnet på bilden. Och det är det ju inte, så testa att köra filnamnet där!
Har tyvärr inte GD installerat på min dator så jag kan inte testa själv :(
// Nippe
Ok, nu har jag lyckats med att göra en thumbnail. Tyvärr så blev den helt svart, så jag får nog jobba vidare lite mer. :)
Nu funkar det:
$bild_kalla = imagecreatefromjpeg($file['tmp_name']);
$bild_skapa = imagecreatetruecolor($bildbredd, $bildhojd);
imagecopyresampled ($bild_skapa, $bild_kalla, 0, 0, 0, 0, $bildbredd, $bildhojd, $storlek[0], $storlek[1]);
imagejpeg ($bild_skapa, $mapp.cd_.$file['name'], 100);
imagedestroy ($bild_skapa);
Kanske ska lägga till så det funkar med gif också. Får se om jag orkar. ;)
strålande! Synd bara att GD-liben jag kör inte har stöd för jpeg just nu :(
Ja, jag läste den andra tråden. Men du kan ju iaf ha gif och png.
Japp, får leka med det tills på måndag när personalen på webhotellet kommer in igen!