[php] rmdir limiet op subdir levels?

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

  • pdehoop
  • Registratie: September 1999
  • Laatst online: 04-06-2024
Ik heb een vaag probleem met het verwijderen met subdirecties via php.

Ik heb twee stukje verwijdercode, waarvan de ene wel werkt en de ander niet.

Dit is de eerst, die prima werkt.
PHP:
1
exec ("rmdir /S /Q ".$directory_items.$db_db);

waarbij:
PHP:
1
2
$directory_items = "c:\\dir1\\dir2\\dir3\\dir4\\";
$db_db = "test";


Dit werkt prima.
Dit verwijdert dus de directory c:\dir1\dir2\dir3\dir4\test

Nu staan in die subdir test ook nog subdirs, die ik apart wil kunnen verwijderen.
PHP:
1
exec ("rmdir /S /Q ".$directory_items.$category_db."\\".$category_category);

waarbij:
PHP:
1
2
3
$directory_items = "c:\\dir1\\dir2\\dir3\\dir4\\";
$category_db = "test";
$category_category = "test2";


Zover ik kan beredeneren, zou dit dus de directory c:\dir1\dir2\dir3\dir4\test\test2 moeten verwijderen, maar helaas dit doet het dus niet.

Ik heb al gecontroleerd of de string klopt die wordt doorgegeven, maar dat is allemaal in order. Ik heb zelfs het complete path ingevuld, maar dat werkt ook niet.

Is dit een beperking of doe ik iets fout?

Voor de duidelijkheid, $directory_items is steeds een vaste variabele, de twee subdirectories die daarna komen zijn variabel.

Enig idee?

*UPDATE*
Ik heb het probleem gevonden, maar niet opgelost.
Het ligt hem aan het feit dat er geen spatie in de directory mag zitten.
Is er een manier om dit te omzeilen?

[ Voor 0% gewijzigd door pdehoop op 05-09-2002 01:40 . Reden: Extra info ]


Verwijderd

%20 misschien? (of welke was het ook al weer....?)

  • pdehoop
  • Registratie: September 1999
  • Laatst online: 04-06-2024
Doe maar dicht. heb het gevonden

PHP:
1
exec ('rmdir /S /Q "'.$directory_items.$category_db.'\\'.$category_category.'"');

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Directory naam tussen aanhalingstekens aan rmdir voeren...
Helemaal niks met php te maken, is gewoon een kwestie van de goede parameters in je shell intikken, gaat ook fout in een dosprompt... :)