Ik wil een upload script in php hebben, ik heb er een gevonden (een zonder SQL want dat is niet beschikbaar) dit script werkt zonder problemen, maar ik wil dat de gebruikers zelf hun map kunnen aanmaken.
hetgeen ik dus zoek:
mapnaam vragen aan gebruiker, als de map al bestaat: dit zeggen en dan de keuze om een andere naam in te geven, ofwel om naar mapnaam/uploadForm1.php te gaan.
dan als de map gemaakt is, 3 bestanden copieren (uploadForm1.php, uploadForm2.php en processFiles.php) naar die map, hierna naar mapnaam/uploadForm1.php gaan
dit is alles, het probleem is dat ik (bijna) niets van php ken en dit redelijk dringend is
ik weet al dat ik mkdir() moet gebruiken, maar ik krijg het niet juist gedaan
[php] create new folder en copy files naar folder
-
- Administrator
- Berichten: 4143
- Lid geworden op: 15 sep 2002, 09:08
- Locatie: Belgium, Haacht
- Contacteer:
- meon
- Administrator
- Berichten: 16609
- Lid geworden op: 18 feb 2003, 22:02
- Twitter: meon
- Locatie: Bree
- Uitgedeelde bedankjes: 564 keer
- Bedankt: 759 keer
- Contacteer:
Hm, je maakt denk ik ergens een denkfout met je php-files, maar ik zal even een uitleg geven waarmee je denk ik verder kan:
Je hebt form.php, de pagina waarop je een file-attachment in kan aanduiden en voor de volledigheid een mapnaam kan opgeven.
Dat wordt gepost naar upload.php. Daar doe je waarschijnlijk iets dat hier op lijkt, aangevuld met nog een paar dingen voor de mappen.
Dit kijkt eerst of de gekozen map bestaat, zonee maakt hij die. En daarna verplaatst hij het bestand vanuit /tmp naar je gekozen locatie, incl. je mapnaam.
Je hebt form.php, de pagina waarop je een file-attachment in kan aanduiden en voor de volledigheid een mapnaam kan opgeven.
Dat wordt gepost naar upload.php. Daar doe je waarschijnlijk iets dat hier op lijkt, aangevuld met nog een paar dingen voor de mappen.
Code: Selecteer alles
<?
$uploadpath = "/home/username/public_html/upload/files/"; // Deze moet chmod 777 zijn
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if(!file_exists($uploadpath."/".$_POST['mapnaam']) mkdir($uploadpath."/".$_POST['mapnaam']);
if (!move_uploaded_file($_FILES['bestand']['tmp_name'],$uploadpath."/".$_POST['mapnaam']."/".$_FILES['bestand']['name'])) {
die ("Er is een probleem met de upload. Gelieve de webmaster te contacteren");
}
}
Dit kijkt eerst of de gekozen map bestaat, zonee maakt hij die. En daarna verplaatst hij het bestand vanuit /tmp naar je gekozen locatie, incl. je mapnaam.