Hallo PHP ers!

Ik heb net apache en MySQL geïnstalleerd en door middel van php het bekende hello world laten verschijnen in mijn browser. Kortom de eerste stap is gezet.

Nu heb ik een heel leuk script op deze website gevonden waarmee een bestand geüpload kan worden. En vraag ik mij af wat ik in de variabelen van het script moet invoeren? Welke map moet ik opgeven waar het bestand naar toe gezonden moet worden. Zodat ik het bestand na uploaden ergens op mijn eigen pc kan terug vinden.


Dit is het script

<?PHP

// In welke map komen de bestanden ? ( zorg dat deze de permissies 777 krijgt )
$map = "C:/xampp/mysql";

// Wat is de maximale groote van het bestand in bytes ( 1 kb = 1000 bytes )
$max = "100000";

// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg JPG gif GIF png PNG exe EXE php PHP zip ZIP htm HTM html HTML";

// Hieronder niks aanpassen

// Controleren

if ($_POST['Uploaden'])
{
if (!$_FILES['bestand'])
print ("Geef een bestand op!");
else
{
// Bestands naam opvragen
$bestand2 = explode("\\", $_FILES['bestand']['name']);
$laatste = count($bestand2) - 1;
$bestand2 = "$bestand2[$laatste]";

// Extensie van bestand opvragen
$bestand3 = explode(".", $bestand2);
$laatste = count($bestand3) - 1;
$bestand3 = "$bestand3[$laatste]";
$bestand3 = strtolower($bestand3);

// Toegestaande extensies opvragen

$ext = strtolower($ext);
$ext = explode(" ", $ext);
$aantal = count($ext);

for ($tel = 0;$tel < $aantal; $tel++)
{
if ($bestand3 == $ext[$tel])
{
$extfout = "nee";
}
}

if (!$extfout)
{
print ("Het bestand \"$bestand2\" kan niet worden geupload omdat de extensie niet is toegestaan!");
}
else
{
if ($_FILES['bestand']['size'] > $max)
print ("Het bestand \"$bestand2\" is groter dan $max bytes!");
else
{
// Opslaan van het bestand
move_uploaded_file($_FILES['bestand'], "$map$bestand2");
print ("Het bestand \"$bestand2\" is met succes geupload!");
}
}
}
}


// Upload formulier

print ("<form method=post action=" . $_SERVER['PHP_SELF'] . " enctype=multipart/form-data>
Bestand: <input type=\"file\" name=\"bestand\"><br><br>
<input type=\"submit\" name=\"Uploaden\" value=\"Uploaden\"></form>");

?>



Ik hoop dat iemand mij dit kan uitleggen.

Groetjes

Maartje

In jouw geval moet je waarschijnlijk C:/xampp/www/ opgeven. Op een windows systeem werk je bovendien met backslashes ipv slashes, dus: C:\xampp\www\
Ja dank je wel. Ik ben in ieder geval een stap dichter bij gekomen. Als ik een bestand selecteer en op uploaden druk dan zie ik dat er een bestand wordt geladen. En komt er een bericht: Het bestand is met succes geupload. Alleen als ik dan kijk in de map "C:\xampp\htdocs"

dat ik als map heb opgegeven staat er nog steeds geen bestand.
Ik heb de map permissie 777 gegeven dus daar kan het niet aan liggen.
Iemand een idee hoe dit kan?

<?
    if (!$_FILES['bestand'])  
        print ("Geef een bestand op!"); 
?>


dit moet toch zijn:


<?
    if (!$_FILES['bestand'])  
    {
        print "Geef een bestand op!"; 
    }
?>


edit: als je iets wilt printen doe het dan zo:


<?
print "bla die bla";

//en niet dit:
print ("bla die bla");


//en variabelen in een print:
print "bla die " . $test . " bla";
?>
Sterker nog, voor dit soort dingen kun je beter gebruik maken van [php]echo[/php] :)

Ziet er overigens uit als een 2005/2006 script..
@Chris Kortaan

wat is precies het verschil dan tussen echo en print? ik dacht namelijk dat print sneller was?

Reageren