[PHP]Directory uploaden

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 19-09 20:42
Ik ben bezig met een fotogallerie te maken in php. Het resizen e.d. is het probleem niet, ik ben meer aan het nadenken over hoe ik het beste/makkelijkste de foto's kan uploaden. Het zal in principe steeds over maximaal zo'n 40 foto's per keer gaan. Ik wil het volledig in PHP realiseren. Voor zover ik het zie heb ik dan 2 opties, ofwel via de PHP FTP functies, ofwel 1 voor 1 met input type=file. Dat laatste is nogal omslachtig, het eerste zie ik niet helemaal zitten gelet op de veiligheid.

Nu vraag ik me af; heb ik nog meer (betere) opties? En hoe zit het daadwerkelijk met de veiligheid van FTP via PHP? Ik heb namelijk maar 1 FTP account naar die server, en ik zou nu dus in mn code de gebruikersnaam en het wachtwoord op moeten geven. Dat wordt natuurlijk allemaal geparsed, maar als het anders op een nettere manier kan, doe ik dat liever.

Acties:
  • 0 Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Uploaden van plaatjes vanaf de client machine met ftp via php gaat je niet lukken. PHP draait op de server. Je gebruiker heeft er niet zoveel aan als je php script een ftp connectie maakt met je server. Je zou eigenlijk een ftp connectie met de gebruiker willen hebben, maar dat gaat niet ;)

Wat je wel zou kunnen doen is het door de gebruiker laten inzippen van de foto's. Met windows xp is dit tenslotte een fluitje van een cent. Vervolgens hoeven ze alleen het zipje op te geven. Maar let ook wel op de grootte van je foto's: dat kan al snel in de tientallen megabytes gaan lopen, dus daar zul je ook snel tegen een limiet aan lopen.

Er zijn nog wel andere alternatieven, maar het is allemaal wel wat omslachtig.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0 Henk 'm!

  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 17-09 13:27
Goeiesmorgus op deze paas morguh :)

Heb je vraag een paar keer gelezen, maar snap nou niet helemaal waar je op doelt, dan wel wat de mogelijkheden voor je zijn. FTP wil je niet en dan nog, hoe wil je dat met PHP realiseren zonder forms etc. (ja, weet van de php functies die er zijn)

"ik heb maar 1 ftp account naar de server". Over welke server hebben we het? Een server die jij beheerd of één die ergens op internet staat? Als het jouw server is, is het dan niet misschien een optie, om iets te maken met een zip'ed upload? Upload een bestandje van maximaal 1.6MB -> Pak hem uit, flikker alle non *.jpg dingen weg -> controleer op echtheid -> move naar een dir -> voeg toe aan DB oid?

Zomaar een ID, maar wel een realistische. Ben geen expert in PHP, maar ik weet zeker dat ik mijn ID kan uitvoeren. Met FTP vind ik het een beetje vaag, ik heb wel zelf iets gemaakt met PHP voor een site, dat alle plaatjes werden geupload naar mij ( door middel van een form, 1 per stuk ), dan werd hij geresized en dan weer terug gestuurd naar mijn homepage account van m'n ISP. ( in dit geval weet ik echt niet hoe een client die achter de browser zit die informatie ooit in zijn handen krijgt, behalve dan als je PHP engine uitvalt en de php file plaintext word opgestuurd en jouw inloggegevens niet netjes waren geinclude vanuit een bestandje die niet op de server aanvraagbaar is ... dus buiten document root staat van apache )
offtopic:
BUMMER!!!!!! :( ben ik zo lang bezig geweest met m'n verhaaltje, is iemand mij voor ..... zo langzaam ben ik toch niet, of wel :O ?

Ah, ik snap het al, ligt aan die immens grote ping van demon :+

[ Voor 11% gewijzigd door LinuX-TUX op 11-04-2004 01:42 ]


Acties:
  • 0 Henk 'm!

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 19-09 20:42
Hmm, begrijp ik het dan niet helemaal? Ik kan toch met ft-_put gewoon bestanden sturen naar de FTP-server als ik verbinding heb? Op zo'n manier kan ik toch prima een hele folder uploaden?

Na het uploaden, loop ik gewoon die hele directory na met php, en verklein alle foto's en plaats deze in een aparte thumbnail map. Dit moet toch prima werken, of zie ik dan iets over het hoofd?

Voor de duidelijkheid, de server waar ik het over heb is gewoon de hosting provider.

[ Voor 12% gewijzigd door Dr_Frickin_Evil op 11-04-2004 13:26 ]


Acties:
  • 0 Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Wat niet helemaal duidelijk is, is waar je plaatjes die je wilt uploaden staan:

(1) al op de server
(2) op de schijf van de bezoeker

In het eerste geval wil je blijkbaar de plaatjes van de ene server naar de andere overbrengen?

In het tweede geval wil je dat de bezoeker een directory met plaatjes upload. Maar over die bezoeker heb jij vanaf de server geen controle. Jij kan vanaf de server geen ftp-verbinding openen met de bezoeker. Anderzijds: de bezoeker zou met een ftp-programma wel zijn directory kunnen uploaden naar jouw server en vervolgens een scriptje via zijn webbrowser aanroepen die dan resized enz.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0 Henk 'm!

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 19-09 20:42
Pff, tjonge ik had zelf natuurlijk wel kunnen bedenken dat dat niet gaat lukken |:( ... Stom van mij.
De bedoeling is dus dat de gebruiker via de website een folder kan selecterren, en dat deze dus in zijn geheel geupload wordt. De bedoeling was om dit met de php ftp-functies te doen, maar dat kan natuurlijk helemaal niet... Wat is dan de beste optie? Zoals al gezegd is, eerst uploaden met een ftp-client, en dan een scriptje aanroepen is wat dat betreft natuurlijk het makkelijkste, maar ik wilde dit in zijn geheel via de website doen. Kan dit zonder elke file afzonderlijk via een input type=file te selecteren?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Nee, dit kan niet. Dat is geen beperking van php, maar van html in het algemeen. De file input accepteerd maar 1 bestand. De enige oplossing is om een berg input velden te maken, een clientside tooltje te schrijven die de boel upload of de gebruiker vragen om de hele directory in een zip file te sturen. De laatste oplossing is misschien nog wel het ondersoeken waard ;).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Er is nog een optie, maar dan moet je gebruik maken van JAVA (niet script), er is iig wel wat over te vinden.

Kijk vooral eens naar deze quote als ik zoek op [search=jupload]
gotcha schreef op 04 mei 2002 @ 15:15:
meer bestanden in 1 actie uploaden kan wel degelijk, maar niet gratis (zover ik weet), bijvoorbeeld met XUpload en JUpload van persits of XFile en JFile van SoftArtisans.
werkt best cool, is alleen niet goedkoop...

Acties:
  • 0 Henk 'm!

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 19-09 20:42
Das dan toch verder niet echt een optie.
Ik heb al een andere mooie manier gevonden. Ik laat de gebruiker de directory met een FTP-client uploaden, en ik laat de directories netjes in een tabel zien. Met behulp van een 'update'-knop kan dan de lijst met directories bijgewerkt worden, en wordt aangegeven van welke dirs er al wel en van welke er nog niet thumbnails gemaakt zijn. Hierna kan de gebruiker de dirs selecteren die nog geresized dienen te worden. Misschien een vaag verhaal, maar ik weet nu wel hoe ik te werk moet gaan.
Pagina: 1