PHP beginner |
|
Hallo,
aan de hand van een tutorial hier op SiMa heb ik het volgende gebouwd voor mijn site:
public function upload( $list , $album , $input )
{
for( $i = 0; $i <= $list; $i++)
{
$photo_id = uniqid().''.(mktime()*rand(1000,9999))/rand(100000,999999);
$ext = strrchr( $input['file_name'][$i] , "." );
$photo_url = 'http://localhost/storage/mdl_photo/'.$photo_id.'.'.$ext;
$delete_photo_url = $_SERVER['DOCUMENT_ROOT'] . '/storage/mdl_photo/'.$photo_id.'.'.$ext;
$name_ext = $photo_id.'.'.$ext;
move_uploaded_file( $input['file_tmp'][$i] , $_SERVER['DOCUMENT_ROOT'] . '/storage/mdl_photo/'.$name_ext);
// Afbeelding resizen
// De afbeelding moet geresized worden i.v.m. het passen op de pagina
// Controleren welke extensie de foto heeft vooraleer deze geresized wordt
if( $ext == 'jpg' )
{
$photo = imagecreatefromjpeg( $photo_url );
}
elseif( $ext == 'png' )
{
$photo = imagecreatefrompng( $photo_url );
}
// De maximum x-waarde
$max_x = 400;
// De maximum y-waarde
$max_y = 400;
// De x-verhouding
$x_verhouding = imagesx( $photo ) / $max_x;
// De y-verhouding
$y_verhouding = imagesy( $photo ) / $max_y;
// Er moet geresized worden want de verhoudingen zijn groter dan 1
if( $x_verhouding > 1 or $y_verhouding > 1 )
{
// De $x_verhouding-variabele controleren t.o.v. de $y_verhouding-variabele
if( $x_verhouding > $y_verhouding )
{
$nx = $max_x;
$ny = imagesy( $photo ) / $y_verhouding;
}
else
{
$nx = imagesx( $photo ) / $x_verhouding;
$ny = $max_y;
}
$nIm = imagecreatetruecolor( $nx , $ny );
imagefill( $nIm , 0 , 0 , imagecolorallocate( $nIm , 0 , 0 , 0 ) );
imagecopyresampled( $nIm , $photo , 0 , 0 , 0 , 0 , $nx , $ny , imagesx( $photo ) , imagesy( $photo ) );
if( $ext == 'jpg' )
{
imagejpeg( $photo , $photo_url );
}
elseif( $ext == 'png' )
{
imagepng( $photo , $photo_url );
}
}
// QUERY voorbereiden
$q = " INSERT INTO
photo_information
(photo_id,
user_id,
photo_url,
delete_photo_url,
photo_desc,
photo_location,
album_id,
date,
time,
photo_reactions)
VALUES
('".$photo_id."',
'".$_SESSION['user_id']."',
'".$photo_url."',
'".$delete_photo_url."',
'".$input['desc'][$i]."',
'".$input['location'][$i]."',
'".$album."',
CURDATE(),
CURTIME(),
'".$input['reactions'][$i]."'
)
";
// QUERY uitvoeren
$r = mysqli_query( $this->photo_dbc_connection , $q );
}
}
public function upload( $list , $album , $input ) { for( $i = 0; $i <= $list; $i++) { $ext = strrchr( $input['file_name'][$i] , "." ); $photo_url = 'http://localhost/storage/mdl_photo/'.$photo_id.'.'.$ext; $delete_photo_url = $_SERVER['DOCUMENT_ROOT'] . '/storage/mdl_photo/'.$photo_id.'.'.$ext; $name_ext = $photo_id.'.'.$ext; move_uploaded_file( $input['file_tmp'][$i] , $_SERVER['DOCUMENT_ROOT'] . '/storage/mdl_photo/'.$name_ext); // Afbeelding resizen // De afbeelding moet geresized worden i.v.m. het passen op de pagina // Controleren welke extensie de foto heeft vooraleer deze geresized wordt if( $ext == 'jpg' ) { $photo = imagecreatefromjpeg( $photo_url ); } elseif( $ext == 'png' ) { $photo = imagecreatefrompng( $photo_url ); } // De maximum x-waarde $max_x = 400; // De maximum y-waarde $max_y = 400; // De x-verhouding $x_verhouding = imagesx( $photo ) / $max_x; // De y-verhouding $y_verhouding = imagesy( $photo ) / $max_y; // Er moet geresized worden want de verhoudingen zijn groter dan 1 if( $x_verhouding > 1 or $y_verhouding > 1 ) { // De $x_verhouding-variabele controleren t.o.v. de $y_verhouding-variabele if( $x_verhouding > $y_verhouding ) { $nx = $max_x; $ny = imagesy( $photo ) / $y_verhouding; } else { $nx = imagesx( $photo ) / $x_verhouding; $ny = $max_y; } $nIm = imagecreatetruecolor( $nx , $ny ); imagefill( $nIm , 0 , 0 , imagecolorallocate( $nIm , 0 , 0 , 0 ) ); imagecopyresampled( $nIm , $photo , 0 , 0 , 0 , 0 , $nx , $ny , imagesx( $photo ) , imagesy( $photo ) ); if( $ext == 'jpg' ) { imagejpeg( $photo , $photo_url ); } elseif( $ext == 'png' ) { imagepng( $photo , $photo_url ); } } // QUERY voorbereiden $q = " INSERT INTO photo_information (photo_id, user_id, photo_url, delete_photo_url, photo_desc, photo_location, album_id, date, time, photo_reactions) VALUES ('".$photo_id."', '".$_SESSION['user_id']."', '".$photo_url."', '".$delete_photo_url."', '".$input['desc'][$i]."', '".$input['location'][$i]."', '".$album."', CURDATE(), CURTIME(), '".$input['reactions'][$i]."' ) "; // QUERY uitvoeren $r = mysqli_query( $this->photo_dbc_connection , $q ); } }
om de één of andere reden werkt dit niet, maar aangezien ik geen foutmelding krijg, weet ik echt niet waar dit aan zou kunnen liggen.
Iemand een idee?
|