Test deze webeditor
Ik heb na veel zwoegen eindelijk een webeditor kunnen maken, 't is te zeggen, ik heb tinymc geïntergreerd op mij pagina.( zie:
http://www.hermancandries.be/webeditor/index.php)
Ik heb er ook een scipt tussen gestoken om foto's up te loaden, en dat begint nu voor problemen te zorgen. Probeer maar ens als je al een foto gebruikt op "verzend!" te drukken...
hier is mijn "image-upload script"
Hoe komt het dat als ik $_FILES['bestand'] niet invul, dat het toch begint ?
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
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
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
<?
set_time_limit(120);
if( $_FILES['bestand'] != "") {
$dir = "images/"; // map voor images
$thumb_dir = "images/thumbs/"; // map voor thums
$maxsize = 100000000; // maximum groote images
$max_y = 170; // maximum hoogte thumbs
$max_x = 170; // maximum breedte thumbs
$pathinfo = pathinfo($_FILES['bestand']['name']);
$ext = $pathinfo["extension"];
switch($ext){
case "jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
case "bmp" : $wrongext = 1;
break;
}
if(isset($wrongext)){
$error = "Verkeerde Extensie. Voeg een andere foto toe (jpg, jpeg, gif of png).<p>";
}else{
if($_FILES['bestand']['size'] > $maxsize){
$error = "Bestand is te groot";
}else{
$succes = true;
}
}
$a = ".$ext";
$naam= @foto_. date("dmyHis") .$a;
if(!isset($succes) || isset($error)){
echo "<b>Er is een fout op getreden:</b><br>";
echo $error;
@imagedestroy($thumb);
}else{
move_uploaded_file($_FILES['bestand']['tmp_name'], $dir.$naam) or die("Onze excuses, maar het kan niet uploaden.
Waarschijnlijk is uw foto te groot.<br>
<A HREF=\"index.php\">Ga Terug en probeer iets anders!</A> ");
$x = imagesx($thumb);
$y = imagesy($thumb);
if($max_x<$x){
$eind = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x)) or die("Fout: imagecreattreucolor() 1");
}
else {}
if($max_y<$y){
$eind = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y)) or die("Fout: imagecreattreucolor() 2");
}
else {}
@imagecopyresized($eind, $thumb, 0, 0, 0, 0, imagesx($eind), imagesy($eind), $x, $y) or die("Fout: imagecopyresized()");
@imagegif($eind, $thumb_dir.$naam) or die("Fout: imagegif()");
@imagedestroy($thumb);
@imagedestroy($eind);
}
}
?>
set_time_limit(120);
if( $_FILES['bestand'] != "") {
$dir = "images/"; // map voor images
$thumb_dir = "images/thumbs/"; // map voor thums
$maxsize = 100000000; // maximum groote images
$max_y = 170; // maximum hoogte thumbs
$max_x = 170; // maximum breedte thumbs
$pathinfo = pathinfo($_FILES['bestand']['name']);
$ext = $pathinfo["extension"];
switch($ext){
case "jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
case "bmp" : $wrongext = 1;
break;
}
if(isset($wrongext)){
$error = "Verkeerde Extensie. Voeg een andere foto toe (jpg, jpeg, gif of png).<p>";
}else{
if($_FILES['bestand']['size'] > $maxsize){
$error = "Bestand is te groot";
}else{
$succes = true;
}
}
$a = ".$ext";
$naam= @foto_. date("dmyHis") .$a;
if(!isset($succes) || isset($error)){
echo "<b>Er is een fout op getreden:</b><br>";
echo $error;
@imagedestroy($thumb);
}else{
move_uploaded_file($_FILES['bestand']['tmp_name'], $dir.$naam) or die("Onze excuses, maar het kan niet uploaden.
Waarschijnlijk is uw foto te groot.<br>
<A HREF=\"index.php\">Ga Terug en probeer iets anders!</A> ");
$x = imagesx($thumb);
$y = imagesy($thumb);
if($max_x<$x){
$eind = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x)) or die("Fout: imagecreattreucolor() 1");
}
else {}
if($max_y<$y){
$eind = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y)) or die("Fout: imagecreattreucolor() 2");
}
else {}
@imagecopyresized($eind, $thumb, 0, 0, 0, 0, imagesx($eind), imagesy($eind), $x, $y) or die("Fout: imagecopyresized()");
@imagegif($eind, $thumb_dir.$naam) or die("Fout: imagegif()");
@imagedestroy($thumb);
@imagedestroy($eind);
}
}
?>
Omdat er al hjhh in staat zodra ik de pagina open.
Normaal krijg je dan een input veld met "bladeren" zodat je zelf een image kunt uploaden.
Maar de bedoeling is dus dat als je die foto(bv die met de visjes) wil laten staan, dat je toch de tekst kunt wijzigen. Ik dacht dit te kunnen bekomen door
maar dat gaat niet! Probeer maar eens gewoon op "verzend" te drukken, zonder een foto toe te voegen, dat zal
"Onze excuses, maar het kan niet uploaden. Waarschijnlijk is uw foto te groot.
Ga Terug en probeer iets anders!"
opleveren.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if (is_uploaded_file (($_FILES['bestand']['tmp_name'])) {
// verdere checks
}
?>
if (is_uploaded_file (($_FILES['bestand']['tmp_name'])) {
// verdere checks
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Ik heb hiervoor nochtans dit script gemaakt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (isset($_FILES['bestand'])) {
mysql_query("UPDATE fototabel SET naam='$naam' , datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
else {
mysql_query("UPDATE fototabel SET datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
?>
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (isset($_FILES['bestand'])) {
mysql_query("UPDATE fototabel SET naam='$naam' , datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
else {
mysql_query("UPDATE fototabel SET datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
?>
=>Als er dus op "verzend" gedrukt wordt, zou - als er al een foto is - enkel datum, korte naam en commentaar, en niet de fotonaam zelf, geüpdate moeten worden.
PS. En hoe komt het eigenlijk dat sommige jpg's eb gif's niet werken? Iets met foute functie imagesx, maar dat zou correct moeten zijn.
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
if ($_SERVER['REQUEST_METHOD'] == "POST") {
[code]<?
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if ( $_FILES['bestand']['name'] != "" ) {
mysql_query("UPDATE fototabel SET naam='$naam' , datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
else {
mysql_query("UPDATE fototabel SET datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
?>
mysql_query("UPDATE fototabel SET naam='$naam' , datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
else {
mysql_query("UPDATE fototabel SET datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
?>
if ($_SERVER['REQUEST_METHOD'] == "POST") {
[code]<?
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if ( $_FILES['bestand']['name'] != "" ) {
mysql_query("UPDATE fototabel SET naam='$naam' , datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
else {
mysql_query("UPDATE fototabel SET datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
?>
mysql_query("UPDATE fototabel SET naam='$naam' , datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
else {
mysql_query("UPDATE fototabel SET datum='$datum' , comment='$comment' , kort='$kort'
WHERE pagina='1'");
}
?>
..zijn. Alleen krijg ik nog bij sommige foto's
Warning: imagesx(): supplied argument is not a valid Image resource in /home/hermanca/public_html/webeditor/index.php on line 191
Warning: imagesy(): supplied argument is not a valid Image resource in /home/hermanca/public_html/webeditor/index.php on line 193
Fout: imagecopyresized()
Hoe komt dit? imagesx() is toch wel valid?
Alvast erg bedankt, Jan!!
Sasa?
Hoe doe je dat, dat je boven je textvak van die opmaak dingen hebt? zoals Text vergroote en Vetgedrukte dingen enzo? (B)
Dat zoek ik al een tijdje maar kom nergens uit =(
fckeditor
google daarmaar eens op.
Michel, het zou kunnen dat het niet klopt, maar het werkt toch...
Ik ben nog wat bezig geweest met dit script. Alleen heb ik soms nog problemen dat er niet kan geresized worden. Probeer maar gewoon eens random foto's up te loaden [http://www.hermancandries.be/webeditor], af en toe zal je wel deze warnings krijgen:
Warning: imagesx(): supplied argument is not a valid Image resource in /home/hermanca/public_html/webeditor/index.php on line 110
Warning: imagesy(): supplied argument is not a valid Image resource in /home/hermanca/public_html/webeditor/index.php on line 112
Warning: imagesx(): supplied argument is not a valid Image resource in /home/hermanca/public_html/webeditor/index.php on line 127
Warning: imagesy(): supplied argument is not a valid Image resource in /home/hermanca/public_html/webeditor/index.php on line 127
Warning: imagecopyresized(): supplied argument is not a valid Image resource in /home/hermanca/public_html/webeditor/index.php on line 127
Fout: imagecopyresized()
Al deze fouten doen zich voor in dit stukje van het script:
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
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
<?
move_uploaded_file($_FILES['bestand']['tmp_name'], $dir.$naam) or die("Onze excuses, maar het kan niet uploaden.
Waarschijnlijk is uw foto te groot.<br>
<A HREF=\"index.php\">Ga Terug en probeer iets anders!</A> ");
$x = imagesx($thumb);
$y = imagesy($thumb);
if($max_x<$x){
$eind = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x)) or die("Fout: imagecreattreucolor() 1");
}
else {}
if($max_y<$y){
$eind = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y)) or die("Fout: imagecreattreucolor() 2");
}
else {}
imagecopyresized($eind, $thumb, 0, 0, 0, 0, imagesx($eind), imagesy($eind), $x, $y) or die("Fout: imagecopyresized()");
imagegif($eind, $thumb_dir.$naam) or die("Fout: imagegif()");
imagedestroy($thumb);
imagedestroy($eind);
?>
move_uploaded_file($_FILES['bestand']['tmp_name'], $dir.$naam) or die("Onze excuses, maar het kan niet uploaden.
Waarschijnlijk is uw foto te groot.<br>
<A HREF=\"index.php\">Ga Terug en probeer iets anders!</A> ");
$x = imagesx($thumb);
$y = imagesy($thumb);
if($max_x<$x){
$eind = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x)) or die("Fout: imagecreattreucolor() 1");
}
else {}
if($max_y<$y){
$eind = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y)) or die("Fout: imagecreattreucolor() 2");
}
else {}
imagecopyresized($eind, $thumb, 0, 0, 0, 0, imagesx($eind), imagesy($eind), $x, $y) or die("Fout: imagecopyresized()");
imagegif($eind, $thumb_dir.$naam) or die("Fout: imagegif()");
imagedestroy($thumb);
imagedestroy($eind);
?>
Eigenlijk zou er nog een button in moeten om een link te kunnen maken
http://www.hermancandries.be/webeditor/) vanzelf "aanklikbaar". En hebben jullie problemen gehad met de foto's?
En een vraagje: hoe komt het dat sommige foto's alleen de breedte resizen en niet de lengte?
Er staat toch
Normaal worden links (bv En een vraagje: hoe komt het dat sommige foto's alleen de breedte resizen en niet de lengte?
Er staat toch
controleer ook ff ergens of het wel een foto is....
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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
<?
if( $_FILES['bestand'] != "") {
$dir = "images/"; // map voor images
$thumb_dir = "images/thumbs/"; // map voor thums
$maxsize = 100000000; // maximum groote images
$max_y = 170; // maximum hoogte thumbs
$max_x = 170; // maximum breedte thumbs
$pathinfo = pathinfo($_FILES['bestand']['name']);
$ext = $pathinfo["extension"];
switch($ext){
case "jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
default : $wrongext = 1;
}
if(isset($wrongext)){
$error = "Verkeerde Extensie. Voeg een andere foto toe (jpg, jpeg, gif of png).<p>";
}else{
if($_FILES['bestand']['size'] > $maxsize){
$error = "Bestand is te groot";
}else{
$succes = true;
}
}
?>
if( $_FILES['bestand'] != "") {
$dir = "images/"; // map voor images
$thumb_dir = "images/thumbs/"; // map voor thums
$maxsize = 100000000; // maximum groote images
$max_y = 170; // maximum hoogte thumbs
$max_x = 170; // maximum breedte thumbs
$pathinfo = pathinfo($_FILES['bestand']['name']);
$ext = $pathinfo["extension"];
switch($ext){
case "jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
default : $wrongext = 1;
}
if(isset($wrongext)){
$error = "Verkeerde Extensie. Voeg een andere foto toe (jpg, jpeg, gif of png).<p>";
}else{
if($_FILES['bestand']['size'] > $maxsize){
$error = "Bestand is te groot";
}else{
$succes = true;
}
}
?>
Met dus "default : $wrongext = 1;", maar dan werkten plots de helft van de foto's (gif's en jpg's) niet meer... Zijn er misschien onderverdeling in jpg en gif, dat sommige wel en anderen niet werken?
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
39
40
41
42
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
<?
$pathinfo = pathinfo($_FILES['bestand']['name']);
$ext = $pathinfo["extension"];
switch($ext){
case "jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "JPG" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "JPEG" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "GIF" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
case "PNG" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
default : $wrongext = 1;
}
if(isset($wrongext)){
$error = "<span style=\"color: red\">Verkeerde Extensie. Voeg een andere foto toe (jpg, jpeg, gif of png).</span><p>";
?>
$pathinfo = pathinfo($_FILES['bestand']['name']);
$ext = $pathinfo["extension"];
switch($ext){
case "jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "JPG" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "JPEG" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "GIF" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
case "PNG" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
default : $wrongext = 1;
}
if(isset($wrongext)){
$error = "<span style=\"color: red\">Verkeerde Extensie. Voeg een andere foto toe (jpg, jpeg, gif of png).</span><p>";
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
switch(strtolower($ext)){
case "jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
default : $wrongext = 1;
}
?>
switch(strtolower($ext)){
case "jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
default : $wrongext = 1;
}
?>