teveel geheugen gebruik

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

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 »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

Medior/senior Front-end developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Medior .NET developer

Functie Jij gaat als Medior .NET ontwikkelaar aan de slag in ons scrumteam met 6 developers die gepassioneerd en actief bezig zijn om onze spelers kwalitatieve en mooie spelervaringen aan te bieden. Als medior .NET developer ga jij werken aan een technisch hoogwaardig platform welke bezoekerspieken verwerkt van tienduizenden tot honderdduizenden gebruikers per minuut! Ons scrumteam werkt in drie wekelijkse sprints en wij beginnen iedere ochtend met een stand-up. Jij werkt bij ons met C# .NET, .NET Core, React.JS, Xamarin, Azure, Docker en Kubernetes. Wij hechten enorm veel waarde aan het leveren van hoogwaardige en kwalitatieve code. Zodra jij de

Bekijk vacature »

Consultant Low Code Developer

Functie omschrijving Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Voor een mooie opdrachtgever in omgeving Delft zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten. Onderdelen functie Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan Mendix of Betty Blocks. Je bent verantwoordelijk voor

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Lead React Developer

Dit ga je doen Als Lead React Developer zul jij je voornamelijk gaan bezighouden met: Het werken aan tal van uiteenlopende projecten waar gloednieuwe (web)applicaties van scratch af aan ontwikkeld worden met o.a. React (Native) en Drupal; Het aansturen van een team bestaande uit 5-6 talentvolle en gedreven ontwikkelaars; Het adviseren en meedenken over nieuwe (technische) oplossingen en te gebruiken tools/frameworks; Het meedenken over de architectuur en de juiste implementatiebeslissingen maken; De doorontwikkeling van huidige applicaties. Hier ga je werken Als je inderdaad een ervaren Lead React Developer bent die zichzelf graag nog verder wil ontwikkelen dan is het goed

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

.NET developer

Functie Heb jij veel kennis van ASP.NET Webforms en wil jij juist de overstap maken naar ASP.NET Core? Wij zijn per direct op zoek naar een ervaren .NET Webdeveloper die met ons samen ons platform wilt herschrijven van ASP.NET Webforms naar ASP.NET Core. Voor jou de unieke kans om met ons samen te innoveren en kennis op te doen van de nieuwste technieken binnen de Microsoft Stack. Wij hebben een development team met 10 IT specialisten bestaande uit onder andere 4 backend .NET developers en twee front-end developers. Wij zijn continu bezig om ons als team en bedrijf te blijven

Bekijk vacature »

.NET Developer Senior

Dit ga je doen Het ontwikkelen van backend applicaties in C#; Het maken van vele koppelingen met andere ERP-applicaties zoals JD Edwards en SAP; Je bent (mede) verantwoordelijk voor het opstellen van technisch ontwerpen voor de te ontwikkelen software oplossingen; Je bent gemiddeld 90% van je tijd inhouse oplossingen aan het ontwikkelen en testen. De overige 10% van je tijd ben je bij klanten op locatie om oplossingen te implementeren, klanten te begeleiden en de software verder te innoveren; Naast het zelfstandig ontwikkelen van software oplossingen ben je ook bezig met het waarborgen van je contacten bij de klant, het

Bekijk vacature »

Team Lead Java Developer

Functie Wat ga je doen als Java developer? Als Team Lead Java Developer draag een grote verantwoordelijk je stuurt ontwikkelaars aan en staat dagelijks in contact met jou ICT Manager. De team Bestaat uit front-end en backend systemen. Je ben in staat op hoog niveau de technische vak te bepalen en ook te bewaren. Je dag zie er als volgt uit, ontwikkelen van nieuwe en bestaande applicaties, het uitvoeren van processen en analyses en het beschrijven van functioneel ontwerpen. Ook zal samen met jouw Tester applicaties gaan testen door middel van peer reviews en het leveren van support aan gebruikers

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

24/11/2024 14:19:06
 
- 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.