Jag håller på med att script som (ska) skapa en miniatyr av en bild vid uppladdning, men det fungerar inte riktigt.
if (isset($_POST['submit'])){
$imagename = $_POST['title'];
$imagename = str_replace(" ","-", $imagename);
$imagename = substr($imagename, 0, 200);
$imagename = $imagename.".jpg";
$imagename = strtolower($imagename);
if($_FILES['releaseimage']['size'] == 0){
$error = 'Please select an image';
array_push($output[0],$error);
}
if($_FILES['releaseimage']['type'] == "image/gif" || $_FILES['releaseimage']['type'] == "image/jpg" || $_FILES['releaseimage']['type'] == "image/jpeg" || $_FILES['releaseimage']['type'] == "image/pjpeg" || $_FILES['releaseimage']['type'] == "image/png") {
} else {
$error = 'Image must be a JPEG, JPG, GIF, or PNG.';
array_push($output[0],$error);
}
if(count($output[0])){
$error = new Error();
$msg = $error->buildError($output[0]);
}else{
$image = new Gregphoto_Image($_FILES['releaseimage']['tmp_name']);
$image->setMaxHeight(75);
$image->setMaxWidth(75);
$image->setJpegQuality(90);
$image->setOutputType(IMAGETYPE_JPEG);
$image->resize(Gregphoto_Image::BEST_FIT);
$image->saveThumbnail(UPLOADSPATH.'/releases/thumbs/'.$imagename);
$image = new Gregphoto_Image($_FILES['releaseimage']['tmp_name']);
$image->setMaxHeight(200);
$image->setMaxWidth(200);
$image->setJpegQuality(90);
$image->setOutputType(IMAGETYPE_JPEG);
$image->resize(Gregphoto_Image::BEST_FIT);
$image->saveThumbnail(UPLOADSPATH.'/releases/'.$imagename);
Alla info från formuläret sparas utan problem i mysql, men ingen bild sparas i mappen "releases" eller "releases/thumbs". :(
Har dubbelkollat så att alla sökvägar är korrekta.
(Bifogar klassen som skapar bilden.)
effataMedlem sedan apr. 2008137 inlägg Vad händer när du försöker? Vad använder du för bild och hur stor är den? Har du kollat i errorloggen om scriptet crashar eller dylikt?
Anledningen att jag frågar är att GDLib kräver galet mycket minne när man jobbar med PNG, och kan därför väldigt lätt orsaka out of memory exceptions.
Detta är det troligaste felet om du bara får en blank sida när du försöker köra. Annars skulle det vara väldigt bra om du kunde slå på error_reporting(E_ALL) och skriva vad du får för typ av fel. Jag ser inget uppenbart fel i din kod.
Jag har försökt med ett par mindre .jpg bilder.
Sidan laddar om och sparar all info precis som den ska, enda problemet är att inga bilder sparas på servern.
effataMedlem sedan apr. 2008137 inlägg Har du skrivrättigheter i katalogerna? Kan du validera att filen laddas upp ordentligt, dvs finns tmp_name? Vad händer om du använder move_uploaded_file för att flytta den uppladdade filen till en av katalogerna du vill lägga filer i?
effata skrev:
Har du skrivrättigheter i katalogerna? Kan du validera att filen laddas upp ordentligt, dvs finns tmp_name? Vad händer om du använder move_uploaded_file för att flytta den uppladdade filen till en av katalogerna du vill lägga filer i?
Ja, jag har satt rättigheterna till 777 på båda mapparna.
"tmp_name" finns.
1. Nej, inga felmeddelanden genereras.
2. Ja, är 110% säker på att alla sökvägar är korrekta.
3. Ja, det fungerar.
4. "enctype='multipart/form-data'" finns i form-taggen.
5. Ja, gd2 finns installerat och är "aktiverat".
Kan det vara något knas i klassen som inkluderas?
Är tacksam för all hjälp jag kan få.
Hur stora filer försöker du ladda upp?
Kolla (i php.ini):
max_upload_size
max_post_size
De kan heta något annorlunda, så försök söka på max i php.ini filen.
gernberg skrev:
Hur stora filer försöker du ladda upp?
Kolla (i php.ini):
max_upload_size
max_post_size
De kan heta något annorlunda, så försök söka på max i php.ini filen.
Det är inga problem eller fel med serverns inställningar.
Har inga problem med andra skript för filuppladdning.