move_uploaded_file werkt niet goed
Ik heb het volgende script, maar het werkt niet helemaal:
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
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
<?
// Begin Functie fotoResize
function fotoResize ($foto, $kent) {
$afb = ($foto);
$image = imagecreatefromjpeg($afb);
list($breedte, $hoogte) = getimagesize($afb) ;
$ratio = ($breedte / 640);
$breedte2 = $breedte;
$hoogte2 = $hoogte;
$breedte /= $ratio;
$hoogte /= $ratio;
$image2= imagecreatetruecolor($breedte,$hoogte);
imagecopyresampled($image2,$image,0,0,0,0,$breedte,$hoogte,$breedte2,$hoogte2);
imagejpeg($image2,'/var/www/auto/upload/' . $kent . '-' . $foto . '.jpg' );
imagedestroy($image);
imagedestroy($image2);
}
// Einde Functie fotoResize
function fotoUpload ($fotonummer, $fotoupload, $kenteken) {
$errorMessage = '';
if ( !empty ( $fotoupload ['tmp_name'] ) ) //Controleer of de bestandsnaam van foto1 is ingesteld
{
$fotonummer = $kenteken . '-'. $fotonummer . 'jpg';
if (isset($fotoupload) && $fotoupload ['error'] == UPLOAD_ERR_OK)
{
if (($fotoupload ['type'] == 'image/jpeg') || ($fotoupload ['type'] == 'image/pjpeg'))
{
if (!fotoResize($fotoupload ['tmp_name'],$kenteken))
{
$errorMessage = 'Kan bestand niet kopieren';
die ('De foto is geen .jpeg afbeelding');
header ('refresh: 3; url=autotoevoegen.php');
}
}
else {
die ('De foto is geen .jpeg afbeelding');
header ('refresh: 3; url=autotoevoegen.php');
}
}
else {
die ('Uploaden van Foto1 is mislukt');
header ('refresh: 3; url=autotoevoegen.php');
}
$fotonummer = $kenteken . $fotonummer . '.jpg';
}
else {
$errorMessage = 'Geen foto geselecteerd';
$fotonummer = 'geenfoto.jpg';
}
}
?>
// Begin Functie fotoResize
function fotoResize ($foto, $kent) {
$afb = ($foto);
$image = imagecreatefromjpeg($afb);
list($breedte, $hoogte) = getimagesize($afb) ;
$ratio = ($breedte / 640);
$breedte2 = $breedte;
$hoogte2 = $hoogte;
$breedte /= $ratio;
$hoogte /= $ratio;
$image2= imagecreatetruecolor($breedte,$hoogte);
imagecopyresampled($image2,$image,0,0,0,0,$breedte,$hoogte,$breedte2,$hoogte2);
imagejpeg($image2,'/var/www/auto/upload/' . $kent . '-' . $foto . '.jpg' );
imagedestroy($image);
imagedestroy($image2);
}
// Einde Functie fotoResize
function fotoUpload ($fotonummer, $fotoupload, $kenteken) {
$errorMessage = '';
if ( !empty ( $fotoupload ['tmp_name'] ) ) //Controleer of de bestandsnaam van foto1 is ingesteld
{
$fotonummer = $kenteken . '-'. $fotonummer . 'jpg';
if (isset($fotoupload) && $fotoupload ['error'] == UPLOAD_ERR_OK)
{
if (($fotoupload ['type'] == 'image/jpeg') || ($fotoupload ['type'] == 'image/pjpeg'))
{
if (!fotoResize($fotoupload ['tmp_name'],$kenteken))
{
$errorMessage = 'Kan bestand niet kopieren';
die ('De foto is geen .jpeg afbeelding');
header ('refresh: 3; url=autotoevoegen.php');
}
}
else {
die ('De foto is geen .jpeg afbeelding');
header ('refresh: 3; url=autotoevoegen.php');
}
}
else {
die ('Uploaden van Foto1 is mislukt');
header ('refresh: 3; url=autotoevoegen.php');
}
$fotonummer = $kenteken . $fotonummer . '.jpg';
}
else {
$errorMessage = 'Geen foto geselecteerd';
$fotonummer = 'geenfoto.jpg';
}
}
?>
Als ik het script op de volgende manier uitvoer krijg ik een foutmelding:
Ik krijg dan de volgende foutmelding:
Warning: imagejpeg() [function.imagejpeg]: Unable to open '/var/www/auto/upload/bla-/tmp/phpS948tl.jpg' for writing: No such file or directory in /var/www/auto/functions.php on line 15
Er is dus een probleem met het pad, maar kan niet vinden wat het nu moet zijn.
De bestanden moeten naar /var/www/auto/upload
Maar hij zet er dus /tmp/"de tijdelijke bestandsnaam" neer
Iemand enig idee wat ik verkeerd doe?
Heb al veel geprobeerd, maar helaas nog niet gelukt.
Ik hoop dat iemand mij kan helpen.
Alvast bedankt.
Mvg,
Mark Bijker
Gewijzigd op 01/01/1970 01:00:00 door Mark Bijker
Logisch. Omdat je nog met de tmp-file bezig bent.
En kun je me ook vertellen hoe ik dit anders moet doen?
Gebruik eerst eens move_uploaded_file(). Die staat nu namelijk alleen in de titel van het topic en niet in je script.