[GD] iedere keer dezelfde foto opnieuw laden?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end developer (Angular)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

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 »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe stap? Voor een softwarebedrijf in regio Oosterhout zijn wij op zoek naar een back-end developer met kennis of ervaring met C# en SQL. Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

Senior Developer ERP Dynamics 365

Samengevat: Deze werkgever is een softwarebedrijf. Ben jij een enthousiaste developer? Heb je ervaring met ERP of Dynamic 365 bussines central? Vaste baan: ERP Applicatie Specialist ERP MBO €3.600 - €5.200 Wij houden ons als bedrijf bezig met het leveren en implementeren van het Microsoft Dynamics pakket binnen verschillende industriële sectoren. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Binnen ons open team is er een no-nonsense cultuur. Daarnaast is er veel onderling contact door de korte communicatielijnen. Het team werkt enthousiast samen om een

Bekijk vacature »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

Bekijk vacature »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

Junior Front end developer

Functie Als Front end developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Junior PHP (Laravel) Developer

Functie omschrijving Wij zijn op zoek naar een PHP Laravel Developer! Sta je aan het begin van je carrière en ben je op zoek naar een leuke baan? Lees dan verder! Voor een softwarebedrijf in omgeving van Schiphol zijn wij op zoek naar een ervaren PHP (Laravel) Developer. Je gaat je bezighouden met het ontwikkelen van innovatieve bedrijfsapplicaties. Samen met het team, bestaande uit designers en developers, maak je mooie oplossingen voor bedrijven in diverse branches. Je zorgt dat de opgeleverde websites perfect werken en de klant meer dan tevreden is. Je kunt rekenen op een afwisselende baan met leuke

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Moordrecht zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Full Stack C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

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

16/01/2025 10:59:07
 
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.