Dag allemaal,

Ik heb de meest simpele vraag die jullie misschien ooit al zagen..

Ik heb twee directory's op een gedeelde server.
Wat ik zie is dat de eerste directory deze is:

/home/mijnsite/domains/mijnsite.be/public_html/upload/

Hierin heb ik een PHP script dat bestanden in een directory (1 niveau hoger) kijkt of er bestanden in staan.
/home/mijnsite/domains/mijnsite.be/public_html/upload/oorsprong

Nu wil ik als eerste dat, als het php script loopt, dat die de bestanden in de map "oorsprong" gaat kopieren naar een andere map op de server. Namelijk:

/home/mijnsite/domains/mijnsite.be/public_html/bserie/

Ten tweede zou dan die oorsprong directory leeggemaakt moeten worden...

Ik heb met de copy(), move(), move_uploaded_file aan het proberen geweest, maar krijg altijd foutmeldingen dat een bepaalde directory niet bestaat (afhankelijk welke functie ik gebruik).
Om gek van te worden.

Wat ik lees is dat ik de functies niet "recursive" mag gebruiken.
Ik begrijp het niet.

Normaal zouden de veiligheidsparameters op de server juist moeten staan om dit kopieren toe te staan.
Wat doe ik fout?

In het tweede geval zou ik graag in die map "oorsprong" willen kijken of een bestand met een vaste naam (laat ons zeggen: doelbestand.pdf") staat, en enkel dat kopieren. Al de rest in die map zou gewist moeten worden..

Iemand een idee hoe ik hier aan begin?
Laat dat stukje php eens zien met de exacte foutmelding.
Bedankt voor je snelle respons..

Hierbij al wat dingen die ik probeerde:

<?php

//is_uploaded_file(/oorsprong/httprequest.txt)

//$source = "/usr/local/bin/php /home/domains/mijnsite.be/public_html/upload/oorsprong/.";
//$dest = "/usr/local/bin/php /home/mijnsite/domains/mijnsite.be/public_html/bploeg/.";

$source = "/home/mijnsite/domains/mijnsite.be/public_html/upload/oorsprong/";
$dest = "/home/mijnsite/domains/mijnsite.be/public_html/bploeg";

copy($source, $dest);
//move_uploaded_file('$source', '$dest');
//rename('$source', '$dest');

//unlink($source);

?>


Als ik copy() gebruik krijg ik geen foutboodschap maar kopieert die niks
Als ik move() gebruik krijg ik deze boodschap:
Warning: rename($source,$dest): No such file or directory in /home/mijnsite/domains/mijnsite.be/public_html/upload/copy.php on line 13
copy() en rename() etc kunnen alleen bestanden kopieren, geen mappen. Je zult dus de inhoud van de mappen moeten opvragen waarna je kunt kopieren.
Je geeft alleen een directory op zonder bestandsnaam.
Wauw snelle respons!

Warning: copy(/usr/local/bin/php /home/mijnsitebe/domains/mijnsite.be/public_html/upload/oorsprong/Bestand.pdf): failed to open stream: No such file or directory in /home/mijnsitebe/domains/mijnsite.be/public_html/upload/copy.php on line 11

Dit krijg ik als ik

$source = "/usr/local/bin/php /home/mijnsitebe/domains/mijnsite.be/public_html/upload/oorsprong/Bestand.pdf";
$dest = "/usr/local/bin/php /home/mijnsitebe/domains/mijnsite.be/public_html/bploeg/Bestand.pdf";

copy($source, $dest);
Gebruik..




[size=xsmall]Toevoeging op 17/10/2016 18:32:44:[/size]

En dit

Warning: copy(/home/mijnsitebe/domains/mijnsite.be/public_html/bploeg/Bestand.pdf): failed to open stream: Permission denied in /home/mijnsitebe/domains/mijnsite.be/public_html/upload/copy.php on line 11

Als ik dit gebruik

$source = "/home/mijnsitebe/domains/mijnsite.be/public_html/upload/oorsprong/Bestand.pdf";
$dest = "/home/mijnsitebe/domains/mijnsite.be/public_html/bploeg/Bestand.pdf";

copy($source, $dest);

(dus zonder /usr/local/php)


[size=xsmall]Toevoeging op 17/10/2016 18:33:36:[/size]

Hierin heb ik dus een bestandsnaam die gekend is gezet.
Dit bestand staat er wel degelijk in...
Wat zijn de rechten van bploeg?
Zo te zien mag je daar niet schrijven.
Schijnbaar 777.

Iederen kan lezen schrijven en uitvoeren...
Hoofdletters/Kleine letters correct?
- SanThe - op 17/10/2016 18:57:34

Hoofdletters/Kleine letters correct?


Ja schijnbaar wel...
Is het zo moeilijk om in PHP iets te kopieren?

Heeft er iemand andere trucjes?
Wat is de owner van die map? Als je DirectAdmin hebt kan je dat in de FileManager terugvinden en e.v.t resetten.

Reageren