Hulp bij FTP Uploadscript

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rob

Rob

27/09/2006 15:38:00
Quote Anchor link
Heey iedereen!
Ik gebruik dit script (dat zijn de functies alleen, maar daar draait het om)
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
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
<?php

function my_ftp_mkdir ($path, $dir) {
    $server = "ftp.dukesoft.nl";

    // connect naar de ftp server
    $connection = ftp_connect ($server);
    
    // inloggen op de ftp server
    $user = "******";
    $pass = "***";
    $result = ftp_login ($connection, $user, $pass);
    
    if ((!$connection) || (!$result)) {
        return false;
    }

    // ga naar de dir die als argument aan de functie is meegegeven
    if (!@ftp_chdir ($connection, $path)) {
        ftp_close($connection); // ftp verbinding verbreken
        return false;
    }


    // nu de map maken en de rechten goed zetten
    if (!@ftp_mkdir($connection, $dir)) {
        ftp_close($connection); // ftp verbinding verbreken
        return false;    
    }


    $chmod_cmd = "CHMOD 0777 " . $dir;
    $chmod = ftp_site($connection, $chmod_cmd);

    ftp_close($connection); // ftp verbinding verbreken

    return true;
}
function
makefileftp ($filename, $map, $content) {
$ftp_server = "ftp.dukesoft.nl";
$ftp_user_name = "*********";
$ftp_user_pass = "***";
$destination_file = 'httpdocs/'.$map.'/'.$filename.'';
$source_file = $content;

// maak een basis connectie aan
$conn_id = ftp_connect($ftp_server);

// aanmelden met een gebruikersnaam en wachtwoord
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// controleer de verbinding
if ((!$conn_id) || (!$login_result))
{

echo "<BR>FTP connectie is mislukt!<BR>";
exit;
}

else
{
echo "<BR>Verbonden met server<BR>";
}


// upload een bestand
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// controleer de upload status
if (!$upload)
{

echo "Bestand niet gemaakt!<BR>";
}

else
{
echo "Bestand gemaakt!<BR>";
}


// sluit de FTP stream
ftp_close($conn_id);
}

?>

Hij geeft terug:

De map is aangemaakt
Verbonden met server
Bestand niet gemaakt!

De map is inderdaad gemaakt, en het bestand dus niet. Weet iemand waar dit aan kan liggen? De functie word goed opgeroepen.. maar toch

Groetjes, Rob Quist
Edit:
Even mn wachtwoorden weggehaald ;)
Gewijzigd op 01/01/1970 01:00:00 door Rob
 
PHP hulp

PHP hulp

19/04/2024 12:57:21
 
Robbert

Robbert

06/10/2006 23:18:00
Quote Anchor link
Ik ben daar ook al opzoek naar:
dus dat je een map en een bestand op de server kan maken via ftp
want via rechten werkt toch bijna niet...
Groetjes Robbert
p.s
Iemand mis een mooi script of de oplossing om zo iets te maken
alvast allemaal bedankt
 
Joren de Wit

Joren de Wit

06/10/2006 23:24:00
Quote Anchor link
Laat het stukje script eens zien waar je de functie makefileftp() aanroept. Ik ben namelijk benieuwd hoe je aan de parameter $content komt...
 
Robbert

Robbert

07/10/2006 08:21:00
Quote Anchor link
$content="<html><h3>Test</h3></html>";
of zo iets in iedergeval.
Gewijzigd op 01/01/1970 01:00:00 door Robbert
 
Joren de Wit

Joren de Wit

07/10/2006 11:27:00
Quote Anchor link
Ik heb het nog nooit gebruikt, maar uit de ftp_put manual op php.net haal ik dat $content een bestandsnaam moet aangeven en niet de inhoud ervan.

In jouw geval zul je $content dus eerst weg moeten schrijven in een bestandje en dat met ftp_put uploaden naar je server.
 
Rob

Rob

07/10/2006 15:59:00
Quote Anchor link
Oke... Maar, hoe kan ik dan aan dat bestandje komen waar $content in komt te staan? Moet dat client-side of server-side?
 
Joren de Wit

Joren de Wit

07/10/2006 16:18:00
Quote Anchor link
Je kunt server side gewoon een bepaalde content in een bestand schrijven:

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
<?php
$content
= "Dit stukje moet naar een bestand geschreven worden.\r\n";
$filename = 'test.txt';

if($handle = fopen($filename, 'a'))
{

    if(fwrite($handle, $content))
    {

        echo 'succes';
    }
}


fclose($handle);
?>
 
Robbert

Robbert

07/10/2006 21:20:00
Quote Anchor link
Ja, dat moest ook werken maar wij hebben geen rechten en zo, Ik zal niet weten hoe ik dat moet instellen. Het moest ook kunnen via ftp functies? Alvast bedankt
 
Joren de Wit

Joren de Wit

07/10/2006 21:25:00
Quote Anchor link
Je kunt de rechten op bestanden en mappen met de php functie chmod() veranderen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
chmod('een/bepaald/bestand.php', 0777);
?>


Bovenstaande geeft iedereen volledige rechten op het bestand. Om de functies fopen() en fwrite() moet je zorgen dat de map waarin je werkt minimaal gechmod is naar (ik geloof) 0776.
 
Robbert

Robbert

07/10/2006 22:18:00
Quote Anchor link
Oke ik snap het bijna, Heel erg bedankt iniedergeval, Kan je mis dan even een klein voorbeeldje geven hoe ik het dan het beste kan doen? want de map aanmaken is mij inmiddels gelukt met php/ftp en nu alleen een bestan d op de server schrijven..

Blanche heel erg bedankt !
MVG
Robbert
 
Joren de Wit

Joren de Wit

07/10/2006 22:25:00
Quote Anchor link
Een bestandje op de server schrijven kun je doen met het scriptje dat ik gaf in mijn post van 16.18 uur. Als $filename niet bestaat, wordt het door fopen() aangemaakt.
 



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.