profielfoto met bepaalde maten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kasper Heyndrickx

Kasper Heyndrickx

09/04/2009 16:09:00
Quote Anchor link
Hallo..

Ik ben bezig met een website waar iedereen het "profiel" van een gebruiker kan bekijken. Maar ik zou willen dat die foto een standaard maat heeft. (De gebruiker van niets van programma's daarvoor gebruiken.) Dus alles moet op mijn website gebeuren.

wie kan me helpen?

mvg kasper
 
PHP hulp

PHP hulp

23/11/2024 14:04:45
 
Nicoow Unknown

Nicoow Unknown

09/04/2009 17:01:00
Quote Anchor link
gd lib?
Daarma kan je resizen enzo.
je kan daarmee ook knippen,
staan zelf script van hier op deze site,
kijk maar in de andere php lib (script)
 
Emmanuel Delay

Emmanuel Delay

09/04/2009 20:16:00
Quote Anchor link
Wat ik altijd gebruik:
http://www.verot.net/php_class_upload.htm

Indien het je interesseert:
*download die php file met de uploader klasse

*een voorbeeld van het gebruik (voel je vrij om mijn functie uit te breiden, aan ta passen, ...)

formulier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<form method="post" action="uploaden.php" enctype="multipart/form-data">
         <div><input type="file" name="foto"/> </div>
         <div><input type="submit" value="upload"/></div>
        </form>

verwerken van de foto
hier als voorbeeld: uploaden.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
<?php
require_once('class.upload.php');

if ( !empty($_FILES['foto']) )
  {

      $file_new_name = 'avatar';  
      $max_image_size = 250;   // max 250px
      $processMap = 'avatar/';   // eigen map invullen.  Zie dat de map de juiste rechten heeft
      
      $result = uploadFile(
        $_FILES["foto"],
        $file_new_name,
        $max_image_size,
        $processMap ,
        'jpg',                     // wordt omgezet naar .jpg
        false                     // file overschrijven in geval de file met de zelfde naam al bestaat
        );
       if ($result['file_uploaded'])
        {

          $nieuweFile = $result['destination_name']. '.jpg';
          // $nieuweFile kan je nu  gebruiken als (nieuwe) waarde van de file in de dB
        }
  
  }

function
uploadFile($file, $file_new_name, $max_image_size = 250, $processMap = 'avatar/', $imageType = 'jpg', $overwrite=1)
{

// voel je vrij om deze instellingen aan te passen
$m_foto = new upload($file );
$m_foto->file_safe_name = true;                // replace white spaces with '_'
if ($overwrite)
  {

  $m_foto->file_overwrite = true;                 //
  $m_foto->file_auto_rename = false;              // disable auto renaming file when file already exists.  sinds we want files to be overwritten.  1 user -> 1 avatar
  }
else
  {
  $m_foto->file_overwrite = false;              
  $m_foto->file_auto_rename = true;              
  }

$m_foto->file_new_name_body = $file_new_name;
$m_foto->image_convert = $imageType;

   // zien wat de lange kant is; daaruit wordt afgeleid of de width of height moet worden aangepast
   $resize_image = "";
   if ($m_foto->image_src_x >=  $m_foto->image_src_y)
      {

        $thumb_resize_image = "x";
        if ( $m_foto->image_src_x > $max_image_size)
          {

            $resize_image = "x";
          }
      }

    else
      {
        $thumb_resize_image = "y";
        if ( $m_foto->image_src_y > $max_image_size)
          {

            $resize_image = "y";
          }
      }


if ($resize_image == 'x')
    {

      $m_foto->image_resize = true;
      $m_foto->image_x = $max_image_size;
      $m_foto->image_ratio_y = true;
    }

  else if ($resize_image == 'y')
    {

      $m_foto->image_resize = true;
      $m_foto->image_y = $max_image_size;
      $m_foto->image_ratio_x = true;
    }

  else
    {
      $m_foto->image_resize = false;
    }

$result = $m_foto->Process($processMap);

return array(
            'file_uploaded' => $m_foto->processed,
            'destination_name' => $m_foto->file_dst_name_body
            );
}

?>


-Je kan dus zelf een maximum aantal pixel uitkiezen. In dit script 1 getal als maximum zowel voor width als height
-je kan een een systeem van naamgeving hebben (bv. avatar_23.jpg) Merk op, als je $overwrite op true zet, kan dat gevolgen hebben voor de nieuwe naam van de file. Daarom geef ik de nieuwe naam van de file mee met de return.
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 



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.