[GD] iedere keer dezelfde foto opnieuw laden?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior Java Developer

Dit ga je doen Full stack web- en appdevelopment; Vertalen van de functionele wensen naar de technische specificaties; Sturing geven aan/klank board zijn voor de software teams; Trainen van de software teams; Sparren met klanten; Meedenken over architectuur. Hier ga je werken De organisatie is een bureau welke websites en mobiele applicaties bouwt voor verschillende toonaangevende organisaties. Hierbij richten zij zich voornamelijk op de sectoren leisure, overheid en zorg. De sfeer intern kenmerkt zich door informaliteit, gezelligheid en ambitie. Ze werken dag in dag uit samen om mooie producten op te leveren voor hun klanten. Op dit moment zijn er

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Senior Front-end developer

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Senior Front-end Developer

Dit ga je doen Met behulp van diverse programmeertalen ontwikkelen van Front-end software; Het begeleiden van het front-end team; Het oplossen van incidenten; Het bijhouden van een backlog; Je hebt een actieve bijdrage in de wekelijkse overleggen met de omliggende teams; Je houdt trends bij en adviseert het management hierover waar nodig; Helder communiceren met de stakeholders om hen zo mee te nemen in projecten en laten inzien wat de duur en toegevoegde waarde van bepaalde projecten is. Hier ga je werken Deze organisatie heeft circa 40 miljoen bezoekers per maand en heeft innovatie hoog in het vaandel staan. Het

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

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 »

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

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 »
Php knipper

php knipper

25/03/2015 20:00:36
Quote Anchor link
Hallo, al weer even geleden.

Ik heb een php script gemaakt dat iedere foto nu een propere url heeft en dat deze altijd de juiste afmeting heeft. Wanneer deze nog niet bestaat zal hij deze maken en opslaan in de "case" map, het is dus niet iedere keer on the fly.

Volgens mijn inspector gegevens (chrome) worden de foto's iedere keer ingeladen, ik heb al eens gekeken naar de header's maar ik krijg het niet aan de praat.

deze code wordt uitgevoerd bij het kleiner maken van de foto:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
Header("Cache-Control: must-revalidate");
Header($exphead);
header('Content-Type: image/jpeg');
$afbeelding_origineel = imagecreatefromjpeg($pad.'/'.$bestand);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $width, $height, $width_org, $height_org);
imagejpeg($afbeelding);
imagejpeg($afbeelding, $pad.'/case/'.$afmetingen.'/'.$bestand, 80);
?>


en deze als de foto al in de case map zit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
header_remove("Cache-Control");
header_remove("Expires");
header_remove("Pragma");
header_remove("Transfer-Encoding");
Header("Cache-Control: must-revalidate");
Header($exphead);
header('Content-Type: '.$type);
echo file_get_contents($pad.'/case/'.$afmetingen.'/'.$bestand);
?>


Kan iemand eens kijken waar ik de mist in ga?

Mvg. knipper
Gewijzigd op 25/03/2015 20:02:22 door Php knipper
 
PHP hulp

PHP hulp

24/04/2024 13:31:10
 
Thomas van den Heuvel

Thomas van den Heuvel

26/03/2015 00:16:04
Quote Anchor link
Je moet $afbeelding waarschijnlijk aanmaken als imagecreatetruecolor()? Nu is $afbeelding nergens gedefinieerd.

Dit staat letterlijk in het voorbeeld van imagecopyresampled() op php.net.

Als je dit soort dingen wilt debuggen, laat dan Content-Type headers weg, dan zie je waarschijnlijk dit soort fouten wel op je scherm verschijnen.

Toevoeging op 26/03/2015 11:58:06:

EDIT: daarnaast ontbreken er gegevens in bovenstaande fragmenten. En is het probleem niet helemaal duidelijk. Wat gaat er niet goed?

Thumb wordt niet goed aangemaakt: zie bovenstaande hint (maar wss niet van toepassing omdat je niet alle relevante code hebt geplaatst)
Thumb wordt telkens opnieuw aangemaakt: de controle op het bestaan van het bestand is niet goed of niet volledig
 
Php knipper

php knipper

26/03/2015 14:00:18
Quote Anchor link
Hallo Thomas,

de afbeelding wordt gemaakt met imagecopyresampled(). In verband met de foto lukt alles, ik krijg een kleine versie en deze wordt opgeslagen in de case.

het probleem is dat ik ondanks de huidige headers nog steeds iedere keer opnieuw de foto's laad. De foto wordt dus niet opgeslagen in de case. Onderstaande zijn de headers van een foto:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
HTTP/1.1 200 OK
Date: Thu, 26 Mar 2015 12:59:16 GMT
Server: Apache
Cache-Control: must-revalidate
Expires: Sun, 29 Mar 2015 12:59:16 GMT
Content-Encoding: gzip
Vary: Accept-Encoding
Cache-Control: max-age=60, private, proxy-revalidate
Keep-Alive: timeout=10, max=489
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: 2
 
Thomas van den Heuvel

Thomas van den Heuvel

26/03/2015 14:20:32
Quote Anchor link
Quote:
De foto wordt dus niet opgeslagen in de case

Heb je dit echt geconstateerd? Het bestand ontbreekt?

Controleer je ook of alle deel-directories bestaan voordat je iets wegschrijft? (En zonee, maak je deze aan met de juiste rechten)?
Zijn de schrijfrechten van alle deel-directories (na afloop van creatie) goed?

Haal die Content-Type header nou eens (tijdelijk) weg :) en zet het tonen en rapporteren van foutmeldingen aan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
// zet dit bovenaan je script
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>


Als je geen thumbnails hebt gaat er iets fout bij het wegschrijven ervan lijkt mij...

EDIT:
Content-Type: 2 <-- wat is dit?!
Gewijzigd op 26/03/2015 14:21:17 door Thomas van den Heuvel
 
Php knipper

php knipper

26/03/2015 14:35:55
Quote Anchor link
@thomas

Alles werkt op de server, tussen mijn mappen staat ook een map "case" en daar komt de foto in terecht.
maar als ik de foto laad krijgt die altijd de status 200 (ok) en nooit 304 (niet bewerkt vanaf browsercase)

de foto komt altijd van de website en niet van het geheuge van de computer

die 2 staat voor jpg
 
Thomas van den Heuvel

Thomas van den Heuvel

26/03/2015 14:54:25
Quote Anchor link
Het probleem is dus dat de browser de afbeeldingen niet cached?

Maar dat stel je toch zelf in middels de headers die je meegeeft? Wat staat er in $exphead?

Plus, je serveert de afbeeldingen via een script. Als je nu zorgt dat die thumbs op enigerlei wijze eenmalig gegenereerd worden kun je vervolgens toch altijd rechtstreeks refereren aan (het bestand van) de afbeelding zelf? Hoeft geen script aan te pas te komen?

Tevens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Cache-Control: max-age=60, private, proxy-revalidate

Default van browser?
Gewijzigd op 26/03/2015 14:57:45 door Thomas van den Heuvel
 
Php knipper

php knipper

26/03/2015 15:13:10
Quote Anchor link
Ik geef die header nergens op, en krijg die ook niet weg

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$exphead
= "Expires: " . gmdate("D, d M Y H:i:s", time() + $levensduur) . " GMT";
?>


Ik gebruik een .htaccess regel die ervoor zorgt dat het een propere url is, er staat geen php in de url. ik gebruik het script zodat ik niet steeds moet uitzoeken of de foto al op meerdere grotes is gebracht.

Toevoeging op 26/03/2015 16:32:50:

het is me gelukt, ik heb bovenaan voor de session_start();
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
session_cache_limiter('public');
?>

gezet en al mijn header manipulaties weg gedaan

bedankt
Gewijzigd op 26/03/2015 15:25:13 door php knipper
 



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.