Toon posts:

[php] voor 't uploaden grootte pic bepalen

Pagina: 1
Acties:

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    $size = GetImageSize ($bestand);
    $extension = explode("/",$userfile_type);
    if (($extension[1] == "gif" || $extension[1] == "x-png" || $extension[1] == "pjpeg") && $userfile_size <= 2000000) {
        $parts = explode("\\",$userfile_name); 
        $filename = time().substr($parts[count($parts)-1], strpos($parts[count($parts)-1], "."), strlen($parts[count($parts)-1])); 
        $ftp = ftp_connect ("blaat", 21);
        $connect = ftp_login($ftp, "blaat", "blaat");
        ftp_chdir ($ftp, "blaat");
        $dir = ftp_pwd($ftp);
        $fp = fopen($userfile, "r");
        ftp_fput ($ftp, $dir."/".$filename, $fp, FTP_BINARY);\

        ftp_quit ($ftp);
    }


Ik heb het bovenstaande script geschreven om plaatjes te uploaden, het script werkt zover dat hij alleen plaatjes upload, met de $userfile_size variabele kan ik bepalen hoe groot maximaal een plaatje mag zijn. Maar ik wil ook dat alleen maar plaatjes van bv. 200x200 geupload mogen worden. Ik had hiervoor in de form een hidden field gemaakt welke de waarde van de $userfile ('t geposte bestand) krijgt, deze variabele heet $bestand en heeft dus als waarde bv. e:\\bestand.gif ... ik dacht dat ik nu met getimagesize zo de grootte van het bestand kan uitlezen ... niet dus ... iemand?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Je hebt www.php.net/getimagesize al bekeken neem ik aan? $size is een array met verschillende gegevens.

$bestand moet ook lokaal (voor de webserver) staan.

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
getimagesize heb ik bekeken ja ... maar als foutm,elding krijgt hij unable to open ... dus ik kan nog niks uit de array halen.... hij staat dus nog niet op de webserver het plaatje, ik wil dus dat hij vantevoren kijkt of het plaatje aan bepaalde afmetingen voldoet..., anders zou iemand een groot plaatje kunnen uploaden, zou ik dan kijken wat de grootte is, en dan weer verwijderen ... uis een beetje zonder van de tijd van de bezoeker om al deze stappen te doorlopen

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Tja, dat dacht ik al. En dat kan dus niet :) Hoe moet een server nou weten hoe groot een plaatje is [i]voordat[i] je m hebt geupload?! Hij heeft nog geen byte binnen.

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
nee ok ... maar is dan geen andere manier ... immers kan ik vantevoren ook de grootte checken van het bestand in bytes. Zoiets moet dan otch ook mogelijk zijn voor de afmetingen

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

$size = GetImageSize ($bestand);

vs

$fp = fopen($userfile, "r");

kweeniehoor, maar heb je je eigen code als es rustig door genomen in samenwerking met error_reporting(E_ALL) en een blik verse debug-lust ?

edit:

Je wilt trouwens dat iemand een file upload en dat upload jij weer naar een ftp-doos?
Maar je wilt dat er bij de client gechecked wordt of ie aan de afmetingen voldoet en dat wil je met php doen op de server?

Gaat niet lukken, tenzij ik je niet begrijp natuurlijk ;)

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 24-08 14:05

Willem2

Ω is futile

wat kan niet?

http://www.vddh.com/projects/w-nailer/uploadpics.php

QED :)

(ok, te grote files upload ie nu nog wel, maar ik denk dat het idee duidelijk is...)

en nee, ik houd niet van voetbal... :)


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Willem2 schreef op 27 augustus 2002 @ 13:24:
wat kan niet?

http://www.vddh.com/projects/w-nailer/uploadpics.php

QED :)

(ok, te grote files upload ie nu nog wel, maar ik denk dat het idee duidelijk is...)

Is niet echt mozilla compatible en als ik een jpg erin zet (ok JPG) vindt ie dat het geen jpg is :+
Wat probeerde je te bewijzen? :)

Magoed, het werkt aardig behalve dat het dus niet crossbrowser is.

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 24-08 14:05

Willem2

Ω is futile

het is een beginsel, is nu nog case sensitive, maar dat is niet erg shocking...

dat het niet volledig crossbrowser is, komt doordat Mozilla het document.filesize object niet ondersteunt. Opera heeft gewoon het hele DOM brak geimplementeerd.
Kan ik ook niets aan doen.... maar resolutie uitlezen van plaatjes kan wel degelijk client side en ook filesize (mmar dan alleen in MSIE voor zover ik weet). En dat wilde de topic starter toch? en dat wilde ik dus weer bewijzen dat het wel kon, aangezien een aantal mensen zei van niet... ;-)

en nee, ik houd niet van voetbal... :)


Verwijderd

Topicstarter
Je wilt trouwens dat iemand een file upload en dat upload jij weer naar een ftp-doos?
Maar je wilt dat er bij de client gechecked wordt of ie aan de afmetingen voldoet en dat wil je met php doen op de server?

Gaat niet lukken, tenzij ik je niet begrijp natuurlijk

-------
met php gaat 't dus niet lukken, daar ben ik nu oook uit ... hoe kan ik dan de afmetingen te pakken krijgen?

Verwijderd

Topicstarter
javascript dus :P
Pagina: 1