WK 2026: Scoor de beste deals! Stel jouw winnende opstelling samen met behulp van ons advies.
Toon posts:

[PHP] Warning op doorlopen directory

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

Onderwerpen


Verwijderd

Topicstarter
PHP:
1
2
3
4
5
6
$handle = opendir($folder);
if (is_resource($handle)) 
{
  while (false !== ($file = readdir($handle))) 
  { // en de rest }
{


Geeft ineens deze fout: Warning: readdir(): 10 is not a valid Directory resource in
Op line 4 van bovenstaande.
Ik weet zeker dat de folder bestaat, die maak ik vlak daarvoor aan. Ik heb ook gecontroleerd met is_dir of de folder echt bestaat, ook dit is zo. Ik weet even niet meer waar ik het moet zoeken...

Iemand enig idee?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02-06 14:13

Janoz

Moderator Devschuur®

!litemod

Ik weet zeker dat de folder bestaat, die maak ik vlak daarvoor aan.
Is dat de enige reden waarop je dat baseerd? Het kan namelijk best zijn dat het Filesysteem de aanpassing niet snel genoeg doorgevoerd heeft. Nu weet ik niet of het bij aanmaken ook geldt. Ik heb het wel vaak gezien bij verwijderen, maar zolang je je platform niet aangeeft is er weinig over te zeggen.

De foutmelding zegt gewoon dat het resultaat van opendir geen directory is.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Spockz
  • Registratie: Augustus 2003
  • Laatst online: 13-05 23:34

Spockz

Live and Let Live

Janoz, niet echt. Als het geen dir is krijg je ook geen resourcehandle terug.

C'est le ton qui fait la musique. | Blog | @linkedin
R8 | 18-55 IS | 50mm 1.8 2 | 70-200 2.8 APO EX HSM | 85 1.8


Verwijderd

Topicstarter
Spockz schreef op dinsdag 03 juli 2007 @ 16:20:
Janoz, niet echt. Als het geen dir is krijg je ook geen resourcehandle terug.
Precies, en dat is het vreemde. Het is op een windows server, misschien dat dat problemen oplevert met rechten ed. Ik zal het vanavond even op een linux server proberen.

Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 03 juli 2007 @ 16:46:
[...]

Precies, en dat is het vreemde. Het is op een windows server, misschien dat dat problemen oplevert met rechten ed. Ik zal het vanavond even op een linux server proberen.
Op een linux server dus geen problemen... Het zal dus wel een rechtenprobleem zijn :(

Verwijderd

Topicstarter
Heb ik toegevoegd, maar nog steeds werkt het niet, ook niet op linux trouwens:
PHP:
1
2
3
4
5
6
7
if (is_dir('tmp_files/'.$folder))
{
    $handle = opendir('tmp_files/'.$folder);
    if (is_resource($handle)) 
    {
        while (false !== ($file = readdir($handle))) 
        {


Iemand moet dit toch eerder gehad hebben?
Op deze server trouwens krijg ik een ander nummer, nummer 9 dit keer, bij de warning:
Warning: readdir(): 9 is not a valid Directory resource in

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Gebruik je een hele oude versie van PHP?

Heb je de code met het probleem al los in een bestand gezet en onafhankelijk van de rest van je script uitgevoerd?

Je kunt kijken of clearstatcache verschil maakt voordat je iets met is_dir test.

Verwijderd

Topicstarter
GlowMouse schreef op donderdag 05 juli 2007 @ 13:34:
Gebruik je een hele oude versie van PHP?

Heb je de code met het probleem al los in een bestand gezet en onafhankelijk van de rest van je script uitgevoerd?

Je kunt kijken of clearstatcache verschil maakt voordat je iets met is_dir test.
Bevindingen:
PHP versie is 5.2.nogwat, dat zal niet te oud zijn.
Clearstatcache maakt geen verschil.

Maar:

In een los bestand: gaat readfile wel goed! Nu nog vinden waar het dan wel aan ligt...

Verwijderd

Topicstarter
Stupid, stupid, stupid. Ik sluit $handle midden in de while lus :(
Problem solved, script works like a charm!

Bedankt voor de hulp!
Pagina: 1