Toon posts:

Directory uitlezen met PHP werkt niet

Pagina: 1
Acties:
  • 40 views sinds 30-01-2008

Verwijderd

Topicstarter
Hoi,

Met verschillende script lukt het me om met PHP directory's te lezen op mijn eigen pc.
Als ik echter een openstaande directory op het web wil uitlezen lukt het niet.

Ik krijg iedere keer een foutmelding, ik heb al tig scripts geprobeerd bijvoorbeeld:

In dit geval krijg ik nu nee terug, terwijl ie toch echt open staat.

if(is_dir("http://www.lajos.nl/testje/")) {

print("ja");
}
else {

print("nee");


Weet iemand waar dit aan ligt??

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 02-05 10:29

Tux

is_dir() werkt alleen als je gewone dir's aanspreekt, en geen dir's op een webserver. Je zult dus het volgende moeten doen:

PHP:
1
2
3
4
5
if (is_dir("/path/naar/htdocs/testje/")) {
    print("ja");
} else {
    print("nee");
}

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


  • sanfranjake
  • Registratie: April 2003
  • Niet online

sanfranjake

Computers can do that?

(overleden)
Dit lijkt me meer een programmeerprobleem dan een softwareprobleem. Daarom verplaats ik je topic even van Software Algemeen naar Programming & Webscripting :) Lees daar de stickies bovenaan het forum nog even goed door voor je verder post. Volgens mij had je dit namelijk makkelijk kunnen vinden, al ben ik zelf niet zo handig met php :P

Mijn spoorwegfotografie
Somda - Voor en door treinenspotters


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Een "open dirretje" op een webserver genereerd altijd een automatische index file van de bestanden in de directory staan, daarom geeft is_dir($webdir) altijd false terug. Maar je kunt die index file uitstekend gebruiken om te kijken welke bestanden er in dir dir staan. Toevallig gisteren nog een scriptje geschreven daarvoor:

PHP:
1
2
3
4
5
6
7
8
9
10
11
$dir    = "http://***/content/images";
$buffer = file_get_contents($dir);  
echo $buffer;
$matches =null;
$r = preg_match_all("/<A HREF=\"[0-9]{3}.jpg\">([0-9]{3}.jpg)<\/A>/", $buffer, $matches);

foreach($matches[1] as $file) { 
    $buffer = file_get_contents($dir."/".$file);    
    file_put_contents("media/***/".$file, $buffer); //php5!
    echo $file."\n";
}


Dit ging heel specifiek over 1 bepaalde dir waarvan ik de plaatjes nodifg had die uit 3 getallen bestonden. Dus voor je eigen doeleinden moet je de regeuliere expressie maar een beetje aanpassen. Ook met subdirectories kan ie niks, maar dat is natuurlijk allemaal wel te doen...

[ Voor 7% gewijzigd door Genoil op 14-08-2005 11:52 ]


Verwijderd

Topicstarter
Dankjewel, precies wat ik nodig heb :-)

Ik ben newbie op PHP gebied (slechts paar weken bezig), ik had alle dir functies opgezocht. Maar wel de fout gemaakt dat deze niet werken als de content van een andere webserver wilt plukken.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Tip: As of PHP 5.0.0 this function can also be used with some URL wrappers. Refer to Appendix M for a listing of which wrappers support stat() family of functionality.
Volgende keer dus eerst even de documentatie doorlezen over wat die functie die je gebruikt nu eigenlijk zou moeten doen. ;)

'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.

Pagina: 1

Dit topic is gesloten.