[GD] iedere keer dezelfde foto opnieuw laden?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Fullstack JavaScript developer (ReactJS, NodeJS, T

Functie Het team bestaat momenteel uit ruim 15 collega’s, waarvan ruim de helft in het ontwikkelteam werkzaam is. Er zijn gave plannen om het platform ook te gaan toepassen op bijv. vliegvelden, maar ook internationale groei zit in het verschiet en daarom zijn ze op zoek naar versterking. Als Fullstack JavaScript developer werk je nauw samen met 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creeren 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

Bekijk vacature »

Laravel / PHP developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Laravel PHP Developer voor een leuk bedrijf in de omgeving van Amsterdam! Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken; van A tot Z; Je hebt na de oplevering contact met de klant wanneer zij problemen ervaren; Je denkt mee over het verbeteren van de werkprocessen; Je denkt mee over softwareoplossingen; Je speelt in op de behoefte van de klant; Je houdt je bezig met het verbeteren, aanpassen en vernieuwen van de

Bekijk vacature »

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: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

Bekijk vacature »

C# developer

Functie Als C# ontwikkelaar ben jij de spin in het web bij deze organisatie. Jij begeleidt en traint de field engineers die bij de klanten machines leveren en installeren. Daarnaast ondersteun jij de field engineers als zij bij de klant vastlopen bij het installeren van de machine m.b.t. software matige vragen. Jouw doel is dan ook om de technische kennis van de field engineers door middel van training zoveel mogelijk uit te breiden. Dit om ervoor te zorgen dat zij zelfstandiger software matige problemen kunnen oplossen. Ook ben jij verantwoordelijk voor het bedenken van software oplossingen voor klanten en dit

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 »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met

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 »

Senior Front end developer Digital Agency

Functie Jij als Front end developer komt te werken in een van de 8 multidisciplinaire teams binnen de organisatie. Deze teams werken op basis van Scrum agile in 2 wekelijkse sprints. De grootte van de teams varieert van 9-14 collega’s en bestaan altijd uit één of meerdere project managers en een project manager. Samen met je team werk je aan verschillende projecten voor uiteenlopende klanten zoals grote multinationals tot het kleine mkb. De stack waarmee gewerkt wordt is voornamelijk Javascript, ES6, Es.next, HTML, CSS, React.js en Node.js. Wat deze organisatie onderscheid is dat ze echt langdurige partnerships aangaan met hun

Bekijk vacature »

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale oplossingen van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen. Op dat moment komt je wil om te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas! Ook Junior Front-End Developer worden bij Coolblue?

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

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

14/05/2024 19:46:03
 
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.