teveel geheugen gebruik

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior PHP Developer

Functieomschrijving Junior PHP Developer gezocht! Voor een opdrachtgever in de regio Gelderland zijn wij op zoek naar een Junior PHP Developer die onderdeel gaat worden van het ontwikkelingsteam van deze organisatie. In deze functie ga jij aan de slag met het schrijven van software voor de aansturing van en het managen van windparken en bijbehorende onderdelen. Hiernaast ga jij je bezighouden met het ontwikkelen, testen en onderhouden van diverse webapplicaties. Het team waarin je komt te werken bestaat uit 3 developers, hierdoor krijg je veel verantwoordelijkheid en de kans om jezelf verder te ontwikkelen. Er wordt echter wel van je

Bekijk vacature »

Lead Java Developer

Dit ga je doen Je taken bestaan onder andere uit: Het aansturen van een development team bestaande uit 8 collega's op technisch maar ook HR gebied; Het maken van strategische keuzes omtrent de (nieuw)bouw van deze applicatie; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java, Spring, Angular, REST); Reviewen van code en feedback geven op collega developers. Hier ga je werken Als Lead Software Developer ben je verantwoordelijk voor één van de vier Agile Java ontwikkelteams die bouwen aan technologie die duizenden instanties wereldwijd verbindt. Dit Agile team, data Jira en Confluence gebruikt en

Bekijk vacature »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

Bekijk vacature »

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-End Developer at Coolblue? As a Front-End Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis van

Bekijk vacature »

Backend Developer Scrummaster .NET

Samengevat: Deze werkgever is een ambitieus internetbedrijf met een passie voor digitale communicatie. Ben jij geschikt als Backend Developer? Heb je ervaring met .NET platform? Vaste baan: Backend Developer / SCRUM Master Scrum HBO WO €3.800 - €6.000 Deze werkgever is een innovatief bedrijf met enthousiaste mensen die jarenlang ervaring hebben met het ontwikkelen internet- en intranetoplossingen. Wij houden van korte lijnen en open en eerlijke communicatie. Wij zetten graag onze jarenlange ervaring in om perfect werkende oplossingen te ontwikkelen. Wij ondersteunen dienstverlenende organisaties bij het ontwikkelen en realiseren van een effectief, adaptief communicatieplatform. Je ontwikkelt met ons de meest

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

Java Front-end Developer

Dit ga je doen Ontwikkelen van nieuwe functionaliteiten in Java met tools als Springboot, MS SQL Server (T-SQL) en JavaScript; Het onderhouden van de (web-)applicaties binnen een complexe omgeving; Werken aan de migratie van een monolithisch systeem naar een architectuur gebaseerd op Kubernetes; Code reviews met collega's en actieve kennisuitdelingsessies voeren; Het uitvoeren van unit- en systeemtests Experimenteren met nieuwe tools en technieken. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je hier

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Low Code Developer - Consultant

Functie omschrijving Wil jij fungeren als een spin in het web en samenwerken met klanten? Voor een leuke en interessante opdrachtgever in omgeving Leiden zijn wij op zoek naar een Low Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten en het leiden van projecten. Ben jij toe aan een nieuwe uitdaging en heb jij verstand van datamodellering en NO CODE Platformen? Lees dan snel verder! Bij deze rol horen de volgende werkzaamheden: Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform,

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »
Marlies Maalderink

Marlies Maalderink

09/05/2011 17:38:52
Quote Anchor link
Ik wil een fotoupload functie maken waarbij de tumbnails automatisch gekropt worden. Nu heb ik niet genoeg php ervaring om zelf zo'n script te schrijven, maar heb in het verleden vaak met veel succes gebruik gemaakt van het "SimpleImage.php" script (vast wel bekend).

Maar momenteel ben ik met een site bezig waarbij de thumbnails allemaal gecropped moeten worden. Toen werd het dus een beetje puzzelen met kant en klare scriptjes, tot ik iets gecombineerd had wat werkte. Of althans, in bepaalde mate.

Als ik foto's van minder dan 2 MB probeer te uploaden is er geen probleem. Maar als ik een foto van bijv. 4 MB probeer te uploaden krijg ik de volgende melding:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 17152 bytes) in .../httpdocs/simpleimage.php on line 33

Misschien een beetje een domme vraag, maar een foto van 4 MB is toch geen 32 MB? Or heeft het hier niets mee te maken? En zo niet, waar komt het dan door?

Voor de duidelijkheid hier even het complete script erbij, inclusief het database gedeelte voor de volledigheid:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
include("simpleimage.php");

//check wat de titel van het plaatje moet worden
$sqlGetTitle = "SELECT * FROM fotoboek ORDER BY fotoboek_url DESC";
$resultGetTitle = mysql_query($sqlGetTitle);
$rowGetTitle = mysql_fetch_array($resultGetTitle,MYSQL_ASSOC);
$previousTitle = $rowGetTitle['fotoboek_url'];
$title = $previousTitle + 1;

//check wat het volgnummer moet worden
$sqlGetSeq = "SELECT * FROM fotoboek ORDER BY fotoboek_volgnr DESC";
$resultGetSeq = mysql_query($sqlGetSeq);
$rowGetSeq = mysql_fetch_array($resultGetSeq,MYSQL_ASSOC);
$previousSequencenumber = $rowGetSeq['fotoboek_volgnr'];
$sequencenumber = $previousSequencenumber + 1;


// grote afbeeldingen
list($width, $height, $type, $attr) = getimagesize($_FILES['foto']['tmp_name']);
if ($width < $height){
        $size = (550/$height) * $width;
        $hg = "550";
        $bg = round($size);
        }
elseif($width > $height){
        $size = (550/$width) * $height;
        $hg = round($size);
        $bg = "550";
        }
else {
        $bg = "550";
        $hg = "550";
        }

        $ext = ".jpg";
        $imagelocation = "afbeeldingen/fotoboek/" . $title . "." . jpg;

         $image = new SimpleImage();
          $image->load($_FILES['foto']['tmp_name']);
         $image->resize($bg,$hg);
        $image->save($imagelocation);
        
// verkleinen voor de thumbs zodat ze uitgesneden kunnen worden
list($width, $height, $type, $attr) = getimagesize($_FILES['foto']['tmp_name']);
if ($width > $height){
        $size = (156/$height) * $width;
        $hg = "156";
        $bg = round($size);
        }
elseif($width < $height){
        $size = (156/$width) * $height;
        $hg = round($size);
        $bg = "156";
        }
else {
        $bg = "156";
        $hg = "156";
        }

        $ext = ".jpg";
        $thumblocation = "afbeeldingen/fotoboek/" . $title . "_klein." . jpg;

         $image = new SimpleImage();
          $image->load($_FILES['foto']['tmp_name']);
         $image->resize($bg,$hg);
        $image->save($thumblocation);

//uitsnijden van de verkleinde images
list($current_width, $current_height) = getimagesize($thumblocation);

if ($current_width > $current_height){
    $left = (($current_width - 156)/2);
    $top = 0;
}
elseif($current_width < $current_height){
    $top = (($current_height - 156)/2);
    $left = 0;
}
else {
    $left = 0;
    $top = 0;
}


$crop_width = 156;
$crop_height = 156;

$canvas = imagecreatetruecolor($crop_width, $crop_height);
$current_image = imagecreatefromjpeg($thumblocation);
imagecopy($canvas, $current_image, 0, 0, $left, $top, $current_width, $current_height);
imagejpeg($canvas, $thumblocation, 100);

//ze de titel en volgnummer in de database
$sqlInsert = "INSERT INTO fotoboek (fotoboek_url, fotoboek_volgnr) VALUES ('$title', '$sequencenumber')";
$resultInsert = mysql_query($sqlInsert);

?>
Gewijzigd op 09/05/2011 17:39:40 door Marlies Maalderink
 
PHP hulp

PHP hulp

29/04/2024 13:47:14
 
- Roland -

- Roland -

09/05/2011 18:02:53
Quote Anchor link
4MB op harde schijf zegt heel weinig!

Een (reken)voorbeeldje
Foto van 2000x3000pixels -> 6000000 (6milj.) pixels
Een jpg heeft 16miljoen kleuren. Dat is 2 tot de macht 24 (ja dus een zgn. 24bits bestand)
En 24 bit is 3 Byte. Dus dan zitten we op 18000000 Bytes

Ja, en waarom deze getallen ? Omdat als je de foto (met de GD routine) wil gaan bewerken dan moet ie eerst in zijn geheel in het werkgeheugen staan! En voor de meeste bewerkingen ook nog eens 2x ! De originele versie EN de bewerkte versie !

Dan heb je dus al 36000000 bytes nodig !
 
- SanThe -

- SanThe -

09/05/2011 18:11:34
Quote Anchor link
Je hebt het over uploaden en dat zit niet in dit script.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.