[PHP] mkdir + copy

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Goedendag,

ik heb de volgende code:
PHP:
1
2
3
4
5
6
7
8
    if(!file_exists($dir))
      {
        $old_umask = umask(0);
        mkdir("$dir",0777,TRUE);
        chmod("$dir",0777);
        umask($old_umask);
      }
else bla bla bla

en
PHP:
1
2
        if (!copy($from_file, $to_file)) {
      print ("Mislukt om $from_file te kopiëren...<br>\n");}

De code werkt hij maakt een map aan die ik invoer via een Form. En daar moet hij dan een file in kopieren.

Nu is het zo dat de owner van de map apache is. Als ik de map zelf aanmaak (owner=ik), of chown dan kan hij wel de file erin wegschrijven.

Hoe kan ik ervoor zorgen dat de owner ik wordt? Of kan ik beter een andere functie gebruiken.
Zodat alles via de site aangemaakt wordt.

BTW. ik heb ook al fopen geprobeerd maar dat geeft de zelfde melding.

In het kort komt het er dus op neer dat de owner van de map niet goed is.

Alvast bedankt

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

PHP heeft ook een chown functie. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

-NMe- schreef op zaterdag 30 september 2006 @ 16:39:
PHP heeft ook een chown functie. :)
Alleen root kan een owner wijzigen. Je wilt Apache processen vast niet als root hebben draaien.

Verwijderd

Topicstarter
precies :)

alleen de directory owner moet aangepast worden of een andere functie..

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dan heb je nog als optie om via de FTP-functies te connecten met je eigen server en met de FTP-chmod te werken. Aardig omslachtig, maar het zou moeten werken. :+

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • mocean
  • Registratie: November 2000
  • Laatst online: 04-09 10:34
Ik ken het probleem, inderdaad een FTP functie maken, ik heb er al een:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function mkdirftp ($dirtomake)
{
    $ftp_server = 'localhost';
    $conn_id = ftp_connect($ftp_server);
    $ftp_user_name = '*******';
    $ftp_user_pass = '*******';
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

    if ((!$conn_id) || (!$login_result)) {
        echo "FTP connectie is mislukt!";
        exit;
      } 

    ftp_mkdir ( $conn_id, "$dirtomake");
    $chmod_cmd="CHMOD 0777 ".$dirtomake;
    $chmod=ftp_site($conn_id, $chmod_cmd); 
    ftp_close($conn_id);
}

[ Voor 3% gewijzigd door mocean op 30-09-2006 21:53 ]

Koop of verkoop je webshop: ecquisition.com


Verwijderd

Topicstarter
thx, ik ga even kijken of het werkt

edit: het werkt _/-\o_

[ Voor 28% gewijzigd door Verwijderd op 30-09-2006 20:03 ]


Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 20-09 22:44

MBV

je hebt iets grondig fout zitten met je rechten, ik heb namelijk zo'n zelfde stukje code ergens staan en dat werkt gewoon zonder FTP. Een map cache, met owner=mbv en group=www-data (waar o.a. apache inzit), met permissions=775.
De mappen die daarin zijn aangemaakt hebben owner=www-data, group=www-data, permissions=755.

apache zelf draait als www-data, zoals terug te vinden is in je .conf bestanden onder de optie User en Group.

Ik zou eens naar deze dingen kijken, aangezien ik het vermoeden heb dat FTP nogal traag werkt :)
Pagina: 1