Afbeelding upload validatie probleem
Ik heb een offerte aanvraag formulier waar je een afbeelding kan toevoegen/uploaden. Nu is het zo dat als er nog problemen zijn zoals een vergeten veld of een te grote afbeelding hij toch heel lang blijft laden alsof die hem toch aan het uploaden is ook al lijkt me dit niet het geval.
Als ik bijv een video als test selecteer blijft die zeker 30 seconden laden alvorens de error extensie klopt niet te geven...
Dit is mijn code om de afbeelding te valideren:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
// Start afbeelding #1
$image = $_FILES["afbeelding_uno"]["name"];
$uploadedfile = $_FILES['afbeelding_uno']['tmp_name'];
$dir = '/assets/images/telefoon_reparatie_afbeeldingen/';
$Afbeeldingdir = './assets/images/telefoon_reparatie_afbeeldingen/';
$length = 5;
$randomString = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
if ($_FILES['afbeelding_uno']['name'] != '')
{
$filename = stripslashes($_FILES['afbeelding_uno']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
$errors[] .= 'Afbeelding extensie is geen JPG of PNG, hernoem de afbeelding extensie.';
}
// Niet groter als 500kb uploaden.
if (getimagesize($_FILES['afbeelding_uno']['name']) > 512000)
{
$errors[] .= 'Afbeelding 1 is groter dan 500kb ';
}
}
// Einde afbeelding 1.
?>
// Start afbeelding #1
$image = $_FILES["afbeelding_uno"]["name"];
$uploadedfile = $_FILES['afbeelding_uno']['tmp_name'];
$dir = '/assets/images/telefoon_reparatie_afbeeldingen/';
$Afbeeldingdir = './assets/images/telefoon_reparatie_afbeeldingen/';
$length = 5;
$randomString = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
if ($_FILES['afbeelding_uno']['name'] != '')
{
$filename = stripslashes($_FILES['afbeelding_uno']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
$errors[] .= 'Afbeelding extensie is geen JPG of PNG, hernoem de afbeelding extensie.';
}
// Niet groter als 500kb uploaden.
if (getimagesize($_FILES['afbeelding_uno']['name']) > 512000)
{
$errors[] .= 'Afbeelding 1 is groter dan 500kb ';
}
}
// Einde afbeelding 1.
?>
De code om te uploaden staat onderaan het script waarbij er gekeken wordt of er niet nog errors zijn, zo niet uploaden.
Gewijzigd op 29/03/2016 13:24:56 door Furio Scripting
Quote:
Als ik bijv een video als test selecteer blijft die zeker 30 seconden laden alvorens de error extensie klopt niet te geven...
Waarschijnlijk omdat de browser nog bezig is met uploaden dan?
Hoe is je upload snelheid?
En wat verwacht je dat het script zou doen dan? De upload afkappen?
Thomas van den Heuvel op 29/03/2016 13:34:17:
Waarschijnlijk omdat de browser nog bezig is met uploaden dan?
Hoe is je upload snelheid?
En wat verwacht je dat het script zou doen dan? De upload afkappen?
Quote:
Als ik bijv een video als test selecteer blijft die zeker 30 seconden laden alvorens de error extensie klopt niet te geven...
Waarschijnlijk omdat de browser nog bezig is met uploaden dan?
Hoe is je upload snelheid?
En wat verwacht je dat het script zou doen dan? De upload afkappen?
Ik had verwacht dat die niets gaat uploaden maar enkel eerst valideert of het bestand in orde is om nadat alle andere velden ook gevalideerd zijn geüpload te worden.
Dus als ik een .exe bestand selecteer, het form submit, wil ik direct zien extensie niet juist maar nu gaat die eerst 3 minuten iets doen waarna die pas de melding weergeeft extensie niet in orde....
Wat kan dit zijn?
Dat is gewoon de upload, zoals gezegd. Het bestand zal altijd geupload worden, en daarna wordt je script gestart.
Ben van Velzen op 29/03/2016 14:08:04:
Dat is gewoon de upload, zoals gezegd. Het bestand zal altijd geupload worden, en daarna wordt je script gestart.
Maar in mijn code staat nergens een functie voor het uploaden enkel validatie functies of zal die standaard als je in een file input een form submit het uploaden naar een temporary locatie ongeacht of de validatie klopt?
EDIT: Als je hier: http://postimage.org/ een afbeelding upload van 10 mb bijv zegt die direct afbeelding size te groot zonder eerst 30 seconden te laden....
Gewijzigd op 29/03/2016 14:51:13 door Furio Scripting
Wil je sommige dingen sneller laten zien dan zul je dat aan de client-site (Javascript) moeten doen.
- SanThe - op 29/03/2016 14:55:28:
De server (PHP) moet eerst het bestand uploaden om het te kunnen valideren.
Wil je sommige dingen sneller laten zien dan zul je dat aan de client-site (Javascript) moeten doen.
Wil je sommige dingen sneller laten zien dan zul je dat aan de client-site (Javascript) moeten doen.
Oke dit vermoeden had ik inderdaad al maar fijn om het bevestigd te krijgen.
Dan gaan we het maar client side sneller valideren.
Furio Scripting op 29/03/2016 15:06:41:
Oke dit vermoeden had ik inderdaad al maar fijn om het bevestigd te krijgen.
Dan gaan we het maar client side sneller valideren.
- SanThe - op 29/03/2016 14:55:28:
De server (PHP) moet eerst het bestand uploaden om het te kunnen valideren.
Wil je sommige dingen sneller laten zien dan zul je dat aan de client-site (Javascript) moeten doen.
Wil je sommige dingen sneller laten zien dan zul je dat aan de client-site (Javascript) moeten doen.
Oke dit vermoeden had ik inderdaad al maar fijn om het bevestigd te krijgen.
Dan gaan we het maar client side sneller valideren.
Hou er rekening mee dat javascript door de gebruiker gemanipuleerd kan worden. Het is altijd verstandig om alsnog serverside te valideren.