Vraag & Antwoord

Webprogrammeren & scripting

[PHP] - Functie om map te legen doet raar

Anoniem
None
3 antwoorden
  • Ik heb een bestand "deleteattachments.php" dat altijd geinclude wordt om de attachments te verwijderen indien nodig. Het bestand ziet er als volgt uit:[code:1:2019b5d76e]<?php
    if (file_exists ("temp/mailclient/" . $aerypton [id])) {
    include ("functies/ftpconnect.php");
    // Ik ga ervan uit dat er geen submappen zijn, dit is normaal gezien ook niet mogelijk.
    ftp_chdir ($conn_id, "public_html/temp/mailclient/" . $aerypton [id]);

    $dir = opendir ("temp/mailclient/" . $aerypton [id] . "/");

    if (!empty ($dir)) {
    $files = ftp_nlist ($conn_id, ".");

    foreach ($files as $file) {
    ftp_delete ($conn_id, $file);
    }
    }

    ftp_rmdir ($conn_id, ".");

    include ("functies/ftpdisconnect.php");
    }
    ?>[/code:1:2019b5d76e]Normaal zou hij dan enkel de bestanden in die map mogen proberen te verwijderen als de map dir niet leeg is.

    Maar soms probeert hij het te legen als het al leeg is, dan krijg ik "Warning: Invalid argument supplied for foreach() in /home/…/deleteattachments.php on line 12".

    Ziet iemand toevallig een foutje in m'n pagina?

    Of, misschien beter, weet iemand hoe ik die fout kan verbergen zodat de gebruiker ze niet te zien krijgt. Ik weet dat je voor functies een "@" kan plaatsen voor de errors te verbergen, maar hoe zit het voor loops?
  • Je kan toch gewoon checken of $files leeg is of niet?
  • [quote:3e710d69cb="Bill Gates"]Je kan toch gewoon checken of $files leeg is of niet?[/quote:3e710d69cb]Bedoel je zo:[code:1:3e710d69cb] if (!empty ($files)) {
    foreach ($files as $file) {
    ftp_delete ($conn_id, $file);
    }
    }[/code:1:3e710d69cb]Ik wist niet dat het kon.

Beantwoord deze vraag

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

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