Ik heb een probleem met een php-script om bestanden te uploaden naar mijn webserver.
Als ik het script (zie onderstaand) upload naar de webserver van mijn hosting provider (LAMP) dan werkt het goed. upload ik het script naar mijn eigen webserver (WAMP), dan stopt de parsing van het script op het moment dat er een > in het script voorkomt.
De uitvoer van het script is dan:
De uitvoer van de code begint dus vanaf regel 55 na de > in onderstaand script.
Het zal waarschijnlijk een instelling zijn van m'n webserver, maar ik kan er niet achter komen wat het is. Ik heb o.a. de gd2 extensie in php.ini aangezet, maar zonder resultaat. Ook in de logs van Apache zie ik niks wat hiermee te maken kan hebben.
Kan iemand me hiermee op weg helpen? Ik weet ook niet of het met apache(2.2.11) te maken heeft of met PHP (5.2.9-1).
Dit is het script dat ik gebruik voor de upload (ik denk niet dat het helemaal relevant zal zijn, maar toch maar voor de volledigheid):
Als ik het script (zie onderstaand) upload naar de webserver van mijn hosting provider (LAMP) dan werkt het goed. upload ik het script naar mijn eigen webserver (WAMP), dan stopt de parsing van het script op het moment dat er een > in het script voorkomt.
De uitvoer van het script is dan:
$max_size) { echo"Bestand is te groot: ".$_FILES['image']['size'][$i]." / ".$max_size." \n"; } elseif(!empty($max_thumb) && $_FILES['image']['width'][$i] > $max_size) { echo"Bestand is te groot: ".$_FILES['image']['size'][$i]." / ".$max_size." \n"; } elseif(!isset($extfout)){ } else { if(move_uploaded_file($_FILES['image']['tmp_name'][$i], "./img/".$foto_name.".".$bestand3)) { echo " ".$_FILES['image']['name'][$i]." is succesvol geupload. \n"; //echo $_FILES['image']['size'][$i]; //echo " \n"; echo " Je kan het plaatje in een topic laten zien door de volgende code erin te zettten: "; echo "[img=img/".$foto_name.".".$bestand3."] "; } else { echo $_FILES['image']['name'][$i]." kon niet geupload worden. \n"; } } } else { echo "Ongeldig bestandstype: ".$type." \n"; } } else { echo "Geen file geselecteerd. \n"; } } } else { if($user==TRUE){ ?> Aantal: "; echo ""; } ?>
De uitvoer van de code begint dus vanaf regel 55 na de > in onderstaand script.
Het zal waarschijnlijk een instelling zijn van m'n webserver, maar ik kan er niet achter komen wat het is. Ik heb o.a. de gd2 extensie in php.ini aangezet, maar zonder resultaat. Ook in de logs van Apache zie ik niks wat hiermee te maken kan hebben.
Kan iemand me hiermee op weg helpen? Ik weet ook niet of het met apache(2.2.11) te maken heeft of met PHP (5.2.9-1).
Dit is het script dat ik gebruik voor de upload (ik denk niet dat het helemaal relevant zal zijn, maar toch maar voor de volledigheid):
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
| <? //Instellingen $forms = 1; //Standaard aantal file uploads $user = TRUE; //User kan aangeven dat hij meer files wil uploaden $max_size = 924288; //Maximale bestands grootte, 0 voor ongelimiteerd $max_thumb = 300; //Maximale hoogte dan wel breedte van de thumb. $ext = "jpg jpeg gif png"; // Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen ) // Toegestaande extensies opvragen $ext = strtolower($ext); $ext = explode(" ", $ext); $aantal = count($ext); if(isset($_POST['forms']) && $user==TRUE) { $forms=$_POST['forms']; } ?> <html> <head> <title>Upload image</title> </head> <body> <? if(isset($_POST['submit'])) { $aantal=count($_FILES['image']['type']); $i=0; for($i=0;$i<$aantal;$i++) { $foto_name = time()."_".rand(1,999); //$foto_name=$_FILES['image']['name'][$i]; if(!empty($_FILES['image']['tmp_name'][$i])) { $type= $_FILES['image']['type'][$i]; // Bestands naam opvragen $bestand2 = explode("\\", $_FILES['image']['name'][$i]); $laatste = count($bestand2) - 1; $bestand2 = "$bestand2[$laatste]"; // Extensie van bestand opvragen $bestand3 = explode(".", $bestand2); $laatste = count($bestand3) - 1; $bestand3 = "$bestand3[$laatste]"; $bestand3 = strtolower($bestand3); for ($tel = 0;$tel < $aantal; $tel++){ if (in_array($bestand3,$ext)){ $extfout = "nee"; } } if($type == "image/gif" OR $type == "image/jpeg"){ if(!empty($max_size) && $_FILES['image']['size'][$i] > $max_size) { echo"Bestand is te groot: ".$_FILES['image']['size'][$i]." / ".$max_size."<br>\n"; } elseif(!empty($max_thumb) && $_FILES['image']['width'][$i] > $max_size) { echo"Bestand is te groot: ".$_FILES['image']['size'][$i]." / ".$max_size."<br>\n"; } elseif(!isset($extfout)){ } else { if(move_uploaded_file($_FILES['image']['tmp_name'][$i], "./img/".$foto_name.".".$bestand3)) { echo "<br>".$_FILES['image']['name'][$i]." is succesvol geupload.<br \>\n"; //echo $_FILES['image']['size'][$i]; //echo "<img src=\"./img/".$foto_name."\" \><br \>\n"; echo "<br> Je kan het plaatje in een topic laten zien door de volgende code erin te zettten:<br>"; echo "<i>[img=img/".$foto_name.".".$bestand3."]</i><br>"; } else { echo $_FILES['image']['name'][$i]." kon niet geupload worden.<br \>\n"; } } } else { echo "Ongeldig bestandstype: ".$type."<br>\n"; } } else { echo "Geen file geselecteerd.<br>\n"; } } } else { if($user==TRUE){ ?> <FORM NAME="select" METHOD="POST" action="<?echo$_SERVER['PHP_SELF'];?>"> Aantal: <SELECT name="forms" onchange="javascript:document.select.submit();"> <? for($i=1;$i<11;$i++){ ?> <option value="<?=$i?>"><?=$i?></option> <? } echo "</SELECT>"; echo "</FORM>"; } ?> <FORM NAME="upload_form" METHOD="POST" ACTION="<?echo$_SERVER['PHP_SELF'];?>" ENCTYPE="multipart/form-data"> <? for($i=0;$i<$forms;$i++){ ?> <INPUT TYPE="file" value="1" NAME="image[<?=$i?>]" \><br \> <? } echo "<INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"Upload\">"; echo "</FORM>"; } ?> </body> </html> |