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

fatal error in php script

Anoniem
None
17 antwoorden
  • [code:1:9814693e6f] <?php

    # configuration
    $ftp = 'ftp://transfer:files@**.***.***.**/';
    $local = '/ext/ftp/';


    # getting the right subdir
    if (isset($subdir))
    {
    parse_str($QUERY_STRING);
    if (is_dir($local . $subdir))
    $subdir .= '/';
    else
    $subdir = '';
    }
    else $subdir = '';
    ?>
    <html>
    <head>
    <title><?= $ftp . $subdir; ?></title>
    <style type="text/css">
    <!–
    body { color: #000000; background-color: #483d8b; }
    body, th, td { font-family: arial; font-size: 10pt; }

    a:link, a:visited { color: #3377aa; text-decoration: none; }
    a:active, a:hover { color: #3377aa; text-decoration: underline; }

    table.files { color: #444444;
    background-color: #eeeeee;
    border: 2px solid #3377aa;
    border-spacing: 1px;
    width: 100%;
    }
    –>
    </style>
    </head>
    <body>

    <div align="center">



    <br>

    <table width="560" cellspacing="2" cellpadding="2" border="0">
    <tr>
    <td>
    <!– path –>
    <table class="files">
    <tr>
    <td><b><?= filesPath(); ?></b></td>
    </tr>
    </table>
    <!– path –>
    </td>
    </tr>
    <tr>
    <td>
    <!– files –>
    <table class="files" cellpadding="0">
    <? filesList(); ?>
    </table>
    <!– files –>
    </td>
    </tr>
    <tr>
    <td>
    <!– copyright –>
    <table class="files">
    <tr>
    <td style="font-size: 8pt; text-align: center">files.php - Copyright &copy; 2000-2001 Jochen Kupperschmidt aka Y0Gi</td>
    </tr>
    </table>
    <!– copyright –>
    </td>
    </tr>
    </table>

    <br>&nbsp;



    </div>

    </body>
    </html>
    <?
    /* ———— functions ———— */

    function filesPath()
    {
    global $SCRIPT_NAME, $ftp, $subdir;
    $path = '<a href="' . $SCRIPT_NAME . '">' . substr($ftp, 0, -1) . '</a> / ';
    if ($subdir != '')
    {
    $array = explode('/', substr($subdir, 0, -1));
    for ($i = 0; $i < count($array); $i++)
    {
    $link = $url_bak . $array[$i];
    $path .= '<a href="' . $SCRIPT_NAME . '?subdir=' . $link . '">' . $array[$i] . '</a> / ';
    $url_bak .= $array[$i] . '/';
    }
    }
    return $path;
    }


    function filesList()
    {
    global $SCRIPT_NAME, $ftp, $subdir, $local;
    $path = $local . $subdir;

    $dirs = array();
    $files = array();

    $dir = dir($path); */Let OP LIJN 119*/
    while ($file = $dir->read())
    if (substr($file, 0, 1) != '.')
    if (is_dir($path . $file))
    array_push($dirs, $file);
    else
    array_push($files, $file);
    $dir->close();

    sort($dirs);
    sort($files);

    for ($i = 0; $i < count($dirs); $i++)
    {
    $link = $subdir . $dirs[$i];
    echo " <tr>
    ";
    echo ' <td><a href="' . $SCRIPT_NAME . '?subdir=' . rawurlencode($link) . '">' . icon('dir') . $dirs[$i] . "</a></td>
    ";
    echo ' <td align="right">&lt;dir&gt;' . "</td>
    ";
    echo " </tr>
    ";
    }
    for ($i = 0; $i < count($files); $i++)
    {
    $link = $subdir . $files[$i];
    echo " <tr>
    ";
    echo ' <td><a href="' . $ftp . rawurlencode($link) . '">' . icon($files[$i]) . $files[$i] . "</a></td>
    ";
    echo ' <td align="right">' . number_format(filesize($path.$files[$i]), 0, ',', '.') . "&nbsp;bytes</td>
    ";
    echo " </tr>
    ";
    }
    }


    function icon($file)
    {
    $icons = array(
    'dir' => 'dir',
    'ace' => 'arc',
    'aif' => 'qt',
    'aiff' => 'qt',
    'arj' => 'arc',
    'avi' => 'avi',
    'bat' => 'dos',
    'bmp' => 'bmp',
    'bz2' => 'arc',
    'cfg' => 'txt',
    'com' => 'dos',
    'conf' => 'txt',
    'css' => 'txt',
    'divx' => 'divx',
    'diz' => 'txt',
    'doc' => 'doc',
    'eps' => 'ps',
    'exe' => 'exe',
    'fla' => 'flash',
    'fon' => 'font',
    'gif' => 'gif',
    'gz' => 'arc',
    'ini' => 'txt',
    'iso' => 'cd',
    'htm' => 'txt',
    'html' => 'txt',
    'jar' => 'java',
    'java' => 'java',
    'jpeg' => 'jpeg',
    'jpg' => 'jpeg',
    'lzh' => 'arc',
    'm3u' => 'mp3',
    'mid' => 'mid',
    'mp3' => 'mp3',
    'mpeg' => 'mpeg',
    'mpg' => 'mpeg',
    'mov' => 'qt',
    'nfo' => 'txt',
    'ogg' => 'mp3',
    'pcx' => 'pcx',
    'pdf' => 'pdf',
    'php' => 'php',
    'pls' => 'mp3',
    'png' => 'png',
    'ppt' => 'ppt',
    'ps' => 'ps',
    'py' => 'py',
    'pyc' => 'py',
    'ra' => 'real',
    'rar' => 'rar',
    'rm' => 'real',
    'rtf' => 'doc',
    'sql' => 'txt',
    'swf' => 'flash',
    'tar' => 'arc',
    'tga' => 'tga',
    'tgz' => 'arc',
    'tif' => 'tiff',
    'tiff' => 'tiff',
    'ttf' => 'font',
    'txt' => 'txt',
    'wma' => 'wmv',
    'wmf' => 'wmf',
    'wmv' => 'wmv',
    'xls' => 'xls',
    'xml' => 'txt',
    'zip' => 'arc'
    );

    if ($file == 'dir') $file = '.dir';
    $ext = substr($file, strrpos($file, '.')+1);
    if (array_key_exists($ext, $icons))
    $icon = $icons[$ext];
    else
    $icon = 'unknown';

    return '<img src="icon_' . $icon . '.png" width="16" height="16" border="0" align="texttop" vspace="0"> ';
    }

    /* ———— functions ———— */
    ?>
    [/code:1:9814693e6f]

    heej ik krijg in dit php script een fatal error (Fatal error: Call to a member function on a non-object in files.php on line 119) nu ben ik gaan zoeken
    en dit is line 119:

    $dir = dir($path);

    ben ik wat vergeten? of is er een fout in dit script? ik ben geen expert in php script's

    kan iemand mij helpen?

    ALvast Bedankt! :D .

    PS: het script zorgt ervoor dat er een lijst van mijn ftp server word afgehaald zodat mensen mij bestanden kunnen downloaden







  • Ik gok dat de variabele $path geen inhoud heeft…

    Doe eens:[code:1:699665a38b]echo "path= " . $path;[/code:1:699665a38b]net voor regel 119?

    Daarnaast vraag ik je om voortaan alleen de relevante code te plaatsen, al die HTML en dat lijstje met filetypes is behoorlijk onnodig en maakt het zoeken van je probleem alleen lastiger…
  • nu krijg ik: path= /ext/ftp/
    Fatal error: Call to a member function on a non-object in files.php on line 119



    ik heb het script zelf niet gemaakt. maar van hotscripts.com gedonwd.
    ( http://members.lycos.nl/files/files.php )

    maar wat kan ik wel weghalen dan? (als dat makkelijker is)

    thanks
  • Begrijp ik het nu goed dat je dit script bij Lycos wil laten draaien en dan je eigen ftp listing (die dus bij jou lokaal draait) wilt uitlezen… Ik ben bang dat dat niet zal gaan lukken…
  • o, das jammer :cry: .

    komt het omdat het op lycos draait? zo ja waar kan ik het wel proberen?

    ik kan het niet bij chello draaien want die ondersteunt geen php (kwam ik pas achter)
    .
    of is het wat anders? want dit vind ik een makkelijke oplossing want zodra je wat in een map zet. staat het meteen op internet.

    of zijn er andere manieren?

    Alvast Bedankt voor je reactie enz
  • Als je lokaal al een ftp-server hebt draaien, waarom zet je er dan niet ook een webservertje met php-support bij?
  • Of je mapt gewoon de ftp map ook naar je webserver, dan heb je heel dat script niet nodig…
  • [quote:62fd9a3305="Annie"]Als je lokaal al een ftp-server hebt draaien, waarom zet je er dan niet ook een webservertje met php-support bij?[/quote:62fd9a3305]

    dat is een goed idee. wat heb ik daar voor nodig. en heb je ook nog aanraders voor programma's enz?


    maar als m'n pc uitstaat. dan krijg je op de website een error. kan dit dan ook makkelijk opgelost worden (maar dan geen error vervangscherm in het algemeen zodat het zelfde scherm overal komt)

    thanks
  • [quote:05a8ff7564="intellect"]dat is een goed idee. wat heb ik daar voor nodig. en heb je ook nog aanraders voor programma's enz?[/quote:05a8ff7564]Ik zou Apache nemen…

    [quote:05a8ff7564="intellect"]maar als m'n pc uitstaat. dan krijg je op de website een error. kan dit dan ook makkelijk opgelost worden (maar dan geen error vervangscherm in het algemeen zodat het zelfde scherm overal komt)[/quote:05a8ff7564]Nee, dit kan je niet makkelijk oplossen.
  • ligt dit aan mij of lukt het gewoon niet om apache te downloaden? ik kom telkens bij een mirror maar dan heb ik telkens de verkeerde.

    heeft iemand dit programma voor mij? mail me dan ff het bestand h.bouw10@chello.nl (kan bestanden van 5 mb hebben)


    bedankt
  • ftp://ftp.cs.uu.nl/mirror/apache.org/dist/httpd/binaries/win32/apache_1.3.26-win32-x86-no_src.exe
  • thanks!!,

    hmm. ligt het aan mij of wil die server niet draaien??
    ik heb hem geinstalleerd ff opnieuw opgestart. en dan klik ik op "start apache in consol" dan krijg ik een dos scherm. naar een minuut krijg ik de vraag van de firewall of apache het internet op mag( en dat mag hij)
    maar dan blijf er een dos scherm staan met "apache running" mag ik die weg klikken?
    maar verder gebeurt er niks. hoe stel ik nou alles in? en wat is mijn "url" zal ik maar zeggen?

    alvast bedankt!!
  • Als je Apache als console applicatie laat draaien, moet je de console inderdaad open laten staan. Als je Windows NT/2000/XP hebt kun je Apache als service installeren, dan draait ie op de achtergrond.

    Je adres is hetzelfde als je ipadres (of gewoon , maar dat werkt alleen lokaal)...">http://localhost, maar dat werkt alleen lokaal)...
  • en waar kan ik dan de bestanden neer zetten? (de html bestanden enz)
  • Dat staat allemaal in de manual, ik stel voor dat je die gaat lezen…
  • ik heb het gevonden!! (ik kon het eerst niet vinden) nu heb ik het php script in die map gezet maar hij download gewoon weer die files.php

    ik d8 daar is vast een driver voor nodig. maar ik heb lang gezocht en niks kunnen vinden. (bij de mirror's) of is hier geen driver voor nodig maar een instelling? ik heb ook al gezocht bij config. en in de manuel kon ik ook al niks vinden (en sommige deden het niet)

    alvast bedankt!
  • Je moet dan natuurlijk wel PHP installeren…

    Maar veel makkelijker is het om een directory te mappen naar je FTP map of desnoods de complete documentroot daar naar te laten verwijzen…

Beantwoord deze vraag

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