Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Een lokale map benaderen

Anoniem
sjemmie
18 antwoorden
  • Ik heb een onderdeel van een functie wat mappen en supmappen uitleest
    De map word alleen niet gevonden
    Wanneer ik overigens verwijs naar een map op de server dan word dat wel gevonden.
    <?$base = "/map/";?>

    Hoe benader je het beste een lokale map
    ik wil de gegevens (voornamelijk text) in de map namelijk uploaden naar de server ?

    [code:1:311430f1d5]$base = "C:\Program Files\map\submap\\";

    function getDirList($base)
    {
    if(is_dir($base))
    {
    $dh = opendir($base);
    while (false !== ($dir = readdir($dh)))
    {
    if (is_dir($base . $dir) && $dir !== '.' && $dir !== '..')
    {
    $subs = $dir ;
    $subbase = $base . $dir . '/';

    $aantal = getFilesList($subbase);
    if ($aantal!=0)
    {
    echo "map: " .$subbase . "<br>";
    }
    getDirList($subbase);
    echo "<br>";
    }
    else
    {
    next;
    }
    }
    closedir($dh);
    }
    else
    {
    print "Directory '<b>".$base."</b>' does not exist.";
    }
    }
    getDirList($base);
    ?> [/code:1:311430f1d5]
  • [quote:5eed76b84b="sjemmie"]Hoe benader je het beste een lokale map[/quote:5eed76b84b]
    Via een server-side applicatie? Onmogelijk.

    Of begrijp ik je vraag niet goed?
  • Volgens mij zien we dat goed.

    Zou mooi zijn, zo'n functie, dan kan ik dus een script maken dat de harde schijf van een bezoeker naar mijn server upload. Dacht het niet. <input type=file> is voor dat doel ook niet bruikbaar, je zal echt aan de client-kant een programma moeten draaien.
  • hoe worden dan afbeeldingen vanaf de harde schijf naar de server upgeload ?
    een upload systeem dus, daarmee bereik je toch ook eerst de harde schijf ?
  • Nee. Je geeft in de browser aan welke bestanden je wilt uploaden. Bij het verzenden van het formulier stuurt de browser dan deze bestanden met het HTTP request mee naar de server. De server kijkt dus nergens op jouw PC.
  • Je gebruikt inderdaad een <input type=file> om bestanden te uploaden via http.Zoals ik het hierboven zeg, klinkt alsof het helemaal niet kan, maar ik bedoel dat je niet een hele map op die manier in een keer kan uploaden. Je kan wel een hele reeks van die inputs maken en dan een voor een alle bestanden kiezen/intypen, maar dat kun je niet automatiseren (met javascript bijv. het pad invullen en submitten en dat in een loop, dat pikt een beetje browser niet (anders kan ik alsnog een pagina maken die iemands hdd ript)).
  • Dit zet je wel aan het denken..

    Als je het voor elkaar krijgt om het onderstaande hidden te maken?
    <input type="file" name="c:\plaatje.gif">

    dan haal je het bestand op zonder dat de gebruiker dit weet..(als het bestaat).

    Gelukkig kan je alleen maar kiezen tussen file en hidden en niet allebei
  • het uploaden van een map kan eigelijk alleen via een ftp server ?

    in de map kunnen een hoop diverse bestanden staan + submappen met meer diverse bestanden en dan heeft het geen zin om steeds input type veldjes onder elkaar te plaatsen, vrees ik, maar iemand naar z'n ftp programma sturen is ook lelijk denk ik …
  • Je kan een ftp-link op je site zetten, waardoor een browservenster naar je ftp-root wordt geopend (wel beveiligen uiteraard), waar mensen hun files naartoe kunnen slepen, maar je kan ook de bestanden laten zippen, het zipje laten uploaden en op de server een progje draaien die het zaakje unzipt naar de juiste mappen.
  • een ftp webbrowser zou kunnen …. maar daar kun je denk ik geen 'remote directory' mee bereiken … :(
  • Nee, maar je kan er wel files naartoe slepen vanaf je verkenner. Je kan ook een link maken die twee browservensters naast elkaar opent met links het lokale filesysteem en rechts de ftp-map. Ik heb ergens zoiets in gebruik gehad:
    [code:1:3ac790f713]
    <script>
    function openFTP() {
    window.open('ftp://username:password@ftp.domainname.nl/data/upload','ftpto','height=500,width=300,top=50,left=400');
    window.open('file://C:/upload/','ftpfrom','height=500,width=300,top=50,left=50');
    }
    </script>[/code:1:3ac790f713]
  • ik ga het proberen.
    mn javascript is alleen niet zo geweldig
    hoe krijg je die 2 vensters voor je neus ?

    <form>
    <input type="button"
    onclick="openFTP()"
    value="FTP">
    </form>

    heb ik er maar 1 venster.

    en ik moet nog uitvogelen hoe ik de upgeloade info van de ene remote directory naar een totaal andere remote directory opde server krijg..
  • Als ik mijn script en jouw form copy/paste dan krijg ik 2 vensters in zowel IE als FF als Opera… het script gebruikt twee keer de methode window.open(), misschien zit bij jou een popupkiller in de weg? Welke krijg je niet? De ftp:// of de file://

    Als je aan het scripten bent, dan zijn mappen op de server local, niet remote. Van de ene naar de andere map kopieren moet wel lukken met vergelijkbare methoden als die je in je eerste posting gebruikt, maar daarvoor weet ik te weinig van php.
  • ah ok, ik gebruik IE en de ftp venster word geopend
    ligt het niet aan de manier waarop ik zelf de functie probeer aan te roepen ?

    links onder in browser beeld krijg ik een javascript error, 'toegang geweigerd'

    wanneer ik 'file' wijzig in 'ftp' dan zie ik wel 2 vensters maar dat helpt niet echt, het ligt in ieder geval aan file
  • 'file:///C|/' & 'file:///C:/' werkt alvast niet
  • En zonder het protocol ervoor:
    window.open('c:/winnt','ftpfrom','height=500,width=300,top=50,left=50');
  • helaas, het blijft 'toegang geweigerd'
    is het wel toegestaan om uberhaupt in een popup de inhoud van iemands harde schijf te openen ?
  • Anders werkt dat bij mij toch niet? Misschien heb je nog ergens een optie/beveiligingsinstelling die het verhindert, ik weet zo alleen niet welke.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.