[php] pakketbestanden mac uitlezen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ieperlingetje
  • Registratie: September 2007
  • Niet online
Onder mac OSX heb je het verschijnsel 'pakketbestanden'. Dit is in feite een map met bestanden die dan door het OS als één bestand benaderd wordt. Onder andere besturingssystemen wordt het gewoon als een map gezien.

Dus dacht ik dat PHP deze mappen wel zou kunnen benaderen via readfile("./pakketbestand.ext/bestand.txt"). Helaas krijg ik een error dat die map of bestand niet gevonden. Het vreemde is dat php die pakketbestanden wel kan zien, maar wanneer je is_dir() of is_file() toepast, ze beiden false geven.

Nu kun je wel zeggen: als het werkt op andere besturingssystemen, waarom draai je daar dan het script niet op? Maar ik test mijn scripts nu eenmaal lokaal op de mac, om ze dan later online te publiceren op een linux server.

Tijdmachine | Nieuws trends


Acties:
  • 0 Henk 'm!

  • Guru Evi
  • Registratie: Januari 2003
  • Laatst online: 24-08 19:45
Kijk eens mee via de terminal om te zien wat voor bestanden in dat pakket zitten. Je kunt gewoon cd <pakketbestand> doen en dan met ls -ali uitlezen wat type bestand het is.

Soms in pakketten zitten er op het eerste level symlinks naar lokale of interne structuren. Dus als je is_file doet en het is een symlink naar een bestand dat niet bestaat krijg je inderdaad false.

Meer informatie over het pakket en de interne structuur zal je (en ons) meer kunnen zeggen. Ook eens de code posten die je gebruikt - misschien zit er een bugje in.

[ Voor 18% gewijzigd door Guru Evi op 12-01-2010 20:03 ]

Pandora FMS - Open Source Monitoring - pandorafms.org


Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 15:00

BCC

Draait je PHP onder de standaard OSX apache? Zo ja, dan heeft hij waarschijnlijk geen rechten om in je programs directory te lezen/schrijven. Iets wat een erg fijne default waarde is.

[ Voor 3% gewijzigd door BCC op 12-01-2010 20:06 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • ieperlingetje
  • Registratie: September 2007
  • Niet online
Van die rechten had ik nog niet aan gedacht, en dus maar een andere webserver gebruikt.

Ik heb het opgelost door XAMMP in plaats van MAMP te gebruiken, daar wordt het dan wel als een map gezien, blijft overigens wel vaag natuurlijk dat het in de ene wel gaat en de andere niet (want de pakketbestanden kon hij wel zien, de inhoud niet).

Maar probleem is via deze omweg dus wel opgelost.

Tijdmachine | Nieuws trends