Toon posts:

Php script prob

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

Verwijderd

Topicstarter
Hoi weet iemand hoe ik de variable in: "if ($handle = opendir("$dir")) { " kan laten openen?
Dit is het script tot nu toe


#$d can be audio or visueel or bagger


<?php
$dir= "c:/www/grass/users/tr/download/'$d'";
if ($handle = opendir("$dir")) {
while (($file = readdir($handle)) != false) {
if ($file != "." && $file != "..") {
$f = substr($file, 0, 21);
echo " <a href='grass.homeip.net/users/tr/download/$d/$file'>$f</a>
<br>
";
}
}
closedir($handle);
}
?>

  • koli-man
  • Registratie: Januari 2003
  • Laatst online: 13-05 14:28

koli-man

Bartender!!!!

welkom en lees dit eens even
P&W FAQ - PHP
Daar staat al iets meer info waar jij wellicht iets aan hebt.

[ Voor 6% gewijzigd door koli-man op 04-05-2004 11:33 ]

Hey Isaac...let's go shuffleboard on the Lido - deck...my site koli-man => MOEHA on X-Box laaaiiiff


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

zet een tussen code tags :)

kijk eens goed of je niet per ongeluk een = hebt gebruikt ipv ==

Multimonitor is relax :P


Verwijderd

Topicstarter
koli-man schreef op 04 mei 2004 @ 11:33:
welkom en lees dit eens even
P&W FAQ - PHP
Daar staat al iets meer info waar jij wellicht iets aan hebt.
danks (sorry nog niet gezien |:( )

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Geen "" om $dir heen zetten? :o

  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

En idd de enkel = moet dubbel == zijn bij de eerste if statement

  • Alex
  • Registratie: Juli 2001
  • Laatst online: 28-02 19:26
Gert schreef op 04 mei 2004 @ 11:34:
Geen "" om $dir heen zetten? :o
Dat scheelt enkel in snelheid, PHP parsed het uiteindleijk toch goed. Zolang PHP dat blijft parsen blijft de taal toegankelijk voor ranzige vrij-tijds programmeurtjes. :P
Klinkt heel cru, maar als je echt wat wilt gaan doen met PHP zul je de syntaxis ook volledig moeten beheersen en 'universele' code kunnen schrijven.

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Ff een hintje:
$dir= "c:/www/grass/users/tr/download/'$d'";

M.a.w.: wat doen die quotes daar? :P

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


Verwijderd

intermusic schreef op 04 mei 2004 @ 11:37:
En idd de enkel = moet dubbel == zijn bij de eerste if statement
Juist niet. Hij doet een toekenning en vergelijking in 1. Die regel klopt.

$handle wordt false indien het openen van de directory mislukt is. Het wordt de verwijzing naar die directory indien het gelukt is.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
$dir= "c:/www/grass/users/tr/download/".$d;

if ($handle = opendir($dir)) { 
    while (($file = readfile($handle)) != false) { 
        if ($file != "." && $file != "..") {
            $f = substr($file, 0, 21); 
            echo " <a href='grass.homeip.net/users/tr/download/".$d."/".$file."'>".$f."</a>
<br>";
        }
    }
    closedir($handle); 
}


Enkele opmerkingen:
$file --> je gebruikt readdir. Ik heb er readfile van gemaakt, je mag zelf de syntax en de werking controleren.
Ik weet niet zo uit mijn hoofd of het correct is. Ik ga even mijn sources in duiken.

(zie onderaan de post).

Ik heb je echo aangepast. Het gebruiken van variabelen binnen enkele quotes (' dus) werkt niet.
Je gebruikt twee keer dezelfde variabele voor een ander doel. Ik zou persoonlijk twee variabelen gebruiken (hint $handle)
Ik heb je $dir samenstelling aangepast. Een andere mogelijkheid is deze
PHP:
1
$dir= "c:/www/grass/users/tr/download/$d";

Binnen dubbele quotes (") kan je wel variabele gebruiken.
Bij je opendir heb ik ("$dir) omgezet naar ($dir) dit is iets sneller.
Daarnaast zouden hier en daar betere variabelennamen gebruikt kunnen worden.


edit: Ik gebruik onderstaande code om alle bestanden in een directory te bepalen. Ik wil directory's, "." en ".." overslaan.
$strDirectory is de volledige locatie (dus bv c:\www\data\test)
$strBestand is het bestand (dus bv test.php)
$strPath wordt dan c:\www\data\test\test.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// directory openen. @ zorgt ervoor dat er geen error komt 
// indien directory niet bestaat, hij geeft dan wel faulse terug.
if ($directoryHandler = @opendir($strDirectory)) {
    // alle bestanden langsgaan
    while (($strBestand = readdir($directoryHandler)) !== false) {
        // volledige path is nodig om te kunnen controleren 
        //of het een dir of bestand is
        $strPath = "$strDirectory/$strBestand";
        // alleen bestanden meenemen
        if (!is_dir($strPath)) {
            // doe wat 
        }
    }
    closedir($directoryHandler);
}

[ Voor 109% gewijzigd door Verwijderd op 04-05-2004 11:58 . Reden: De betere richting op gestuurd. Fout hersteld. ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

intermusic schreef op 04 mei 2004 @ 11:37:
En idd de enkel = moet dubbel == zijn bij de eerste if statement
Nee hoor, het is een toekenning. Hij heeft $handle later toch echt nodig.
edit:
:Y) nantasquad

[ Voor 5% gewijzigd door NMe op 04-05-2004 11:44 ]

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


  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

[ php] en [/ php] zijn je vrienden!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:00

gorgi_19

Kruimeltjes zijn weer op :9

Hoi master-grass,

Als eerste welkom op GoT! Ik zie dat dit je eerste topic is en ik wilde nog een paar puntjes aanstippen.

Om te beginnen je titel. "Php script prob" zegt niet zo veel over je eigenlijke probleem. Graag zien we hier duidelijke titels. Zie *!*!* Over topictitels in P&W - Updated 25 feb 04 *!*!* voor een aantal voorbeelden van duidelijke titels. Immers, met een duidelijke titel heb je een grotere kans dat mensen jouw topic gaan bekijken.

Het volgende is de inhoud van je topic. Hier op het forum hebben we zogenoemde code-tags. Dit zorgt voor een opmaak van de code, inclusief syntax highlighting. Dit maakt code een stuk leesbaarder. Zie hiervoor in het algemeen de Quickstart.

In ieder geval denk ik dat je met Verwijderd in "Php script prob" een heel eind moet kunnen komen. Meer in het algemeen kan je eens kijken naar het debuggen, zie P&W FAQ - Leer **** debuggen!! . Hierin staat beschreven hoe je achter de fouten kan komen en ook hoe je ze kan oplossen.

Dit topic gaat in ieder geval dicht. Mocht je een nieuw probleem hebben, dan ben je natuurlijk vrij om een nieuw topic te openen. Let wel even op de eerder genoemde topics. :)

Veel plezier nog op Got!

[ Voor 95% gewijzigd door gorgi_19 op 04-05-2004 12:05 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.