php ftp uploadformulier
Ik krijg het niet voor elkaar om het bestand in een map te laten uploaden, die ik aangeef bij $uploaddir.
Het pad die ik bij de uploaddir opgegeven heb is goed.
Graag jullie hulp.
<html>
<head><title></title></head>
<body>
<form method="post" enctype="multipart/form-data">
<table>
<tr>
Code (php)
</tr>
<tr><td><input type="submit" id="submit" name="submit" value="Upload"></td></tr>
</form>
</table>
</fieldset>
<br>
<fieldset>
<legend>Console</legend>
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
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
<?php
$ftp_server = 'xxx';
$ftp_port = 21;
$ftp_user = 'xxx';
$ftp_pass = 'xxx';
$uploaddir = '/pad naar de site/uploads/';
$allowed = array('jpg','jpeg','gif','png'); # lower case
$max_size = 1024 * 1024;
if (isset($_FILES['uploadfile'])) {
$connection = @ftp_connect($ftp_server,$ftp_port) or die('Kon geen verbinding maken met de server..');
if (@ftp_login($connection,$ftp_user,$ftp_pass)) {
ftp_pasv($connection,true);
foreach ($_FILES['uploadfile']['error'] as $i => $error) {
if ($error == 0) {
if ($_FILES['uploadfile']['size'][$i] <= $max_size) {
$file_ext = pathinfo($_FILES['uploadfile']['name'][$i],PATHINFO_EXTENSION);
$file_name = basename($_FILES['uploadfile']['name'][$i],'.'.$file_ext);
if (in_array(strtolower($file_ext),$allowed)) {
$new_base = $_FILES['uploadfile']['name'][$i];
$t = 1;
$list = ftp_nlist($connection,$uploaddir);
while (in_array($new_base,$list)) {
$new_base = $file_name.'['.$t.'].'.$file_ext;
$t++;
}
if (ftp_put($connection,$uploaddir.strtolower($new_base),$_FILES['uploadfile']['tmp_name'][$i],FTP_BINARY)) {
echo 'Succesvolle upload: '.$_FILES['uploadfile']['name'][$i].'<br>'."\n";
}
} else {
echo 'Sorry, deze extensie is niet toegestaan om up te loaden!';
}
} else {
echo 'Sorry, deze foto is te groot om up te loaden! Ga je als bezoeker ook niet fijn vinden ;)';
}
}
}
} else {
echo 'Kon niet inloggen.. Neem contact op met Danny!';
}
ftp_close($connection);
} else {
echo 'Niets om up te loaden! <br><br><br>';
}
?>
$ftp_server = 'xxx';
$ftp_port = 21;
$ftp_user = 'xxx';
$ftp_pass = 'xxx';
$uploaddir = '/pad naar de site/uploads/';
$allowed = array('jpg','jpeg','gif','png'); # lower case
$max_size = 1024 * 1024;
if (isset($_FILES['uploadfile'])) {
$connection = @ftp_connect($ftp_server,$ftp_port) or die('Kon geen verbinding maken met de server..');
if (@ftp_login($connection,$ftp_user,$ftp_pass)) {
ftp_pasv($connection,true);
foreach ($_FILES['uploadfile']['error'] as $i => $error) {
if ($error == 0) {
if ($_FILES['uploadfile']['size'][$i] <= $max_size) {
$file_ext = pathinfo($_FILES['uploadfile']['name'][$i],PATHINFO_EXTENSION);
$file_name = basename($_FILES['uploadfile']['name'][$i],'.'.$file_ext);
if (in_array(strtolower($file_ext),$allowed)) {
$new_base = $_FILES['uploadfile']['name'][$i];
$t = 1;
$list = ftp_nlist($connection,$uploaddir);
while (in_array($new_base,$list)) {
$new_base = $file_name.'['.$t.'].'.$file_ext;
$t++;
}
if (ftp_put($connection,$uploaddir.strtolower($new_base),$_FILES['uploadfile']['tmp_name'][$i],FTP_BINARY)) {
echo 'Succesvolle upload: '.$_FILES['uploadfile']['name'][$i].'<br>'."\n";
}
} else {
echo 'Sorry, deze extensie is niet toegestaan om up te loaden!';
}
} else {
echo 'Sorry, deze foto is te groot om up te loaden! Ga je als bezoeker ook niet fijn vinden ;)';
}
}
}
} else {
echo 'Kon niet inloggen.. Neem contact op met Danny!';
}
ftp_close($connection);
} else {
echo 'Niets om up te loaden! <br><br><br>';
}
?>
</body>
</html>
Gewijzigd op 01/03/2011 13:09:34 door Enrico -
Als $_FILES['uploadfile']['tmp_name'] bekend is dan staat het bestand al op de server. Je hoeft het dan alleen nog te verplaatsen.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
if (ftp_put($connection,$uploaddir.strtolower($new_base),$_FILES['uploadfile']['tmp_name'][$i],FTP_BINARY)) {
move_uploaded_file($_FILES['uploadfile']['tmp_name'], "/pad naar de site/uploads");
echo 'Succesvolle upload: '.$_FILES['uploadfile']['name'][$i].'<br>'."\n";
}
?>
if (ftp_put($connection,$uploaddir.strtolower($new_base),$_FILES['uploadfile']['tmp_name'][$i],FTP_BINARY)) {
move_uploaded_file($_FILES['uploadfile']['tmp_name'], "/pad naar de site/uploads");
echo 'Succesvolle upload: '.$_FILES['uploadfile']['name'][$i].'<br>'."\n";
}
?>
Gewijzigd op 01/03/2011 14:33:33 door Enrico -
Krijg je iets van error reporting?
Maar het verplaatsen van de file naar de map "uploads" doet hij dan niet
Je parameters bij move_uploaded_file() zijn niet volledig.
Warning: in_array() expects parameter 2 to be array, boolean given in /home/users/advesftp/adverteren-jongegezinnen.nl/test5.php on line 49
Warning: ftp_put() [function.ftp-put]: /home/users/advesftp/adverteren-jongegezinnen.nl/uploads/mijnplaatje.jpg: No such file or directory in /home/users/advesftp/adverteren-jongegezinnen.nl/test5.php on line 53
Gewijzigd op 01/03/2011 16:34:37 door Enrico -