Upload script

Status
Niet open voor verdere reacties.

Imhotep

Gebruiker
Lid geworden
25 mei 2003
Berichten
159
Toegevoegt zit een uploadscript die files laat uppen dmv je browser. Alleen hij upped ook plaatjes die over de toegestane grootte zijn, hoe kan ik dit verhelpen?


Script = php
tijdelijke extensie = txt
 

Bijlagen

zoals ik in de chat zei... brak script :confused:

maar probeer het volgende eens?

<?



// De variabelen



$path = "images/";

$file_size_max = 250 * 1024;

$possible_size = round($file_size_max / 1024);

$possible_extensions = array ('jpg', 'jpeg', 'pjpg', 'gif', 'bmp', 'png');

$count_possible_extensions = count($possible_extensions);



if (!$case)

{

$case = 1;

}

switch ($case)

{



case 1:

?>

<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">

<table border="0" cellspacing="0" cellpadding="4">

<tr>

<td>

<b>Plaatje:</b>

<br>

<br>

<b>Maximaal:</b> <? echo "$possible_size"; ?> kb

<br>

<b>Extensies:</b>



<?

for ($i = 0; $i < $count_possible_extensions; $i++ )

{

echo $possible_extensions[$i] . "&nbsp;&nbsp;";

}



?>

<br>

<br>

<input type="file" name="plaatje" size="40">

<br>

<br>

<input type="hidden" name="case" value="2">

<input type="submit" value="Upload">

</td>

</tr>

</table>

</form>

<?

break;



case 2:



if(!$_FILES[plaatje])

{

echo"Je hebt geen plaatje geselecteerd";

}

if($_FILES[plaatje])

{

$file_size = round($_FILES[plaatje][size] / 1024);

$file_type = $_FILES[plaatje][type];

$file = basename($_FILES[plaatje][name]);

$ext = explode(".", $file);

$file_extension = $ext[1];

$file_name = $ext[0];



if($file_size > $possible_size)

{

echo "<b>Fout:</b> Je plaatje is groter dan het maximaal toegestane grootte: <b>$possible_size</b> kb";

}
else
{

if (!in_array(strtolower($file_extension),$possible_extensions))

{

echo "<b>Fout:</b> Uw plaatje is niet van het type: ";



for ($i = 0; $i < $count_possible_extensions; $i++ )

{

echo "<b>$possible_extensions[$i]<b>&nbsp;&nbsp;";

}



}

else

{



// De naam van de file veranderen in bv. artikel_pic0, dit heb ik veranderd in image, en zo telt ie de plaatjes van dezelfde extensie bij elkaar op. dus dan wordt het image0.png, image1.png, image0.gif etc.



$file_name = "image";

$n = 0;

$temp_name = $file_name;



// Check of file al bestaat, zo ja, filename verhogen

while (file_exists($path . $temp_name . $n . "." . $file_extension))
{
$n = $n + 1;
}
$file_name = $file_name . $n;



if(move_uploaded_file($plaatje, $path . $file_name . "." . $file_extension))

{

echo"Het plaatje <b>$file</b> van <b>$file_size</b> kb, met de extensie <b>$file_extension</b> is geupload naar <b>$path</b> als <b>$file_name</b>";

}

else

{

echo"Het uploaden van <b>$file</b> is niet gelukt";

}

}

}

}

break;

}

?>
 
dit hoort trouwens niet in deze sectie maar bij
Programeren> PHP
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan