file upload utf8
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
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
<?php
function upload($file_id, $folder="", $types="",$naam, $voornaam,$geboortedatum,$geboorteplaats,$infoNL,$infoEN,$sterfdatum) {
if(!$_FILES[$file_id]['name']) return array('','No file specified');
$file_title = $_FILES[$file_id]['name'];
//Get file extension
$ext_arr = split("\.",basename($file_title));
$ext = strtolower($ext_arr[count($ext_arr)-1]); //Get the last extension
//Not really uniqe - but for all practical reasons, it is
$uniqer = substr(md5(uniqid(rand(),1)),0,5);
$file_name = $file_title;//Get Unique Name ^-----^ $uniqer . '_' .
$all_types = explode(",",strtolower($types));
if($types) {
if(in_array($ext,$all_types));
else {
$result = "'".$_FILES[$file_id]['name']."' is not a valid file."; //Show error if any.
return array('',$result);
}
}
//Where the file must be uploaded to
if($folder) $folder .= '/';//Add a '/' at the end of the folder
$uploadfile = $folder . $file_name;
$result = '';
//Move the file from the stored location to the new location
if (!move_uploaded_file($_FILES[$file_id]['tmp_name'], $uploadfile)) {
$result = "Cannot upload the file '".$_FILES[$file_id]['name']."'"; //Show error if any.
if(!file_exists($folder)) {
$result .= " : Folder don't exist.";
} elseif(!is_writable($folder)) {
$result .= " : Folder not writable.";
} elseif(!is_writable($uploadfile)) {
$result .= " : File not writable.";
}
$file_name = '';
} else {
if(!$_FILES[$file_id]['size']) { //Check if the file is made
@unlink($uploadfile);//Delete the Empty file
$file_name = '';
$result = "Empty file found - please use a valid file."; //Show the error message
} else {
chmod($uploadfile,0777);//Make it universally writable.
mysql_query("INSERT INTO kunstenaar (naam, voornaam, geboortedatum,geboorteplaats,foto, infoNL, infoEN, sterfdatum) VALUES ('".$naam."', '".$voornaam."', '".$geboortedatum."', '".$geboorteplaats."', '".$file_name."','".$infoNL."', '".$infoEN."', '".$sterfdatum."')") or die(mysql_error());
$image = WideImage::load("../img/kunstenaars/".$file_name);
$resized = $image->resize(110, 110, 'outside');
$resized->saveToFile("../img/cache/".$file_name);
}
}
return array($file_name,$result);
}
?>
function upload($file_id, $folder="", $types="",$naam, $voornaam,$geboortedatum,$geboorteplaats,$infoNL,$infoEN,$sterfdatum) {
if(!$_FILES[$file_id]['name']) return array('','No file specified');
$file_title = $_FILES[$file_id]['name'];
//Get file extension
$ext_arr = split("\.",basename($file_title));
$ext = strtolower($ext_arr[count($ext_arr)-1]); //Get the last extension
//Not really uniqe - but for all practical reasons, it is
$uniqer = substr(md5(uniqid(rand(),1)),0,5);
$file_name = $file_title;//Get Unique Name ^-----^ $uniqer . '_' .
$all_types = explode(",",strtolower($types));
if($types) {
if(in_array($ext,$all_types));
else {
$result = "'".$_FILES[$file_id]['name']."' is not a valid file."; //Show error if any.
return array('',$result);
}
}
//Where the file must be uploaded to
if($folder) $folder .= '/';//Add a '/' at the end of the folder
$uploadfile = $folder . $file_name;
$result = '';
//Move the file from the stored location to the new location
if (!move_uploaded_file($_FILES[$file_id]['tmp_name'], $uploadfile)) {
$result = "Cannot upload the file '".$_FILES[$file_id]['name']."'"; //Show error if any.
if(!file_exists($folder)) {
$result .= " : Folder don't exist.";
} elseif(!is_writable($folder)) {
$result .= " : Folder not writable.";
} elseif(!is_writable($uploadfile)) {
$result .= " : File not writable.";
}
$file_name = '';
} else {
if(!$_FILES[$file_id]['size']) { //Check if the file is made
@unlink($uploadfile);//Delete the Empty file
$file_name = '';
$result = "Empty file found - please use a valid file."; //Show the error message
} else {
chmod($uploadfile,0777);//Make it universally writable.
mysql_query("INSERT INTO kunstenaar (naam, voornaam, geboortedatum,geboorteplaats,foto, infoNL, infoEN, sterfdatum) VALUES ('".$naam."', '".$voornaam."', '".$geboortedatum."', '".$geboorteplaats."', '".$file_name."','".$infoNL."', '".$infoEN."', '".$sterfdatum."')") or die(mysql_error());
$image = WideImage::load("../img/kunstenaars/".$file_name);
$resized = $image->resize(110, 110, 'outside');
$resized->saveToFile("../img/cache/".$file_name);
}
}
return array($file_name,$result);
}
?>
En nu mijn file waar de form post gebeurt:
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
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
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>" name="form" enctype="multipart/form-data">
<fieldset>
<legend>Nieuwe kunstenaar toevoegen!</legend>
<div>
<label for="naam">Naam:</label>
<input type="text" id="naam" name="naam" tabindex="1"/>
</div>
<div>
<label for="voornaam">Voornaam:</label>
<input type="text" id="voornaam" name="voornaam" tabindex="2"/>
</div>
<div>
<label for="dag">Geboortedatum:</label>
</div>
<?php schrijfdatum("geboorteDag","geboorteMaand","geboorteJaar"); ?>
<div id="sterfdatum">
<label for="dag">Sterfdatum:</label>
</div>
<div id="sterfdatum">
<?php schrijfdatum("sterfDag","sterfMaand","sterfJaar"); ?>
</div>
<div>
<label for="geboorteplaats">Geboorteplaats:</label>
<input type="text" id="geboorteplaats" name="geboorteplaats" tabindex="7"/>
</div>
<div>
<label for="overleden">Kunstenaar overleden?</label>
<select id="overleden" name="overleden" onchange="wijzigLijst()" tabindex="8">
<option value="ja">Ja</option>
<option value="neen">Neen</option>
</select>
</div>
<div>
<label for="infoNL">Extra informatie Nederlands:</label>
<textarea name="infoNL" id="infoNL" tabindex="9"></textarea>
</div>
<div>
<label for="infoEN">Extra informatie Engels:</label>
<textarea name="infoEN" id="infoEN" tabindex="10"></textarea>
</div>
<div>
<label for="image">Foto</label>
<input type="file" name="image" tabindex="11" />
</div>
<input type="submit" value="toevoegen" name="kunstenaarToevoegen" tabindex="12">
</fieldset>
</form>
</div>
<?php
if(isset($_POST['kunstenaarToevoegen']))
{
$naam = ucfirst(mysql_real_escape_string($_POST['naam']));
$voornaam = ucfirst(mysql_real_escape_string($_POST['voornaam']));
$geboortedatum = mysql_real_escape_string($_POST['geboorteJaar'])."-".mysql_real_escape_string($_POST['geboorteMaand'])."-".mysql_real_escape_string($_POST['geboorteDag']);
$sterfdatum = mysql_real_escape_string($_POST['sterfJaar'])."-".mysql_real_escape_string($_POST['sterfMaand'])."-".mysql_real_escape_string($_POST['sterfDag']);
$geboorteplaats = ucfirst(mysql_real_escape_string($_POST['geboorteplaats']));
$infoNL = mysql_real_escape_string($_POST['infoNL']);
$infoEN = mysql_real_escape_string($_POST['infoEN']);
if($_POST['overleden'] == "neen")
{
$sterfdatum = "0000-00-00";
}
if($_FILES["image"]["tmp_name"]!== '')
{
list($file,$error) = upload('image','../img/kunstenaars/','jpg,gif,png',$naam, $voornaam,$geboortedatum,$geboorteplaats,$infoNL,$infoEN,$sterfdatum);
if($error) print $error;
}
else
{
mysql_query("INSERT INTO kunstenaar (naam, voornaam, geboortedatum,geboorteplaats, infoNL, infoEN, sterfdatum) VALUES ('".$naam."', '".$voornaam."', '".$geboortedatum."', '".$geboorteplaats."', '".$infoNL."', '".$infoEN."', '".$sterfdatum."')") or die(mysql_error());
}
} // einde if waarde als men in de post zit
}// einde gebruiker ingelogd
[/code]
Ik gebruik deze utf8 headers:
[code]
[code]<?php header('Content-type: text/html; charset=UTF-8'); ?>
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>website titel</title>
<meta http-equiv="Content-type" value="text/html; charset=UTF-8" />
Alvast bedankt
Joachim
<fieldset>
<legend>Nieuwe kunstenaar toevoegen!</legend>
<div>
<label for="naam">Naam:</label>
<input type="text" id="naam" name="naam" tabindex="1"/>
</div>
<div>
<label for="voornaam">Voornaam:</label>
<input type="text" id="voornaam" name="voornaam" tabindex="2"/>
</div>
<div>
<label for="dag">Geboortedatum:</label>
</div>
<?php schrijfdatum("geboorteDag","geboorteMaand","geboorteJaar"); ?>
<div id="sterfdatum">
<label for="dag">Sterfdatum:</label>
</div>
<div id="sterfdatum">
<?php schrijfdatum("sterfDag","sterfMaand","sterfJaar"); ?>
</div>
<div>
<label for="geboorteplaats">Geboorteplaats:</label>
<input type="text" id="geboorteplaats" name="geboorteplaats" tabindex="7"/>
</div>
<div>
<label for="overleden">Kunstenaar overleden?</label>
<select id="overleden" name="overleden" onchange="wijzigLijst()" tabindex="8">
<option value="ja">Ja</option>
<option value="neen">Neen</option>
</select>
</div>
<div>
<label for="infoNL">Extra informatie Nederlands:</label>
<textarea name="infoNL" id="infoNL" tabindex="9"></textarea>
</div>
<div>
<label for="infoEN">Extra informatie Engels:</label>
<textarea name="infoEN" id="infoEN" tabindex="10"></textarea>
</div>
<div>
<label for="image">Foto</label>
<input type="file" name="image" tabindex="11" />
</div>
<input type="submit" value="toevoegen" name="kunstenaarToevoegen" tabindex="12">
</fieldset>
</form>
</div>
<?php
if(isset($_POST['kunstenaarToevoegen']))
{
$naam = ucfirst(mysql_real_escape_string($_POST['naam']));
$voornaam = ucfirst(mysql_real_escape_string($_POST['voornaam']));
$geboortedatum = mysql_real_escape_string($_POST['geboorteJaar'])."-".mysql_real_escape_string($_POST['geboorteMaand'])."-".mysql_real_escape_string($_POST['geboorteDag']);
$sterfdatum = mysql_real_escape_string($_POST['sterfJaar'])."-".mysql_real_escape_string($_POST['sterfMaand'])."-".mysql_real_escape_string($_POST['sterfDag']);
$geboorteplaats = ucfirst(mysql_real_escape_string($_POST['geboorteplaats']));
$infoNL = mysql_real_escape_string($_POST['infoNL']);
$infoEN = mysql_real_escape_string($_POST['infoEN']);
if($_POST['overleden'] == "neen")
{
$sterfdatum = "0000-00-00";
}
if($_FILES["image"]["tmp_name"]!== '')
{
list($file,$error) = upload('image','../img/kunstenaars/','jpg,gif,png',$naam, $voornaam,$geboortedatum,$geboorteplaats,$infoNL,$infoEN,$sterfdatum);
if($error) print $error;
}
else
{
mysql_query("INSERT INTO kunstenaar (naam, voornaam, geboortedatum,geboorteplaats, infoNL, infoEN, sterfdatum) VALUES ('".$naam."', '".$voornaam."', '".$geboortedatum."', '".$geboorteplaats."', '".$infoNL."', '".$infoEN."', '".$sterfdatum."')") or die(mysql_error());
}
} // einde if waarde als men in de post zit
}// einde gebruiker ingelogd
[/code]
Ik gebruik deze utf8 headers:
[code]
[code]<?php header('Content-type: text/html; charset=UTF-8'); ?>
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>website titel</title>
<meta http-equiv="Content-type" value="text/html; charset=UTF-8" />
Alvast bedankt
Joachim
Er zijn nog geen reacties op dit bericht.