Probleem met copy met recursive path

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

M U

M U

17/10/2016 16:54:08
Quote Anchor link
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?
 
PHP hulp

PHP hulp

29/04/2024 11:19:39
 
- SanThe -

- SanThe -

17/10/2016 17:08:53
Quote Anchor link
Laat dat stukje php eens zien met de exacte foutmelding.
 
M U

M U

17/10/2016 17:17:54
Quote Anchor link
Bedankt voor je snelle respons..

Hierbij al wat dingen die ik probeerde:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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
 
Ben van Velzen

Ben van Velzen

17/10/2016 17:19:23
Quote Anchor link
copy() en rename() etc kunnen alleen bestanden kopieren, geen mappen. Je zult dus de inhoud van de mappen moeten opvragen waarna je kunt kopieren.
 
- SanThe -

- SanThe -

17/10/2016 17:22:06
Quote Anchor link
Je geeft alleen een directory op zonder bestandsnaam.
 
M U

M U

17/10/2016 18:30:31
Quote Anchor link
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..




Toevoeging op 17/10/2016 18:32:44:

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)


Toevoeging op 17/10/2016 18:33:36:

Hierin heb ik dus een bestandsnaam die gekend is gezet.
Dit bestand staat er wel degelijk in...
 
- SanThe -

- SanThe -

17/10/2016 18:40:42
Quote Anchor link
Wat zijn de rechten van bploeg?
Zo te zien mag je daar niet schrijven.
 
M U

M U

17/10/2016 18:54:09
Quote Anchor link
Schijnbaar 777.

Iederen kan lezen schrijven en uitvoeren...
 
- SanThe -

- SanThe -

17/10/2016 18:57:34
Quote Anchor link
Hoofdletters/Kleine letters correct?
 
M U

M U

19/10/2016 01:17:07
Quote Anchor link
- 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?
 
- Ariën  -
Beheerder

- Ariën -

19/10/2016 01:34:12
Quote Anchor link
Wat is de owner van die map? Als je DirectAdmin hebt kan je dat in de FileManager terugvinden en e.v.t resetten.
 
Pg Vincent

Pg Vincent

19/10/2016 08:35:14
Quote Anchor link
Begin eens met gewoon wat foutcontrole; gebruik functies zoals is_file, is_dir en is_writable om te zien of de bestanden en mappen die je wilt bewerken volgens PHP wel bestaan en schrijfbaar zijn. Immers; dat jij er in mag schrijven betekent niet dat PHP dat ook mag, want PHP draait onder een andere gebruiker.
 
M U

M U

20/10/2016 00:10:14
Quote Anchor link
- Ariën - op 19/10/2016 01:34:12:
Wat is de owner van die map? Als je DirectAdmin hebt kan je dat in de FileManager terugvinden en e.v.t resetten.


Wat ik wel gevonden heb is het volgende:

Het bestand dat ik tracht te kopieren heeft als user "Apache", ik heb dat gereset naar mijn username maar dan werken de drie commando's nog niet.
Het bestand heeft als permissie 644.
Alle directory's en subdirectories die gebruikt worden hebben permissie 777...
 
Ozzie PHP

Ozzie PHP

20/10/2016 00:13:00
Quote Anchor link
>> dan werken de drie commando's nog niet.

Welke foutmelding krijg je?
 
M U

M U

20/10/2016 00:22:50
Quote Anchor link
Als ik "rename" gebruik krijg ik geen foutmelding, maar dan copieert die niks

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

Woeps,... als ik move_uploaded_file('$source', '$dest'); gebruik lijkt het of die dat gekopieerd heeft?

Wat kan daar de oorzaak van zijn???
Even verder onderzoeken..
 
Ozzie PHP

Ozzie PHP

20/10/2016 00:26:08
Quote Anchor link
>> Als ik "rename" gebruik

Hoe doe je dat?
 
M U

M U

20/10/2016 00:27:31
Quote Anchor link
Ozzie PHP op 20/10/2016 00:26:08:
>> Als ik "rename" gebruik

Hoe doe je dat?


rename('$source', '$dest');
 
Ozzie PHP

Ozzie PHP

20/10/2016 00:28:40
Quote Anchor link
Doe nog eens iets meer code aub ...

Die quotes horen daar in ieder geval helemaal niet.
 
- SanThe -

- SanThe -

20/10/2016 00:29:10
Quote Anchor link
Ik zie nog steeds het php path in Warning: copy(/usr/local/bin/php ......
Nooit een variabele tussen enkele quotes zetten zoals bij move_uploaded_file('$source', '$dest');
 
M U

M U

20/10/2016 00:41:17
Quote Anchor link
Ik wil eens even de rollen omdraaien..

Hoe zouden jullie dat doen?
1 dat bestand kopieren
2 als dat succesvol was heel die "oorsprong" directory leegmaken?

Op een manier dat het volgens jullie echt wel zou moeten werken?
Hier kan ik dan misschien de fout opsporen?
 
- SanThe -

- SanThe -

20/10/2016 00:51:09
Quote Anchor link
Kijk eerst eens of ie gevonden wordt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(is_file('/home/mijnsitebe/domains/mijnsite.be/public_html/upload/oorsprong/Document.pdf'))
{
   echo 'ja';
}

else
{    echo 'nee';
}

?>
 

Pagina: 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.