windows - PHP ftp upload i baggrunden

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne uploade billeder, der findes i en bestemt mappe, ved hjælp af FTP i en php-fil. Jeg uploader til ftp.photobucket.com, og den mappe, som billederne findes i, afhænger af brugerindgang. Hvordan vil jeg gerne gøre dette som følger:



  1. Bruger Indtast Mappenavn (eller vælger fra en liste) til et formularfelt.

  2. Mappeklik 'Tilføj' -knap (dette er en forudindgivningsknap)

  3. Formularparametrene gemmes i LocalStorage, og formularen ryddes, så brugeren kan indtaste nye data i formularen.

  4. På dette tidspunkt åbner ftp-forbindelsen i baggrunden, opretter den eksterne mappe og uploader billederne (dette kan ske efter indgivelse for at forhindre flere henrettelser af ftp scriptet, men at gøre det på dette tidspunkt er at foretrække til tidsbesparende formål )

  5. Bruger indtaster nye data i formularen, mens billederne uploades, og gentages så ofte som han eller hun vælger.

  6. Brugeren presser indsende, og alle formulardata er sendt til en php-fil, bygnings dynamiske filer baseret på formindgang.

  7. Alligevel fortsætter ftp processen med at uploade lydløst i baggrunden.

  8. Efter at ftp-processen er færdig, modtager brugeren besked om, at hans filer er tilgængelige for visning. Han kan naturligvis se filerne før da, men billederne vises som brudte links, indtil uploaden er færdig.



Jeg har hvert trin i dette arbejde undtagen at køre ftp'en i baggrunden. Uanset hvad jeg har prøvet, har der været en fejl. Jeg har forsøgt forskellige kombinationer af indbyggede ftp-metoder, og jeg har også forsøgt at køre et batch script fra filsystemet. Intet jeg har fundet på php.net har givet noget, der virker.


Dette er på en Windows-boks, og jeg har forsøgt psexec.exe-tricket (find psexec på denne side) til ingen nytte. Jeg er nu blevet forvirret efter flere forsøg, og selv fejlfinding giver mig ikke længere mening. Enhver hjælp? [1]


[[edit]] Jeg har glemt at tilføje det med henblik på at gøre dette arbejde, det kører på localhost. At få det til at fungere der i starten er det, jeg har brug for nu. Jeg vil uddanne resten efter behov. [[/Edit]]

Bedste reference


Du kan ikke sende direkte filer til ftp ved hjælp af PHP. Du skal først uploade dem lokalt. Og efter at du kan sende dem til ftp ved hjælp af php. Du kan bruge en cron på din webhost til at udføre php script og sende filer på ftp.
Der er mange php-klasser til at administrere ftp:
http://www.phpclasses.org/searchtag/ftp/by/package/tag/ftp/[2]