teveel geheugen gebruik

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end programmeur

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een uitdagende werkgever in omgeving Waalwijk zijn wij op zoek naar een enthousiaste softwareontwikkelaar met kennis of ervaring met C# en SQL. In een uitdagende rol als C#.NET Developer werk je samen met een enthousiast en informeel team aan het bouwen van maatwerk software voor variërende klanten. Verder ziet jouw takenpakket er als volgt uit: Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je houdt je bezig met het ontwikkelen

Bekijk vacature »

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 »

Front-end developer Supply Chain Angular, ReactJS,

Functie Het development team bestaat momenteel uit 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creëren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld meedenken over strategie en design. Hierin krijg je veel vrijheid om de functie naar eigen inzicht in te vullen en te pionieren. Alle data die wordt gebruikt is zichtbaar in een webapplicatie, geschreven in Angular en React. Momenteel zijn ze bezig om de dashboards anders vorm te geven en de

Bekijk vacature »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

.NET Developer C# VB

Samengevat: Deze werkgever is actief in software voor het matchen van vraag en aanbod van gebruikte auto-onderdelen. Ben jij een .NET Developer? Heb je ervaring met het ontwikkelen (REST) en integreren van webservices? Vaste baan: C# .NET Developer C# VB HBO €2.600 - €6.200 Wij ontwikkelen software om vraag en aanbod van onderdelen van personenauto's bij elkaar te brengen. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. De branche van dit bedrijf is Automotive. Functie: Voor de vacature als .NET Developer Dordrecht HBO ga je

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

Bekijk vacature »

IoT Software Developer PHP

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een IoT software developer met kennis van PHP. In deze rol wordt je verantwoordelijk voor het vernieuwen van het multimedia platform van een super tof bedrijf in Breda. Je gebruikt PHP als programmeerlaag, en bent in staat om de helicopterview te pakken / projectmatig te werken. Jouw werkzaamheden zien er als volgt uit: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "intern" ontwikkelde multimedia platform. Je neemt de lead in het moderniseren van het platform door het deels opnieuw op te zetten of

Bekijk vacature »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

Bekijk vacature »

Software Developer PHP

Functie omschrijving We are looking for a dutch native speaker Voor een opdrachtgever in de regio van Geldrop ben ik op zoek naar een Software Developer PHP. Jij krijgt een rol met veel verantwoordelijkheid in een groeiende organisatie. In deze functie werkt je voornamelijk remote en op een vast moment kom je met het team samen, om samen te werken en nieuwe doelen te bepalen. Wat ga je doen? Je wordt verantwoordelijk voor de interne applicatie; Je zorgt voor de doorontwikkeling van de applicatie: zowel back-end, front-end; De basis van het werk betreft front-end technieken; Periodiek bepaal je samen met

Bekijk vacature »

Back-end Developer Java

Dit ga je doen Het (door)ontwikkelen van een zelfgebouwde applicatie in Java, Spring Framework, SQL, HTML, CSS en Javascript; End-to-end beheer m.b.t. de applicatie en koppelen van applicaties binnen het landschap; Ontwikkelen van rapportages voor de interne organisatie; Ontwikkelen van aanvullende functionaliteiten m.b.t. de applicatie; Uitvoeren van testen en code reviews. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die medische gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen en verbeteren van de kwaliteit van de zorg in heel Nederland.

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 15:35:33
 
- 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.