[PHP] Mkdir probleem

Pagina: 1
Acties:
  • 1.142 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 116095

Topicstarter
Ok, ik heb nog niet geslapen en begin echt gaaaar te worden van deze shit..


lang verhaal kort maken:
PHP:
1
<? mkdir ("../nieuwemap", 0777); ?>



dit hoort een directory aan te maken, met alle attributen (777) write,read,list/execute

maar hij maakt er steeds 0755 van.. waardoor ik met een form geen files erin kan laten uploaden


waarom maakt hij er stug 755 van, terwijl ik 777 opgeef?

Acties:
  • 0 Henk 'm!

Anoniem: 88197

trond at trondhuso dot no
14-Dec-2005 09:10
While researching for this function, I have found out that - at least on my system - mkdir only works when the parent directory is the one your script is in.
eg:
you want to create a directory tmp
mkdir ('tmp', 0775);
will create /path/to/your/script/tmp

but if you this
mkdir ('/path/to/your/tmp', 0755);
or
mkdir ('../tmp', 0755);

both will cause an error - permission denied.

Trond
Van http://nl3.php.net/mkdir

Acties:
  • 0 Henk 'm!

Anoniem: 116095

Topicstarter
chmod ("../nieuwemap".$map, 0777);


had ik gezien, even dit proberen

Acties:
  • 0 Henk 'm!

Anoniem: 88197

Je probeert in een hogere directory een map aan te maken, ik denk dat dat sowieso niet gaat werken, aangezien je script daar geen access heeft (zie mijn stukje). Waarom niet gewoon

PHP:
1
mkdir($map_name, 0777);

?

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 16-06 16:34

MBV

Waarom zou dat niet kunnen? Zolang apache recht heeft om die map te maken, zal je script dat toch kunnen? Of zit dat ergens in php.ini?

Acties:
  • 0 Henk 'm!

Anoniem: 116095

Topicstarter
dit is onhandig omdat ik alle cms files in 1 map wil hebben

maar ik heb al een work around..

../fotoboek/nieuwemap/01.jpg maken, dus een mapje aanmaken

maak ik er wel

../fotoboek/nieuwemap01.jpg bestand namen van.. dat werkt wel, maar minder netjes :(

Acties:
  • 0 Henk 'm!

  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 22:43

BoAC

Memento mori

Zet je mode eens om met umask() :)

Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 16-06 09:56

igmar

ISO20022

Anoniem: 116095 schreef op donderdag 09 februari 2006 @ 10:11:

lang verhaal kort maken:
PHP:
1
<? mkdir ("../nieuwemap", 0777); ?>


waarom maakt hij er stug 755 van, terwijl ik 777 opgeef?
Manuals zijn d'r om gelezen te worden :

Note that you probably want to specify the mode as an octal number, which means it should have a leading zero. The mode is also modified by the current umask, which you can change using umask().

Acties:
  • 0 Henk 'm!

Anoniem: 116095

Topicstarter
werkt, hij maakt er nu een 777 map van


alleen hij kan nog steeds geen files erheen schrijven vanuit de temp.. dus fok het maar, gebruik m'n work around wel

Acties:
  • 0 Henk 'm!

Anoniem: 116095

Topicstarter
ok work around gaat het niet worden


geen idee hoe ik de bestandsnaam kan wijzigen van een $_FILES['afb1']['name'];


op een ander forum zei iemand dat het misschien aan m'n upload script kon liggen, maar daar lijkt me niets mis mee..
PHP:
1
2
3
if ($_FILES['afb1']['error'] > 0) { switch ($_FILES['afb1']['error']) { case 4: header('Location: http://www.escape-veenendaal.nl/'); break; } exit; }
$upfile = '../fotoboek/'.$map.'/'.$_FILES['afb1']['name'];
if (is_uploaded_file($_FILES['afb1']['tmp_name'])) { if (!move_uploaded_file($_FILES['afb1']['tmp_name'], $upfile)) { echo 'Probleem: Could not move file to destination directory'; exit; } } else { exit; }


ondanks dat aangemaakte mappen nu wel 777 krijgen, blijf ik deze foutmelding krijgen: Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 547 is not allowed to access /home/virtual/site6/fst/var/www/html/fotoboek/20060104 owned by uid 48 in /home/virtual/site6/fst/var/www/html/cms/fotoboek_toevoegen.php on line 38

Acties:
  • 0 Henk 'm!

Anoniem: 116095

Topicstarter
SAFE MODE Restriction in effect.


:?

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf


Acties:
  • 0 Henk 'm!

Anoniem: 116095

Topicstarter
ik word niet veel wijzer van dat schematje.. weet iemand waar die .ini file zit op meestal op servers? dan ga ik even kijken of ik daar wat in kan wijzigen ofzo

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

verder lezen dan je neus lang is, is ook erg moeilijk :/
When safe_mode is on, PHP checks to see if the owner of the current script matches the owner of the file to be operated on by a file function or its directory. For example:

-rw-rw-r--    1 rasmus   rasmus       33 Jul  1 19:20 script.php 
-rw-r--r--    1 root     root       1116 May 26 18:01 /etc/passwd


Running this script.php
PHP:
1
2
3
<?php
 readfile('/etc/passwd');
?>

results in this error when safe mode is enabled:

Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not 
allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2


However, there may be environments where a strict UID check is not appropriate and a relaxed GID check is sufficient. This is supported by means of the safe_mode_gid switch. Setting it to On performs the relaxed GID checking, setting it to Off (the default) performs UID checking.

Acties:
  • 0 Henk 'm!

Anoniem: 116095

Topicstarter
okido, ik ga de hosting bellen dat dat uit moet

Acties:
  • 0 Henk 'm!

  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 06:12
Anoniem: 116095 schreef op donderdag 09 februari 2006 @ 11:46:
okido, ik ga de hosting bellen dat dat uit moet
In 9 van de 10 gevallen wordt het niet uitgezet. Het wordt immers niet voor niets aangezet. ;) (ik ben zelf overigens wel tegen het gebruik van safe-mode).

Waarom wil je eigenlijk een map aanmaken in een map hoger dan de huidige directory, en vervolgens je bestand in die map plaatsen?

Is het niet mogelijk om je script in die huidige map te plaatsen, waardoor je dus een map aanmaakt in de HUIDIGE map?

Acties:
  • 0 Henk 'm!

  • mocean
  • Registratie: November 2000
  • Laatst online: 11-04 11:18
Ik ben dit probleem ook tegengekomen. Directories die je aanmaakt in PHP zijn vervolgens niet writable. De oplossing die ik heb gebruikt, is om het via FTP te doen.

In je PHP script connect je met je eigen server via FTP, dir aanmaken en eventueel chmodden, en vervolgens kan je er met PHP wel gewoon data wegschrijven.

Koop of verkoop je webshop: ecquisition.com


Acties:
  • 0 Henk 'm!

  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 14-06 13:14
sylvesterrr schreef op donderdag 09 februari 2006 @ 12:37:
[...]

In 9 van de 10 gevallen wordt het niet uitgezet. Het wordt immers niet voor niets aangezet. ;) (ik ben zelf overigens wel tegen het gebruik van safe-mode).

Waarom wil je eigenlijk een map aanmaken in een map hoger dan de huidige directory, en vervolgens je bestand in die map plaatsen?

Is het niet mogelijk om je script in die huidige map te plaatsen, waardoor je dus een map aanmaakt in de HUIDIGE map?
Nou dat vind ik een beetje een halve oplossing hoor. Het moet gewoon kunnen dat je met een script files en folders ergens anders aanmaakt als de huidige dir. Om die oplossing die hier wordt aangedragen wat dragelijker te maken, kan je misschien voordat je de mkdir aanroep een chdir doen naar de parent dir van de dir die je wilt aanmaken.

Vooralsnog denk ik dat je gewoon moet zorgen dat safemode uit je PHP.ini wordt gehaald. Dit is voor hosters PER domein/hosting te regelen als ik het goed heb, dus dat moet vast niet zo'n probleem zijn.
mocean schreef op vrijdag 10 februari 2006 @ 06:28:
Ik ben dit probleem ook tegengekomen. Directories die je aanmaakt in PHP zijn vervolgens niet writable. De oplossing die ik heb gebruikt, is om het via FTP te doen.

In je PHP script connect je met je eigen server via FTP, dir aanmaken en eventueel chmodden, en vervolgens kan je er met PHP wel gewoon data wegschrijven.
Ook dit is natuurlijk onmogelijk in veel gevallen, aangezien je niet altijd van te voren weet welke directories je wilt gaan aanmaken.

[ Voor 22% gewijzigd door sorted.bits op 10-02-2006 09:55 ]


Acties:
  • 0 Henk 'm!

Anoniem: 116095

Topicstarter
thanks voor alle info :) ik heb de hosting gebeld en het kon idd niet voor de hele server maar wel op domein, ik heb het nog niet uitgeprobeerd want het zou 24 uur duren.. als ik een bevestiging heb gekregen ga ik het even uitproberen..

Acties:
  • 0 Henk 'm!

  • mocean
  • Registratie: November 2000
  • Laatst online: 11-04 11:18
sorted.bits schreef op vrijdag 10 februari 2006 @ 09:54:
[...]
Ook dit is natuurlijk onmogelijk in veel gevallen, aangezien je niet altijd van te voren weet welke directories je wilt gaan aanmaken.
Je kan via FTP (in PHP) natuurlijk dynamisch bepalen welke dir je gaat aanmaken. Is geen probleem hoor!

Koop of verkoop je webshop: ecquisition.com

Pagina: 1