Upload controleren op content
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link rel="stylesheet" href="styles.css" type="text/css" media="screen" />
<link rel="shortcut icon" href="favicon.ico" />
<meta http-equiv="imagetoolbar" content="false" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DomainName.com</title>
<script language="JavaScript">
<!--
function isValid() {
var isOK = false;
if ((document.upload.name.value != '') && (document.upload.name.value.length > 1)) {
isOK = true;
}
else {
alert ('Geef je Signature een naam.')
isOK = false;
}
var fileName = document.upload.upfile.value.toLowerCase();
if((fileName.indexOf('.jpeg') != -1) ||
(fileName.indexOf('.jpe') != -1) ||
(fileName.indexOf('.jpg') != -1) ||
(fileName.indexOf('.gif') != -1) ||
(fileName.indexOf('.png') != -1) ) {
isOK = true;
}
else {
alert ('Verkeerde file name moet GIF PNG of JPEG JPG zijn.');
isOK = false;
}
if(isOK) {
showProgress();
}
return isOK;
}
function showProgress() {
document.getElementById("progress").style.visibility = 'visible';
document.getElementById("submit").disabled = true;
}
function hideProgress() {
document.getElementById("progress").style.visibility = 'hidden';
document.getElementById("submit").disabled = false;
}
//-->
</script>
</head>
<body>
<? include('includes/header.php'); ?>
<div id="main">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<?
if(isset($_FILES['upfile'])) {
require_once('mysqlvalues.inc.php');
require_once('mysqlfunc.inc.php');
open_conn();
$Name=my_addslashes($_POST[name]);
$LinkText=my_addslashes($_POST[linktext]);
$LinkUrl = trim(preg_replace('/http:\/\//', '', $_POST[linkurl], 1));
if($LinkUrl != '') {$LinkUrl="http://$LinkUrl";}
$res=mysql_query("INSERT INTO Models SET DateTime=NOW(), Name='$Name', Wins='0', Loses='0', Draws='0', Status='0', LinkText='$LinkText', LinkUrl='$LinkUrl'");
$id=mysql_insert_id();
$extension=explode('.', $_FILES['upfile']['name']);
$imagename=str_replace(' ', '', "$id" . ".$extension[1]");
if (move_uploaded_file($_FILES['upfile']['tmp_name'], "images/uploads/$imagename")) {
chmod("images/uploads/$imagename", 0777);
mysql_query("UPDATE Models SET Thumbnail='$imagename' WHERE ID='$id'");
$message="<br><strong>Bestand Ontvangen!<br/></strong>Het wordt gekeurd en gepost,meestal binnen 24 uur.<br/><br/><strong>You'll be able to see your submission at: <br/><a href=\"http://domainname.com/stats.php?id=$id\">http://domainname.com/stats.php?id=$id</a> <font color='red'>(save this link)</font></strong><br/><br/><br/>";
}else{mysql_query("DELETE FROM Models WHERE ID='$id'"); $message="<strong>Fout bij het ontvangen.</strong><br/><br/><br/>";}
close_conn();
echo"<tr>
<td width=\"150\" id=\"results\">
</td>
<td width=\"550\" id=\"vote\" align=\"left\">
<p>
$message
<br/>
<p><a href=\"upload.php\">Upload another picture</a>.</p>
</p>
<p align=\"center\"><a href=\"index.php\"><u>Begin nieuwe battle!</u></a></p>
</td>
<td width=\"150\" id=\"sponsor\">";
include('includes/rightbanners.php');
echo"<p align=\"center\">
</p>
</td>
</tr>";
}else{
echo"<tr>
<td width=\"150\" id=\"results\">
</td>
<td width=\"550\" id=\"vote\" align=\"left\">
<p>
<form action=\"upload.php\" onSubmit=\"return isValid()\" method=\"post\" name=\"upload\" enctype=\"multipart/form-data\">
<br/>
<strong>Submit your model for battle!</strong>
<ul>
<li>We bekijken je plaatje voor die online zichtbaar is.</li>
<li>Post Aub alleen signatures andere dingen worden verwijderd.</li>
<li>Plaatjes moeten geroteerd worden tot goeie orientatie.</li>
<li>.jpg .gif of .png formaten <strong><em>ONLY</em></strong>, Aub.</li>
</ul>
<p>
<br/><label><strong>Sig Naam:</strong> </label><input type=\"text\" name=\"name\" id=\"name\" maxlength=\"20\"/> <em>Required</em>
<br/><label><strong>Link Text:</strong> </label><input type=\"text\" name=\"linktext\" id=\"lintext\"/>
<br/><label><strong>Link Url:</strong> </label><input type=\"text\" name=\"linkurl\" id=\"linkurl\"/>
<br/><label><strong>Plaatje :</strong> </label><input type=\"file\" name=\"upfile\" id=\"upfile\" />
<br/><label> </label><input type=\"submit\" id=\"submit\" name=\"submit\" value=\"Upload Picture\"/> <span id=\"progress\"><img src=\"images/busy_blue.gif\"/> <strong>Uploading picture...</strong></span>
<script language=\"JavaScript\">
hideProgress();
</script>
</p>
</form>
<p><strong>Notice:</strong>Door materiaal te uploaden accepteert u de regel in onze <a href=\"legal.php\">disclaimer</a>.</p>
</p>
<p align=\"center\"><a href=\"index.php\"><u>Start een nieuwe battle!</u></a></p>
</td>
<td width=\"150\" id=\"sponsor\">";
include('includes/rightbanners.php');
echo"<p align=\"center\">
</p>
</td>
</tr>";
}
?>
</table>
</div>
<? include('includes/footer.php'); ?>
</div>
</body>
</html>
<html>
<head>
<link rel="stylesheet" href="styles.css" type="text/css" media="screen" />
<link rel="shortcut icon" href="favicon.ico" />
<meta http-equiv="imagetoolbar" content="false" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DomainName.com</title>
<script language="JavaScript">
<!--
function isValid() {
var isOK = false;
if ((document.upload.name.value != '') && (document.upload.name.value.length > 1)) {
isOK = true;
}
else {
alert ('Geef je Signature een naam.')
isOK = false;
}
var fileName = document.upload.upfile.value.toLowerCase();
if((fileName.indexOf('.jpeg') != -1) ||
(fileName.indexOf('.jpe') != -1) ||
(fileName.indexOf('.jpg') != -1) ||
(fileName.indexOf('.gif') != -1) ||
(fileName.indexOf('.png') != -1) ) {
isOK = true;
}
else {
alert ('Verkeerde file name moet GIF PNG of JPEG JPG zijn.');
isOK = false;
}
if(isOK) {
showProgress();
}
return isOK;
}
function showProgress() {
document.getElementById("progress").style.visibility = 'visible';
document.getElementById("submit").disabled = true;
}
function hideProgress() {
document.getElementById("progress").style.visibility = 'hidden';
document.getElementById("submit").disabled = false;
}
//-->
</script>
</head>
<body>
<? include('includes/header.php'); ?>
<div id="main">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<?
if(isset($_FILES['upfile'])) {
require_once('mysqlvalues.inc.php');
require_once('mysqlfunc.inc.php');
open_conn();
$Name=my_addslashes($_POST[name]);
$LinkText=my_addslashes($_POST[linktext]);
$LinkUrl = trim(preg_replace('/http:\/\//', '', $_POST[linkurl], 1));
if($LinkUrl != '') {$LinkUrl="http://$LinkUrl";}
$res=mysql_query("INSERT INTO Models SET DateTime=NOW(), Name='$Name', Wins='0', Loses='0', Draws='0', Status='0', LinkText='$LinkText', LinkUrl='$LinkUrl'");
$id=mysql_insert_id();
$extension=explode('.', $_FILES['upfile']['name']);
$imagename=str_replace(' ', '', "$id" . ".$extension[1]");
if (move_uploaded_file($_FILES['upfile']['tmp_name'], "images/uploads/$imagename")) {
chmod("images/uploads/$imagename", 0777);
mysql_query("UPDATE Models SET Thumbnail='$imagename' WHERE ID='$id'");
$message="<br><strong>Bestand Ontvangen!<br/></strong>Het wordt gekeurd en gepost,meestal binnen 24 uur.<br/><br/><strong>You'll be able to see your submission at: <br/><a href=\"http://domainname.com/stats.php?id=$id\">http://domainname.com/stats.php?id=$id</a> <font color='red'>(save this link)</font></strong><br/><br/><br/>";
}else{mysql_query("DELETE FROM Models WHERE ID='$id'"); $message="<strong>Fout bij het ontvangen.</strong><br/><br/><br/>";}
close_conn();
echo"<tr>
<td width=\"150\" id=\"results\">
</td>
<td width=\"550\" id=\"vote\" align=\"left\">
<p>
$message
<br/>
<p><a href=\"upload.php\">Upload another picture</a>.</p>
</p>
<p align=\"center\"><a href=\"index.php\"><u>Begin nieuwe battle!</u></a></p>
</td>
<td width=\"150\" id=\"sponsor\">";
include('includes/rightbanners.php');
echo"<p align=\"center\">
</p>
</td>
</tr>";
}else{
echo"<tr>
<td width=\"150\" id=\"results\">
</td>
<td width=\"550\" id=\"vote\" align=\"left\">
<p>
<form action=\"upload.php\" onSubmit=\"return isValid()\" method=\"post\" name=\"upload\" enctype=\"multipart/form-data\">
<br/>
<strong>Submit your model for battle!</strong>
<ul>
<li>We bekijken je plaatje voor die online zichtbaar is.</li>
<li>Post Aub alleen signatures andere dingen worden verwijderd.</li>
<li>Plaatjes moeten geroteerd worden tot goeie orientatie.</li>
<li>.jpg .gif of .png formaten <strong><em>ONLY</em></strong>, Aub.</li>
</ul>
<p>
<br/><label><strong>Sig Naam:</strong> </label><input type=\"text\" name=\"name\" id=\"name\" maxlength=\"20\"/> <em>Required</em>
<br/><label><strong>Link Text:</strong> </label><input type=\"text\" name=\"linktext\" id=\"lintext\"/>
<br/><label><strong>Link Url:</strong> </label><input type=\"text\" name=\"linkurl\" id=\"linkurl\"/>
<br/><label><strong>Plaatje :</strong> </label><input type=\"file\" name=\"upfile\" id=\"upfile\" />
<br/><label> </label><input type=\"submit\" id=\"submit\" name=\"submit\" value=\"Upload Picture\"/> <span id=\"progress\"><img src=\"images/busy_blue.gif\"/> <strong>Uploading picture...</strong></span>
<script language=\"JavaScript\">
hideProgress();
</script>
</p>
</form>
<p><strong>Notice:</strong>Door materiaal te uploaden accepteert u de regel in onze <a href=\"legal.php\">disclaimer</a>.</p>
</p>
<p align=\"center\"><a href=\"index.php\"><u>Start een nieuwe battle!</u></a></p>
</td>
<td width=\"150\" id=\"sponsor\">";
include('includes/rightbanners.php');
echo"<p align=\"center\">
</p>
</td>
</tr>";
}
?>
</table>
</div>
<? include('includes/footer.php'); ?>
</div>
</body>
</html>
Leg uit, want de content van een plaatje kun je niet scannen...
daar wil ik op controleren heb het eerder gezien maar weet niet meer waar
http://nl2.php.net/manual/en/ref.fileinfo.php
De functie fileinfo_file() doet dit. Je moet echter wel die library geinstalleerd hebben. Maar deze methode is dus ook niet bulletproof.
Ik heb verder ook wel eens gezocht naar een andere oplossing maar die is er niet. Wat je evt wel nog zou kunnen doen is proberen er een image object van te maken mbv imagecreatefromjpeg() oid. Deze zal falen als het plaatje niet correct is gok ik. Ik weet niet zeker of deze methode werkt aangezien ik 't nog nooit getest heb.
De functie fileinfo_file() doet dit. Je moet echter wel die library geinstalleerd hebben. Maar deze methode is dus ook niet bulletproof.
Ik heb verder ook wel eens gezocht naar een andere oplossing maar die is er niet. Wat je evt wel nog zou kunnen doen is proberen er een image object van te maken mbv imagecreatefromjpeg() oid. Deze zal falen als het plaatje niet correct is gok ik. Ik weet niet zeker of deze methode werkt aangezien ik 't nog nooit getest heb.
Gewijzigd op 01/01/1970 01:00:00 door Roy Bongers