Tutorials

Bestanden Kopieeren

Bestanden kopieeren van een externe locatie naar de webserver

Pagina 1

Inleiding

In deze tutorial gaan we bestanden kopieeren, daar voor gebruiken we de functie copy()

voorbeeld van de copy functie:

<?php
copy($source, $destination);
?>
Pagina 2

Bestanden ophalen

allereerst halen we de bestanden uit een form op, voor deze tutorial het je een veld nodig met naam, link en een lijst met mappen.

<?php
//Eerst kijken we of er op uploaden is gedrukt
if(isset($_POST['upload'])){
//Dan halenn we de link op
$source = $_POST['link'];
//De map
$map = $_POST['map'];
//En de naam
$naam = $_POST['naam'];
?>

Pagina 3

Bestanden kopieeren

Vervolgens gaan we dat samenvoegen en kopieeren,
we moeten de extenie van de originele link afhalen en achter de naam plakken
en we moeten de map ervoor plakken.

<?php
//Eerst halen we de extensie van de source link af
$ext = substr(strrchr($source, "."), 1);
//Dan plakken we $map voor de $naam en $ext erachter
$dest = $map."/".$naam.".".$ext;

//daarna kopieeren we het hele handeltje naar de server en geven we een melding dat het gelukt is

copy ($source, $dest);
echo "Afbeelding succesvol gekopieerd";
?>
Pagina 4

Mappen ophalen

Nu gaan we de mappen ophalen waarna de afbeeldingen kunnen worden geupload
De map openen doen we met opendir() en de bestanden uitlezen met readdir()

<?php
//map openen
if ($handle = opendir('../mapnaam/')) {
//Bestanden ophalen uit map
while (false !== ($file = readdir($handle))) {
//Kijken of het bestand een extensie heeft
$ext_file = substr(strrchr($file, "."), 1);
//Als het bestand geen extensie heeft de map weergeven
if(empty($ext1)){
echo "<option>$file</option>";
}
}
}
?>
Dit moet je even samen voegen en dan kun je bestanden gaan kopieeren.
Voorbeeld:


<?php
//kijken of er op uploaden is gedrukt
if(isset($_POST['upload'])){
//Link ophalen
$source = $_POST['link'];
//Map ophalen
$map = $_POST['map'];
//Naam ophalen
$naam = $_POST['naam'];
//Extensie van de link ophalen
$ext = substr(strrchr($source, "."), 1);
//Nieuw bestand bepalen
$dest = $map."/".$naam.".".$ext;
//Bestand kopieeren
copy ($source, $dest);
	echo "Afbeelding succesvol gekopieerd";
} else {
?>
<!--Upload form -->
<table>
<form method="post" name="upload" action="copy.php">

	<tr><td>Naam:</td></tr><tr>

	<td><input type="text" name="naam" size="40" maxlength="100"></td><br>

	<tr><td>Link:</td></tr><tr>

	<td><input type="text" name="link" size="40" maxlength="100"></td><br> 
	<tr><td>Map:</td></tr><tr>
	<td><select name="map">
	<?php
	//Map openen
	if ($handle = opendir('../copy/')) {
		//Bestanden ophalen uit map
	    while (false !== ($file = readdir($handle))) { 
			//Kijken of het bestand een extensie heeft
			$ext_file = substr(strrchr($file, "."), 1);
			//Als het bestand geen extensie heeft (map) weergeven
			if(empty($ext_file)){
		        echo "<option>$file</option>";
			}
	    }
	}
	?>
	</select></td><br>

<td><input type="submit" value="Toevoegen" name="upload"></form></td></tr>
</table>
<!-- Einde form -->
<?php
}
?>

Reacties

0
Nog geen reacties.