php ftp uploadformulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Enrico -

Enrico -

01/03/2011 13:02:55
Quote Anchor link
Ik probeer een uploadformulier in php te maken via ftp. Niet via een gewone php upload, omdat de server van de provider dit niet toestaat, maar dus via ftp.
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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
for ($j=0;$j<2;$j++) {
echo '<td>';
 for ($i=0;$i<5;$i++) {
echo '<input type="file" name="uploadfile[]"><br>';
}

echo '</td>';
}
?>

</tr>
<tr><td><input type="submit" id="submit" name="submit" value="Upload"></td></tr>
</form>
</table>
</fieldset>
<br>
<fieldset>
<legend>Console</legend>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>';
}

?>

</body>
</html>
Gewijzigd op 01/03/2011 13:09:34 door Enrico -
 
PHP hulp

PHP hulp

19/04/2024 16:33:08
 
- SanThe -

- SanThe -

01/03/2011 13:17:21
Quote Anchor link
Als $_FILES['uploadfile']['tmp_name'] bekend is dan staat het bestand al op de server. Je hoeft het dan alleen nog te verplaatsen.
 
Enrico -

Enrico -

01/03/2011 13:41:31
Quote Anchor link
ik heb hier de middelste regel toegevoegd, hij upload wel naar de server, maar het verplaatsten naar de gewenste map werkt nog niet. Wat doe ik fout?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
                    }

?>
Gewijzigd op 01/03/2011 14:33:33 door Enrico -
 
Kris Peeters

Kris Peeters

01/03/2011 15:55:15
Quote Anchor link
Krijg je iets van error reporting?
 
Enrico -

Enrico -

01/03/2011 16:13:18
Quote Anchor link
nee, hij upload de file naar de root van de server en daar zie ik hem ook staan.
Maar het verplaatsen van de file naar de map "uploads" doet hij dan niet
 
- SanThe -

- SanThe -

01/03/2011 16:22:36
Quote Anchor link
Je parameters bij move_uploaded_file() zijn niet volledig.
 
Enrico -

Enrico -

01/03/2011 16:28:02
Quote Anchor link
Error reporting aangezet, hij zegt dit:

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 -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.