upload class fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

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 »

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 developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

Frontend Developer

Dit ga je doen Door ontwikkelen van het online platform Deel uitmaken van verschillende ontwikkelteams Meedenken over UI/UX vraagstukken Uitdragen van Front-end binnen de organisatie Hier ga je werken Deze organisatie, gevestigd in de omgeving van Amsterdam, is een grote onderwijs instelling met meerdere vestigingen en een groot aantal studenten. Zo telt deze organisatie +/- 35.000 gebruikers. Bij deze organisatie staat jouw ontwikkeling centraal en is er veel ruimte voor eigen initiatieven. In samenwerking met jouw team ga jij de online omgeving verder ontwikkelen. In de rol van Front end Developer zal jij 50% van jouw tijd werken in het

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij recent jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een erkende werkgever in regio Waalwijk zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; 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

Bekijk vacature »

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

Bekijk vacature »

Medior Java developer

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 »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

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

02/06/2024 17:22:49
 
- 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.