[php] Meerdere bestanden uploaden zonder 100x file

Pagina: 1
Acties:
  • 162 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey,

Ik heb een site gemaakt met daarin de mogelijkheid om foto's toe te voegen, nu heb je vaak dat mensen een heleboel foto's maken en die in een keer willen toevoegen. Dus heb ik het zo gemaakt dat je bijvoorbeeld 50 'input type=file' regels krijgt zodat je het een stuk sneller kunt doen.

Alleen zoals zo vaak wil men het allemaal nog sneller kunnen doen en dus willen ze 1 browse knop waar ze meerdere bestanden kunnen selecteren, vergelijkbaar met bestanden toevoegen in hotmail alleen moet je nu meerdere bestanden in een keer kunnen selecteren. Eigenlijk een soort van ftp client via php en html.

Iemand enig idee, ik heb namelijk naar scripts zitten zoeken alleen weinig bruikbaars gevonden.

Acties:
  • 0 Henk 'm!

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
volgens mij kan dat niet echt :?


maar anders kun je dit doen, een input maken (type=text) en daar de file in, dan nog 2 inputs (text) en daar de nummers, van nummer, tot nummer en dan submit, en dat er dan een tussen pagina komt waar je allemaal inputs hebt (type=file) met alle file names en link er perfect in en dat hij dan nog keer op submit en dan klaar :)

Acties:
  • 0 Henk 'm!

Verwijderd

4Real schreef op 25 October 2003 @ 16:19:
volgens mij kan dat niet echt :?


maar anders kun je dit doen, een input maken (type=text) en daar de file in, dan nog 2 inputs (text) en daar de nummers, van nummer, tot nummer en dan submit, en dat er dan een tussen pagina komt waar je allemaal inputs hebt (type=file) met alle file names en link er perfect in en dat hij dan nog keer op submit en dan klaar :)
Dat kan niet, en dat mag helemaal niet kunnen. Denk even na over de veiligheidsriciso's van het automatisch uploaden van bestanden van je harde schijf.

Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 08:29

Tjark

DON'T PANIC

laat ze 't zippen en unzip de zip op je server en haal de foto's er uit.

*insert signature here


Acties:
  • 0 Henk 'm!

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Verwijderd schreef op 25 October 2003 @ 16:21:
[...]

Dat kan niet, en dat mag helemaal niet kunnen. Denk even na over de veiligheidsriciso's van het automatisch uploaden van bestanden van je harde schijf.
ja maar ik bedoel dat de persoon het allemaal invult en de php script er allemaal inputs van maakt

bijvoorbeeld

persoon voert in c:\plaatjes map\plaatje
bij van tot nummer doet hij 20 tot 50
en als extensie .jpg

dan maakt php een pagina met inputs (type=file) met value = c:\plaatjes map\plaatje20.jpg tot c:\plaatjes map\plaatje50.jpg

en dat de persoon dan nog een keer op submit moet drukken en dan het dan volgens mij wel goed gaat :)

Acties:
  • 0 Henk 'm!

Verwijderd

4Real schreef op 25 October 2003 @ 16:48:

... en dat de persoon dan nog een keer op submit moet drukken en dan het dan volgens mij wel goed gaat :)
Ja, maar als ik nu eens iets leuks bedenk, en wachtwoordbestanden laat invullen, en dan met javascript die klik op de knop trigger?
Het KAN niet, en het MAG niet kunnen.

Acties:
  • 0 Henk 'm!

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Verwijderd schreef op 25 October 2003 @ 16:55:
[...]

Ja, maar als ik nu eens iets leuks bedenk, en wachtwoordbestanden laat invullen, en dan met javascript die klik op de knop trigger?
Het KAN niet, en het MAG niet kunnen.
value werkt ook neit bij input type=file kom ik net achter, oeps :o :+

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja dat van die zip is misschien wel een idee ja, denk dat ik dat eens verder ga bekijken.

bedankt voor de tip, mochten er uiteraard nog andere tips komen dan lees ik die uiteraard graag, maar aan de reacties tot nu toe te lezen zijn er niet echt mogelijkheden voor.

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 25 October 2003 @ 16:57:
Ja dat van die zip is misschien wel een idee ja, denk dat ik dat eens verder ga bekijken.

bedankt voor de tip, mochten er uiteraard nog andere tips komen dan lees ik die uiteraard graag, maar aan de reacties tot nu toe te lezen zijn er niet echt mogelijkheden voor.
Als het al kan, dan zou je de meeste kans hebben met een Java applet.

Acties:
  • 0 Henk 'm!

  • PanMan
  • Registratie: November 1999
  • Laatst online: 16:11

PanMan

Spun!

er zijn gewoon upload applets hoor... Zo te vinden met google...

Where a calculator on the ENIAC is equipped with 18,000 vacuum tubes and weighs 30 tons, computers in the future may have only 1,000 vacuum tubes and weigh only 1.5 tons.
– Popular Mechanics, March 1949


Acties:
  • 0 Henk 'm!

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Beste,

Ik ben tegen hetzelfde probleem aangelopen als jij. Mijn klanten wilde graag een hele map of meerdere tegelijk uploaden.

Ik heb een oplossing gevonden die enigzins wat veiligheidsrisico's met zich mee brengt maar voor de klant schitterend werkt.

Ik heb een apart FTP account aangemaakt wat uitkomt in de map die ik eerst als upload map had gedefineerd

In de upload pagina heb ik een link aangemaakt zoals
<a href="ftp://gebruikersnaam:wachtwoord@jouwdomein.com">Link naar Ftp map</a>

Hier mee geef ik de klant de mogelijkheid om IE als ftp programma te gerbuiken.
Daarna zul je alleen alle bestanden in de map uploads nog even moeten indexeren
daarvoor vond ik op php.net een mooi stukje code
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function recursive_listdir($base) { 
    static $filelist = array(); 
    static $dirlist = array(); 

    if(is_dir($base)) { 
       $dh = opendir($base); 
       while (false !== ($dir = readdir($dh))) { 
           if (is_dir($base ."/". $dir) && $dir !== '.' && $dir !== '..') { 
                $subbase = $base ."/". $dir; 
                $dirlist[] = $subbase; 
                $subdirlist = recursive_listdir($subbase); 
            } elseif(is_file($base ."/". $dir) && $dir !== '.' && $dir !== '..') { 
                $filelist[] = $base ."/". $dir; 
            } 
        } 
        closedir($dh); 
    } 
    $array['dirs'] = $dirlist; 
    $array['files'] = $filelist; 
    return $array; 
 }


Let op ...er zit dus wel een risico aan vast
De klant krijgt via de URL het wachtwoord te zien .....maak dus een account aan met alleen rechten in die upload map..

Naja ik hoop dat het ook voor jou iets is
;)

[ Voor 14% gewijzigd door vorlox op 25-10-2003 17:09 . Reden: typo's weggewerkt ]


Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

Ik heb dit toen dr tijd gedaan met Jupload (http://www.aspupload.com/jupload.html)

Dit is een applet waarin je uit verschillend mappen files kan queen of complete mappen kan inlezen (je kan ook in de applet code opgeven dat ze bijvoorbeeld alleen .jpg bestanden oid mogen doen)

Deze hang je in je form en klaar :)

Werkte heel erg prettig, alleen heb je vaak dat mensen grote bestanden gaat uploaden en loop je tegen het probleem aan dat in de php.ini staat dat er max 2 mb geupload mag worden in 1 keer.

Als je zelf de machine onder beheer heb is dit natuurlijk eenvoudig aan te passen :)

succes B)

[ Voor 28% gewijzigd door BierPul op 25-10-2003 17:21 ]

Ja man


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Is zeker een optie, maar ik voel nog steeds meer voor de zip mogelijkheid, ik moet de foto's na het uploaden namelijk ook nog bewerken (aanpassen aan grootte etc) en de juiste namen geven en ik denk dat ik met die zip mogelijkheid het en voor mij en voor de klant makkelijk hou.

Zippen lukt de meeste namelijk nog wel, en als het ze niet lukt dan moeten ze gewoon veel klikken.

Acties:
  • 0 Henk 'm!

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:05
Waar je ook rekening mee moet houden is de max_upload_size in php.ini.
Deze staat standaard op 2Mb.
En dat zijn niet erg veel foto's.

Als het je eigen server is, dan kan je die natuurlijk aanpassen. Maar als de site extern gehost word, ontkom je bijna niet aan FTP.

Dan moet je nog een script maken de een directory uitlees de foto's resized ect. ect.

Wat je ook zou kunnen doen is even naar http://gallery.sourceforge.net kijken.
Dat pakketje heeft ook een zip upload achtig iets.

Moet je php wel met de zip extentie draaien, of een extern programma daar voor gebruiken.
Dat laatste kan alleen als php niet in save_mode draait.

Wat bij de meeste hosts niet het geval is.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb er nog nooit meegewerkt, maar wellicht zijn de FTP functies van PHP iets? Ik denk dat daar de php.ini setting van max_upload_size niet van toepassing is...

http://nl.php.net/ftp

[ Voor 18% gewijzigd door Verwijderd op 26-10-2003 13:19 ]


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Hoe wil je dat gaan implementeren Markuz? Die functies zijn meer bedoeld om verbinding te maken met een ftp, dat veranderd verder niets aan de cliëntele zijde van het probleem. Dit topic->13 ;)

Er zijn al wel vaker topics geweest met deze vraag, en de beste manier is Jupload, omdat je anders last hebt van de beperkingen van de browsers, wat overigens wel hele goede zijn voor de veiligheid.

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Die zip is makkelijk zat te doen, zeker als je onder unix/linux draait. (Beter gezegd, ik kan je wel vertellen hoe het ongeveer moet, als je het onder unix/linux doet).

Upload zip als altijd,
run unzip over die file (via een system call)
indexeer bestanden in de temp map waar je ze hebt gezet
doe ermee wat je wil
klaar

Windows zal wel op analoge wijze gedaan kunnen worden, maar daar weet ik de specifics niet van.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

vorlox schreef op 25 October 2003 @ 17:07:
Beste,

Ik ben tegen hetzelfde probleem aangelopen als jij. Mijn klanten wilde graag een hele map of meerdere tegelijk uploaden.

Ik heb een oplossing gevonden die enigzins wat veiligheidsrisico's met zich mee brengt maar voor de klant schitterend werkt.

Ik heb een apart FTP account aangemaakt wat uitkomt in de map die ik eerst als upload map had gedefineerd

[...]
Dit is zeker voor IE gebruikers een goede oplossing. IE gaat namelijk netjes naar verkenner modus en mensen kunnen vervolgens via klik en sleep bestanden erin gooien. Eventueel kun je gebruik maken van frames of location headers om niet het wachtwoord te laten zien

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Spider.007 schreef op 26 oktober 2003 @ 19:46:
Eventueel kun je gebruik maken van frames of location headers om niet het wachtwoord te laten zien
Daarmee wordt het natuurlijk niet veiliger. Het wachtwoord staat nog steeds in de source en gaat ook nog steeds gewoon cleartext over de lijn.
En daarbij is het nut me ook niet helemaal duidelijk. De personen die gebruikmaken van de upload mogen er al in, dus waarom zou je voor hen het wachtwoord verbergen?

Today's subliminal thought is:

Pagina: 1