hallo,
mijn hoster is one.com en wanneer ik foto's upload van bv 2.5mb en die tijdens het uploaden resize naar 400px op 400px dan werkt dit niet. wanneer ik foto's upload onder de 2mb dan lukt dat wel.
volgens one.com kunnen zij dit niet aanpassen in hun server want zij staan 12mb toe en ik zou volgens hen tijdens het resizen aan 32MB komen.
kan ik hier zelf iets voor aanpassen dat het wel lukt? heeft hier iemand ervaring mee?
hier is het script:
submit.php
alvast bedankt
mijn hoster is one.com en wanneer ik foto's upload van bv 2.5mb en die tijdens het uploaden resize naar 400px op 400px dan werkt dit niet. wanneer ik foto's upload onder de 2mb dan lukt dat wel.
volgens one.com kunnen zij dit niet aanpassen in hun server want zij staan 12mb toe en ik zou volgens hen tijdens het resizen aan 32MB komen.
kan ik hier zelf iets voor aanpassen dat het wel lukt? heeft hier iemand ervaring mee?
hier is het script:
submit.php
PHP:
<?php ini_set("memory_limit", "12000000"); // for large images so that we do not get "Allowed memory exhausted"
// upload the file
if ((isset($_POST["submitted_form"])) && ($_POST["submitted_form"] == "image_upload_form")) {
// file needs to be jpg,gif,bmp,x-png and 2.5 MB max
if (($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg" || $_FILES["image_upload_box"]["type"] == "image/gif" || $_FILES["image_upload_box"]["type"] == "image/x-png") && ($_FILES["image_upload_box"]["size"] < 2500000))
{
// some settings
$max_upload_width = 2590;
$max_upload_height = 2000;
// if user chosed properly then scale down the image according to user preferances
if(isset($_REQUEST['max_width_box']) and $_REQUEST['max_width_box']!='' and $_REQUEST['max_width_box']<=$max_upload_width){
$max_upload_width = $_REQUEST['max_width_box'];
}
if(isset($_REQUEST['max_height_box']) and $_REQUEST['max_height_box']!='' and $_REQUEST['max_height_box']<=$max_upload_height){
$max_upload_height = $_REQUEST['max_height_box'];
}
// if uploaded image was JPG/JPEG
if($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg"){
$image_source = imagecreatefromjpeg($_FILES["image_upload_box"]["tmp_name"]);
}
// if uploaded image was GIF
if($_FILES["image_upload_box"]["type"] == "image/gif"){
$image_source = imagecreatefromgif($_FILES["image_upload_box"]["tmp_name"]);
}
// BMP doesnt seem to be supported so remove it form above image type test (reject bmps)
// if uploaded image was BMP
if($_FILES["image_upload_box"]["type"] == "image/bmp"){
$image_source = imagecreatefromwbmp($_FILES["image_upload_box"]["tmp_name"]);
}
// if uploaded image was PNG
if($_FILES["image_upload_box"]["type"] == "image/x-png"){
$image_source = imagecreatefrompng($_FILES["image_upload_box"]["tmp_name"]);
}
$remote_file = "fotos/".$_FILES["image_upload_box"]["name"];
imagejpeg($image_source,$remote_file,100);
chmod($remote_file,0644);
// get width and height of original image
list($image_width, $image_height) = getimagesize($remote_file);
if($image_width>$max_upload_width || $image_height >$max_upload_height){
$proportions = $image_width/$image_height;
if($image_width>$image_height){
$new_width = $max_upload_width;
$new_height = round($max_upload_width/$proportions);
}
else{
$new_height = $max_upload_height;
$new_width = round($max_upload_height*$proportions);
}
$new_image = imagecreatetruecolor($new_width , $new_height);
$image_source = imagecreatefromjpeg($remote_file);
imagecopyresampled($new_image, $image_source, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
imagejpeg($new_image,$remote_file,100);
imagedestroy($new_image);
}
imagedestroy($image_source);
header("Location:_foto.php?upload_message=Foto succesvol verstuurd &upload_message_type=success&show_image=".$_FILES["image_upload_box"]["name"]);
exit;
}
else{
header("Location:_foto.php?upload_message=make sure the file is jpg, gif or png and that is smaller than 2.5MB&upload_message_type=error");
exit;
}
}
$html = '';
if(isset($_REQUEST['upload_message'])){
$html .= '<div class="upload_message_error'.$_REQUEST['upload_message_type'].'">';
$html .= htmlentities($_REQUEST['upload_message']);
$html .= '</div>';
}
$html .= '<form action="_foto.php" method="post" enctype="multipart/form-data" name="image_upload_form" id="image_upload_form" style="margin-bottom:0px;">
<label>Fotos mogen maximum 2MB zijn en het bestandsformaat mag jpg, gif of png zijn:</label><br />
<input name="image_upload_box" type="file" id="image_upload_box" size="40" />
<input type="submit" name="submit" value="Upload foto" />
<br />
<br />
<label> </label>
<br />
<input name="max_width_box" type="hidden" id="max_width_box" value="448" size="4">
<input name="max_height_box" type="hidden" id="max_height_box" value="336" size="4">
<br />
<br />
<p>
<strong>Voorbeeld:</strong><br />
</p>
<input name="submitted_form" type="hidden" id="submitted_form" value="image_upload_form" />
</form>';
if(isset($_REQUEST['show_image']) and $_REQUEST['show_image']!=''){
$html .= '<p>';
$html .= '<img src="fotos/'.$_REQUEST['show_image'].'" />';
$html .= '</p>';
}
?>
alvast bedankt