Hoe kan je met behulp van php de inhoud van een map over ftp verwijderen?
FTP -> Map Inhoud Verwijderen
-
-
-
-
Bedankt voor je reactie.
Maar ik had al wat anders geprobeerd.
Namelijk dit:PHP
Toon Meer// set up the settings $map = '/map1/map2/'; $ftp_server = 'ip'; $ftpuser = 'user'; $ftppass = 'pass'; // set up basic connection $conn_id = ftp_connect($ftp_server); // login with username and password $login_result = ftp_login($conn_id, $ftpuser, $ftppass); // try to delete $map if (ftp_rmdir($conn_id, $map)) { // the ftp function echo "$map deleted successful<br>"; } else { echo "could not delete $map<br>"; } // try to create $map if (ftp_mkdir($conn_id, $map)) { // the ftp function ftp_site($conn_id, "CHMOD 777 $map") or die("FTP SITE CMD failed."); echo "$map created successful"; } else { echo "could not create $map"; } // close the connection ftp_close($conn_id);
Dat werkt wel. Alleen niet bij de map die ik wil, omdat deze namelijk in gebruik is.
Is er een methode om deze map toch te verwijderen en dan opnieuw aan te maken? -
Verwijder gewoon de bestanden van in die map?
-
Citaat van FerhatR
Verwijder gewoon de bestanden van in die map?
Ja daar was ik zelf ook al aan begonnen
Alleen er is nog een dingetje dat wel mooi zou zijn als het zou werken.
De functie file_exists werkt niet over ftp. Dus hij kan niet eerst kijken of de file wel bestaan, want als het script de file probeert te verwijderen maar de file bestaat niet krijg je een error. En het zou dus mooier zijn om een eigen tekst daar neer te zetten in plaats van die standaard php error.Voor de mensen die het interessant vinden, dit is het script:
PHP
Toon Meer$file_main = '/map/svss/pbsvss.htm'; $file_begin = '/map/svss/pb0000'; $file_end1 = '.htm'; $file_end2 = '.png'; // set up basic connection $conn_id = ftp_connect($ftp_server); // login with username and password $login_result = ftp_login($conn_id, $ftpuser, $ftppass); if (file_exists($file_main)) { if (ftp_delete($conn_id, $file_main))// the ftp function { echo "$file_main deleted successful<br />"; } else { echo "could not delete $file_main<br />"; } } else { echo "The file $file_main does not exist<br />"; } for ($i=1; $i<=100; $i++) { $file_delete1 = $file_begin . $i . $file_end1; if ($i<=9) { $file_delete1 = $file_begin . 0 . $i . $file_end1; } if (file_exists($file_delete1)) { if (ftp_delete($conn_id, $file_delete1))// the ftp function { echo "$file_delete1 deleted successful<br />"; } else { echo "could not delete $file_delete1<br />"; } } else { echo "The file $file_delete1 does not exist<br />"; } $file_delete2 = $file_begin . $i . $file_end2; if ($i<=9) { $file_delete2 = $file_begin . 0 . $i . $file_end2; } if (file_exists($file_delete2)) { if (ftp_delete($conn_id, $file_delete2))// the ftp function { echo "$file_delete2 deleted successful<br />"; } else { echo "could not delete $file_delete2<br />"; } } else { echo "The file $file_delete2 does not exist<br />"; } } // close the connection ftp_close($conn_id);
Als je dit script wilt laten werken moet je zelf natuurlijk wel nog even de ftp gegevens invullen. -
-
Citaat van larsisgoed9
Dit werkt toch gewoon?
Als je een map bedoeld kan je dit doen:
Moet die map / bestand(en) wel op permissies 777 staan
Lars
Werkt dat ook met ftp? -
-
Citaat van FerhatR
Daar had ik al gekeken
Daarom vroeg ik het ook.CitaatWhen I'm using unlink() or rename() with a SSH2.SFTP wrapper, both functions always return FALSE (but without a warning) even on success.
CitaatI used ftp_connect() then ftp_delete() to erase files which unlink could not erase due to permision problems
Nieuwe reactie samengevoegd met originele reactie op 29.08.10 15:47:25:
De output is nu niet zo mooi vanwege een hoop errors. Het script zelf werkt wel.
Dus ik vind het goed genoeg.Bedankt voor de hulp
Participate now!
Heb je nog geen account? Registreer je nu en word deel van onze community!