Alleen foto uploaden

Status
Niet open voor verdere reacties.

kelvin554

Gebruiker
Lid geworden
25 feb 2009
Berichten
6
Ik wil bij mijn script dat er allemaal maar foto's kunnen worden geupload zoals jpg png gif

hier het script

Upload.php
PHP:
<?php

//properties of the uploaded file
$name = $_FILES['myfile']['name'];
$type = $_FILES['myfile']['type'];
$size = $_FILES['myfile']['size'];
$temp = $_FILES['myfile']['tmp_name'];
$error = $_FILES['myfile']['error'];

if ($error > 0)
	die("Error tijden het uploaden van het bestand code $error.");
else
{
//conditions of the file
if ($type == "video/avi")
{
 die("Geen toegestane bestands extensie of bestand is te groot!");
}
else
{
 move_uploaded_file($temp,"uploaded/".$name);
 echo "Met succes geupload!";
}
 
}
?>

index.php
PHP:
<html>
<head><title></title></head>
<body bgcolor='gray'>
<table width='50%' bgcolor='white' align='center'>
	<tr>
		<td align='center'>
		<img src='img/header.png'>
		</td>
	</tr>
	<tr>
		<td align='center'>
		<form action='upload.php' method='POST' enctype='multipart/form-data'>
			  <input type='file' name='myfile'><p>
			  <input type='submit' value='Uploaden'>
		</td>
	</tr>
</table>
</body>
</html>

Ook wil ik dat als een foto geupload is ze hem te zien krijgen bij waar nu staat bestand met succes geupload. Samen met de link van
jouwbestand.jpg

www.delink.nl/uploaded/jouwbestand.jpg
 
Hoi,
Ik heb je titel aangepast,
"dringend hulp nodig " hebben we hier allemaal.
En die titel zegt niks over jouw vraag.
 
Je zou de laatste 3 tekens van het bestand kunnen controleren en vergelijken met toegestane extensies. Dit kan natuurlijk door de gebruiker worden aangepast, als je dat wilt voorkomen kan je gebruik maken van fileinfo om via het MIME-type te controleren wat voor bestand het is.
 
Hier even snel een scriptje.
Je wou ook dat er meerder afbeeldingen tegelijk geupload konden worden. Met dit script kun je er 3 uploaden tegelijk...

PHP:
<?php
 define ("MAX_SIZE","1000"); 
 function getExtension($str) {
         $i = strrpos($str,".");
         if (!$i) { return ""; }
         $l = strlen($str) - $i;
         $ext = substr($str,$i+1,$l);
         return $ext;
 }
 $errors=0;
 if(isset($_POST['Submit'])) {
 	for($i = 1; $i < 4; ){
	 	if ($image.$i){
	 		$filename = stripslashes($_FILES['image'.$i]['name']);
	  		$extension = getExtension($filename);
	 		$extension = strtolower($extension);
	 		if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) {
	 			echo "Extentie wordt niet ondersteund!";
	 			$errors=1;
	 		}else{
	 			$size=filesize($_FILES['image'.$i]['tmp_name']);
				if ($size > MAX_SIZE*1024){
				echo "Bestand te te groot! Max. grootte is: ".$size."kb";
				$errors=1;
			}
	
			$image_name = $_FILES['image'.$i]['name'];
			
			if(!is_dir("uploaded_images")){
				mkdir("uploaded_images", 0777);
			}
			
			$newname = "uploaded_images/".$image_name;
			
			$copied = copy($_FILES['image'.$i]['tmp_name'], $newname);
			if (!$copied) {
			echo "Het bestand is geupload!";
				$errors=1;
			}
	 		}
	 	}
	 	if(!$errors) {
	 	echo "Klik <a href='http://". $_SERVER["HTTP_HOST"]."/".$newname."' >hier</a> om het bestand te zien online!<br />";
	 }
 		 $i++; 
 	}
 	
 }
?>

 <form name="newad" method="post" enctype="multipart/form-data"  action="">
 <table>
 	<tr><td><input type="file" name="image1"></td></tr>
 	<tr><td><input type="file" name="image2"></td></tr>
 	<tr><td><input type="file" name="image3"></td></tr>
 	<tr><td><input name="Submit" type="submit" value="Uploaden"></td></tr>
 </table>	
 </form>
 
@Woutertjuh88
Leuk script, maar wat ik me afvraag.
Waarom laat je het script de image naar verkleinen als het bestand te groot is?
Okey, je limit je dataverkeer. Maar een gebruikersimage is veel al te groot en een doorsnee surfer vind het te veel werk om images aan te passen.
 
@phobia
Op de chat heb ik met Kelvin gesproken over het upload systeem. Ik heb daar een link gegeven van een voorbeeld upload systeem(dat is bijna deze). Ik heb hem aangepast omdat hij graag meerdere foto's tegelijk wil uploaden.

Over het limiet. Tja, het is een eenvoudig en snel script. Hier op Helpmij kun je ook maar tot 100 Kb uploaden met maximale lengte en breedte. Ik weet niet waar Kelvin het voor gaat gebruiken maar het script kan zo aangepast worden dat het automatisch verkleint wordt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan