[PHP ] Image upload - limited size

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Besten,

Ik probeer hier een kleine applicatie te maken waarbij je een tekstje kan schrijven en een foto bij kan uploaden. Alles werkt goed, maar kwam op iets raars uit. Vanaf de image een bepaalde breedte heeft ( bv. 600px ) dan gaat hij deze niet uploaden en dus ook niet tonen. Al vind ik niets speciaals in mijn code. Kan dit iets server matigs zijn ?

Hierbij de stukken code :

PHP: filename
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        if (isset($_FILES["file"])){
            $naam = $_FILES["file"]["name"];
            // de spaties uit het bestand halen
            $naam = str_replace(" ", "_", $naam);
            $artikelid = mysql_insert_id();
            $naam = mysql_insert_id() . "_" . $naam ;
            $doelbestand= "folder/articleimgs/".$naam;
            $bronbestand= $_FILES["file"]["tmp_name"];
            $verplaats=move_uploaded_file($bronbestand,$doelbestand);
            if ($verplaats) {
           //zet de image naam in de db
               insertimage($naam, $artikelid);
                } else {
               echo "error";
                }
        
     }


En de html:

<input type="hidden" name="MAX_FILE_SIZE" value="80000">
<input name="file" type="file" size="60" />

De bestanden gaan niet over max file size, maar ik denk eerder over de breedte . . .

Iemand een idee ?

Alvast bedankt!

DiGiTi

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Waarom gaat het uploaden precies niet goed? Wat is de waarde van $_FILES['file']['error'], en wat betekent die waarde?
Lees ook dit eens door.

[ Voor 27% gewijzigd door GlowMouse op 23-02-2007 14:08 ]


Acties:
  • 0 Henk 'm!

  • satyriasis
  • Registratie: Januari 2000
  • Laatst online: 19-09 14:37
Je weet zeker dat het plaatje niet groter is al 80000 bytes?? Dat is het enige wat ik me zo snel kan bedenken....

edit:
Hmm vooral de link van glowmouse ff doorlezen, staat een hoop goede info in.

[ Voor 29% gewijzigd door satyriasis op 23-02-2007 14:12 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
als ik de error vraag geeft hij 0

Wat betekent:

UPLOAD_ERR_OK

Value: 0; There is no error, the file uploaded with success.


Maar er komt geen image in de map bij . . . terwijl als ik de image naar een kleinere afbeelding omzet, bv 300px width, dan upload hij dit wel...

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Het stukje met MAX_FILE_SIZE in je HTML is nutteloos, browsers negeren dit gewoon.

De size="60" kan je beter weghalen, je kunt nu alleen maar bestanden uploaden waarvan de volledige padnaam (C:/plaatjes/plaatje.jpg bijv.) korter is dan 60 tekens.

Controleer in je php.ini of de memory_limit, post_max_size en upload_max_filesize ruim genoeg zijn.

Acties:
  • 0 Henk 'm!

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

Janoz

Moderator Devschuur®

!litemod

De hele upload heeft geen enkele notie van de breedte van het plaatje. Heck, het heeft niet eens door of het een plaatje is. Het kan enkel de maximale grootte zijn, anders zit het probleem ergens in je insertimage functie.

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!

  • satyriasis
  • Registratie: Januari 2000
  • Laatst online: 19-09 14:37
Post idd je insertimage functie eens, de kans is groot dat daar je probleem zit.

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Janoz schreef op vrijdag 23 februari 2007 @ 14:18:
De hele upload heeft geen enkele notie van de breedte van het plaatje. Heck, het heeft niet eens door of het een plaatje is. Het kan enkel de maximale grootte zijn, anders zit het probleem ergens in je insertimage functie.
Het bestand wordt niet eens in de doelmap geplaatst volgens hem. Dus die functie heeft er helemaal niets mee te maken.

Acties:
  • 0 Henk 'm!

  • satyriasis
  • Registratie: Januari 2000
  • Laatst online: 19-09 14:37
Wat is het resultaat van move_uploaded_file($bronbestand,$doelbestand) dan?? want dat is ff belangrijk in deze discussie.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
HuHu schreef op vrijdag 23 februari 2007 @ 14:18:
Het stukje met MAX_FILE_SIZE in je HTML is nutteloos, browsers negeren dit gewoon.

De size="60" kan je beter weghalen, je kunt nu alleen maar bestanden uploaden waarvan de volledige padnaam (C:/plaatjes/plaatje.jpg bijv.) korter is dan 60 tekens.

Controleer in je php.ini of de memory_limit, post_max_size en upload_max_filesize ruim genoeg zijn.
Jawel! Daar zat het probleem

upload_max_filesize stond maar op 0,5 MB ! Bedankt voor de tip, was niet op m'n eigen server aan het werken en hebben ze die hier blijkbaar verlaagd.

Thanks for the help!

Edit: Trouwens bedankt allemaal voor de zéér snelle respons tijd op m'n vraag. Jullie zijn een grote hulp!

[ Voor 7% gewijzigd door Verwijderd op 23-02-2007 14:28 ]


Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
satyriasis schreef op vrijdag 23 februari 2007 @ 14:24:
Wat is het resultaat van move_uploaded_file($bronbestand,$doelbestand) dan?? want dat is ff belangrijk in deze discussie.
Die is false, want:
Verwijderd schreef op vrijdag 23 februari 2007 @ 14:16:
... er komt geen image in de map bij ...

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Verwijderd schreef op vrijdag 23 februari 2007 @ 14:27:
[...]
Jawel! Daar zat het probleem

upload_max_filesize stond maar op 0,5 MB ! Bedankt voor de tip, was niet op m'n eigen server aan het werken en hebben ze die hier blijkbaar verlaagd.
Vreemd dat je dan de waarde van error dan niet UPLOAD_ERR_INI_SIZE was.

Oh wacht, dat staat daar ook in de comments:
So, to repeat it for all, check your php.ini, post_max_size should be bigger than upload_max_filesize, otherwise you will not be able to report the correct error in case of a too big upload !

[ Voor 32% gewijzigd door GlowMouse op 23-02-2007 14:41 ]

Pagina: 1