upload class fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Applicatie Ontwikkelaar

Bedrijfsomschrijving DUO verzorgt als uitvoeringsorganisatie, zijnde onderdeel van het Ministerie van Onderwijs, Cultuur en Wetenschap de uitvoering van complexe wet- en regelgeving en heeft een uitgebreid dienstenpakket. DUO financiert en informeert onderwijsdeelnemers en onderwijsinstellingen. Voor verdere informatie zie www.duo.nl Functieomschrijving Wie zoeken we? Jij bent een enthousiaste, flexibele OPS’er die het leuk vindt om het bestaande examenlandschap te vernieuwen. Je bent leergierig en hebt interesse in cloud- en containertechnieken zoals OpenShift, Docker en Helm. Je gaat een uitdaging niet uit de weg en wil je nieuw opgedane kennis graag delen met de collega’s binnen en buiten het team. Doordat de

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

Senior Full Stack developer

Bedrijfsomschrijving tbd Functieomschrijving Full Stack Java Development bij Randstad Groep Nederland (HQ) Er is een vacature in het Corporate Client Solutions (CCS) team. Dit team is met een ander team net begonnen aan het project ‘Grip op Inhuur’. Het doel van dit project is de tevredenheid van onze leveranciers te verhogen en de efficiëntie van onze administratie te verbeteren. Onderdeel daarvan is een ‘Mijn-omgeving’ voor ZZP’ers en leveranciers. Naast dit nieuwe project werkt het team ook aan het onderhoud en verbeteren van een digitaal vacature management systeem waarmee dagelijks vele vacatures worden voorzien. Het team ontwikkelt zo veel mogelijk zelf

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

Laravel PHP developer in een jong team

Bedrijfsomschrijving Als je op zoek bent naar een werkplek waar plezier en uitdaging hand in hand gaan, dan is dit bedrijf de juiste keuze voor jou. Hier kun je werken aan uitdagende projecten en krijg je als developer veel verantwoordelijkheid. Het bedrijf waardeert kwaliteit boven kwantiteit en richt zich op het ontwikkelen van hoogwaardige applicaties en websites waar klanten enthousiast over zijn. Dit bedrijf is vooruitstrevend en streeft naar het leveren van de best mogelijke resultaten voor hun klanten. Als medior PHP ontwikkelaar met 3 jaar ervaring ben jij de persoon die we zoeken. Je krijgt hier de kans om

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Team Lead/ Lead developer gezocht (Hands-on, PHP,

Functie Als Team Lead ben je de leider van één van de ontwikkelteams binnen de organisatie. Je leidt als lead developer een goed draaiend team dat werkt aan complexe en duurzame applicaties en API’s. Vanuit je kennis en ervaring ben je in staat het grote plaatje te blijven overzien, en kritisch mee te denken over bijvoorbeeld de architectuur, maar ook de algehele aanpak binnen het project. Je laat je team niet alleen technisch goed functioneren maar ben ook betrokken bij het menselijke aspect. Zo weet jij je collega’s te motiveren en begeleiden in hun dagelijkse werk. Buiten het team ben

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 gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

C#.NET ontwikkelaar

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een C#.NET ontwikkelaar. Je bent verantwoordelijk voor het ontwikkelen van dashboards, webapplicaties en apps voor de eigen IOT-oplossingen. Samen met een vooruitstrevend team van ontwikkelaars en engineers krijgen jullie de opdracht om de sensoren in de apparatuur te scannen en vervolgens de data om te zetten in belangrijke inzichten voor de klanten. Taken en verantwoordelijkheden: Heb jij ideeën over nieuwe technieken die jullie kunnen implementeren? Hier wordt echt naar je geluisterd en gekeken of jouw idee daadwerkelijk ingezet kan worden; Je gaat aan de slag met de

Bekijk vacature »

Full Stack Developer

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail; Verantwoordelijk voor de front-end werkzaamheden; Naast de front-end werk je ook aan de backend. Hier ga je werken Als Full Stack Developer komt je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development

Bekijk vacature »

Ervaren Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als ervaren developer zul je hiernaast ook andere developers assisteren en waar nodig de leiding nemen in het project.

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

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

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 »
Jeroen valcke

jeroen valcke

06/08/2019 00:49:50
Quote Anchor link
Hoi,
Ik gebruik voor het uploaden van mijn plaatjes/foto's Upload.class.php
Dit werkt perfect met foto's van mijn iphone.
Nu als in een foto van unsplash.com download krijg ik de melding Dit bestands type is niet toegestaan.
En dit is een gewone jpg.



upload.php
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
// als er op submit werd gedrukt
 if(isset($_POST['naam'])){
 



 
 include("Upload.class.php");                             // voegt de class toe aan de code

 
 
 // hier wordt de foto geupload zonder de resize functie te gebruiken
 // de foto wordt opgeslagen in de : uploads_normale map
 $upload_t = new upload_class("foto","../data/");  # hier wordt opgegeven welke path de foto moet komen
 $upload_t->resize = true;                                  // maakt de resize functie actief in de class
 $upload_t->resizeType = 1; // resize op basis van width (max breedte)
 $upload_t->width = 464;      // breedte van het plaatje       * dit is aanpasbaar *
 $upload_t->height = 464;     // hoogte van het plaatje        * dit is aanpasbaar *
 $upload_t->file();

 
 // hier wordt de thumbnail opgeslagen in de maop : upload_thumbnail
 $upload = new upload_class("foto","../data/");  // geeft aan hoe heet foto veld heet, en waar de foto heen moet
 $upload->resize = true;                                  // maakt de resize functie actief in de class

 // toevoeging
 $upload->resizeType = 1; // resize op basis van width (max breedte)
 
 $upload->width = 64;      // breedte van het plaatje       * dit is aanpasbaar *
 $upload->height = 64;     // hoogte van het plaatje        * dit is aanpasbaar *
 $upload->file();


 
 if($upload->name)
 {
 $file = $upload->name
 ?>



Upload.class.php
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<?
class upload_class
{

var
$field_name;
var
$target_path;
var
$name;

var
$resize = false;
var
$resizeType = 1; // 0 = vaste maten, 1 = variabel
var $width;
var
$height;

var
$type;
var
$custom_types;


  function
upload_class($field,$target)
  {

   $this->target_path = $target;
   $this->field_name = $field;
  }
  
  function
file()
  {

    if($this->php_check() == true)
    {

       if($this->file_check() == true)
       {

         $this->move();
       }

        else
            {
             echo "<script>alert('Dit bestands type is niet toegestaan')</script>";
            }
    }

     else {
          echo "<script>alert('Het is niet toegestaan om PHP bestanden te uploaden !')</script>";
          }
  }

  function
move()
  {

   $input_name = $_FILES[$this->field_name]['name'];
   $file_name = $this->genRandomString().$name.rand(5, 15).rand(5, 15).rand(5, 15).rand(5, 15).strstr($input_name,  '.');
   $this->name = $this->target_path . $file_name;

  
    #if(move_uploaded_file($_FILES[$this->field_name]['tmp_name'], $this->name))
    if(copy($_FILES[$this->field_name]['tmp_name'], $this->name))
    {

     $this->name = str_replace("../","",$this->name); // verwijderd de directory tags
      if($this->resize == true)
      {

       $this->makeimage($this->name);
      }
     }

      else
          {
            echo "Er is een fout opgetreden bij het uploaden van het bestand probeer later nog eens<br/>";exit;
          }
    
  }
  
  function
php_check()
  {

     $clean = true;
     $blocklijst = array(".php",".php5",".xhtml",".dhtml",".PHP",".php3");
    
     foreach ($blocklijst as $item)
     {

       if(preg_match("/$item\$/i", $_FILES[$this->field_name]['name']))
       {
  
         $clean = false;
       }
      }

      
      return $clean;
   }
  
  
  
  function
file_check()
  {

   $allowed = array("image/jpeg", "image/JPG", "image/JPEG", "image/JPG", "image/jpg", "image/pjpeg", "image/gif","image/png","image/tif");
   #$imageinfo = getimagesize($_FILES[$this->field_name]['tmp_name']);
   $header = $_FILES[$this->field_name]['type'];
  
   # if (in_array($imageinfo['mime'], $allowed))
    # {

         if (in_array($header, $allowed))
         {

            return true;
         }

          else {
                return false;
               }

    #} else {
    #        return false;
    #       }

                                          
  }
  
  function
genRandomString() {
     $length = 10;
     $characters = "0123456789abcdefghijklmnopqrstuvwxyz";
     $string = "";    
 
    for ($p = 0; $p < $length; $p++) {
         $string .= $characters[mt_rand(0, strlen($characters))];
     }

 
    return $string;
 }
    
    
    function
makeimage($filename)
    {

     // hier wordt gecontrolleerd of filename ../ directory tags bevat
     // anders wordt de image type niet correct gepakt
      #copy("uploads_normale/rrpusrd0xo712146.jpg", "upload_thumbnail/rrpusrd0xo712146.jpg");

      
     if (strpos($filename, "../") !== false) {
      $edit_filename = str_replace("../","",$filename); // verwijderd de directory tags
      $image_type = strstr($edit_filename,  '.');       // pakt vervolgens de image type
     }
      else
          {
           $image_type = strstr($filename,  '.');
          }

          
      
        switch($image_type) {
            case
'.jpg':
                $source = imagecreatefromjpeg($filename);
                break;
               case
'.JPG':
                $source = imagecreatefromjpeg($filename);
                break;
            case
'.jpeg':
                $source = imagecreatefromjpeg($filename);
                break;     
            case
'.png':
                $source = imagecreatefrompng($filename);
                break;
            case
'.gif':
                $source = imagecreatefromgif($filename);
                break;
            case
'.tif':
                $source = imagecreatefromgif($filename);
                break;
            default:

                echo("Error Invalid Image Type ");
                die;
                break;
            }

    
    $fullpath = $filename;
    list($org_width, $org_height) = getimagesize($fullpath);
    
    if ($this->resizeType == 0)
    {

        // resize op vaste maten
        $newX = $this->width;
        $newY = $this->height;
    }

    else
    {
        $percentage = ($org_width > $org_height) ? ($this->width / $org_width) : ($this->width / $org_height);
        $newX = round($org_width * $percentage);
        $newY = round($org_height * $percentage);
    }


    $thumb = imagecreatetruecolor($newX, $newY);
    
    if(($image_type == ".gif") or ($image_type == ".png"))  
    {

        // Indien het om een gif of png bestand gaat zal deze extra gerenderd worden
        // zodat het plaatje niet automatisch een zwarte achtergrond krijgt.

        imagealphablending($thumb, false);
        imagesavealpha($thumb,true);
        $transparent = imagecolorallocatealpha($thumb, 255, 255, 255, 127);
        imagefilledrectangle($thumb, 0, 0, $newX, $newY, $transparent);
    }

    
    imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newX, $newY, $org_width, $org_height);
    imagejpeg($thumb, $fullpath,  100);

  }

}
  

?>
 
PHP hulp

PHP hulp

08/05/2024 10:42:03
 
- Ariën  -
Beheerder

- Ariën -

06/08/2019 01:35:55
Quote Anchor link
Dan komt de mime-type niet overeen met deze array:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
   $allowed
= array("image/jpeg", "image/JPG", "image/JPEG", "image/JPG", "image/jpg", "image/pjpeg", "image/gif","image/png","image/tif");
?>


Echo eens voor de snelle handigheid eens even $header in de function file_check() { .. } functie?
Dan weet je wat het wel is.

Onthoud wel dat dit een oude class is, die in PHP 7 uiteindelijk niet meer zal werken. (geen visibilty en vooral geen constructor).
Iets actueels kan je op Verot.net vinden.
Gewijzigd op 06/08/2019 01:38:43 door - Ariën -
 
Jeroen valcke

jeroen valcke

06/08/2019 11:28:28
Quote Anchor link
Bedankt Ariën,

Ik gebruik nu de source van vero en deze werkt perfect :)
 



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.