Avatar billede ullers Nybegynder
04. september 2002 - 15:23 Der er 15 kommentarer og
1 løsning

ftp_delete!!

Er hosted hos dht, ftp er enabled i php.
Vil gerne via et lille ftp script kunne slette en fil.
Kan ikke bruge unlink() grundet i php kører i safemode!
Hver gang jeg kører scriptet for jeg:
Warning: ftp_delete: 1.jpeg: No such file or directory in /hotel/domæne/WWW/holm/cms/main.php on line 468
Håber nogen kan hjælpe har virkelig brug for hjælp!!!

scriptet:
$fp = ftp_connect("ftp.server.dk");
$login = ftp_login($fp, "server_dk","password");
ftp_delete($fp,"1.jpeg");
ftp_quit($fp);
ftp_quit($fp);
Avatar billede simonvalter Praktikant
04. september 2002 - 15:32 #1
du kunne få lidt inspiration fra dette script ..
http://www.thedreaming.com/Code/PHP/archive/RooFToP/RooFToP-1.0.0.tar.gz
remote.php har en delete funktion der minder lidt om din.
Avatar billede BacceDK Juniormester
04. september 2002 - 15:34 #2
hmm
"No such file or directory" betydder at filen eller biblioteket ikke eksisterer
er du sikker på den er der og du befinder dig det rigtige sted på serveren ??
samt filens navn er korrekt ?? at den ikke fek.s hedder 1.Jpeg ??
bare nogle foreslag
Avatar billede ullers Nybegynder
04. september 2002 - 15:41 #3
Hej indate
Skulle gerne være 99.99% sikker på at stien er rigtig. Først havde jeg en lang tråd(sti). Så kogte jeg det ned til at ligge en fil i samme mappe som scriptet, den vil stadig ikke finde den, hvorfor?
Avatar billede ullers Nybegynder
04. september 2002 - 15:42 #4
Til loadet
Kunne du måske fortælle hvilken fil jeg skal kigge i (der er ret så mange at rode igennem, er ikke så hård endnu til at læse kode....)
Avatar billede simonvalter Praktikant
04. september 2002 - 15:42 #5
nu kender jeg nada til php .. men fp er den path den er i right ? og så er du vel chrooted et eller andet sted og den tror den skal bruge den fuldstændige path .... du skal have fat i path fra din ftproot ..
Avatar billede simonvalter Praktikant
04. september 2002 - 15:43 #6
remote.php


        /*
                Delete Files and directories Actions
        */
        if($DeleteConfirm && $DeleteFile) {
                @ftp_chdir($fp, $dir);
            $dir = ftp_pwd($fp);   
                if(@ftp_delete($fp, "$dir/$DeleteFile")) {
                        print("<font size=-1>File <b>$DeleteFile</b> deleted.</font>");
                  } else {
                        print("<font color=red size=-1>Unable to delete file <b>$DeleteFile</b></font>");
                  }
        } else if($DeleteConfirm && $DeleteDir) {
                        @ftp_chdir($fp, $dir);
                        $dir = ftp_pwd($fp);
                if(@ftp_rmdir($fp, "$dir/$DeleteDir")) {
                        print("<font size=-1>Directory <b>$DeleteDir</b> deleted.</font>");
                } else {
                        print("<font color=red size=-1>Unable to delete directory <b>$DeleteDir</b></font>");
                }
        }

        /*
Avatar billede ullers Nybegynder
04. september 2002 - 15:44 #7
Kan nogen af jer fortælle mig om ftp protokollen  er en god måde at komme uden om safemode problemstillingen vedr. redigerer og delete filer via cms?
Avatar billede simonvalter Praktikant
04. september 2002 - 15:45 #8
du skal nok have fat i ftp_pwd //Returns the present working directory
Avatar billede ullers Nybegynder
04. september 2002 - 15:46 #9
loadet-> hvordan for jeg fat i denne path- ftproot, ved du det? og hvad betyder chrooted....
Avatar billede ullers Nybegynder
04. september 2002 - 15:47 #10
ups du havde regnet det næste spørgsmål ud!!!!
Avatar billede ullers Nybegynder
04. september 2002 - 15:50 #11
->loadet gider du lige forklarer "chrooted"!!
Jeg tror nu at have de nødvendige opl. for at arbejde videre!!
Tusind tak for hjælpen!!
Avatar billede simonvalter Praktikant
04. september 2002 - 15:51 #12
hvis du er chrooted betyder det noget i retning af at du er spæret inde i en path .. feks den fulde path på serveren til dit working dir er /hotel/domæne/WWW/holm/cms/ men du kan feks være chrooted i /www så du ikke kan kalde programmer uden for der hvor du er chrooted ..

jeg kender ikke php men det ser ud til at du kan få din path ved at gøre sådan her
$dir = ftp_pwd($fp);
ftp_delete($fp, "$dir/$DeleteFile);
Avatar billede simonvalter Praktikant
04. september 2002 - 15:53 #13
chroot er meget brugt i unix men jeg mener oxo at iis lukker din ftp/webroot af
Avatar billede simonvalter Praktikant
04. september 2002 - 15:54 #14
prøv
$fp = ftp_connect("ftp.server.dk");
$login = ftp_login($fp, "server_dk","password");
$dir = ftp_pwd($fp);
ftp_delete($fp, "$dir/1.jpeg");
ftp_quit($fp);
ftp_quit($fp);
Avatar billede ullers Nybegynder
04. september 2002 - 16:08 #15
Det samme resultat: no such file or direc.....
Jeg har prøvet at echo ftp_pwd($fp), så får jeg kun et slash /
Avatar billede besoft Nybegynder
01. oktober 2003 - 15:27 #16
ullers...
Når du bare logger ind med ftp_connect, starter den nok i /hotel/domæne/www. Så vil det være en god idé at lave en ftp_chdir til holm/cms

$conn = ftp_connect("server");
$login_res = ftp_login($conn,"user","pwd");
$chdir = ftp_chdir($conn,"holm/cms");

Herefter kan du bruge fx ftp_delete("1.jpeg")

Ovenstående virker perfekt for mig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester