ma per creare cartelle on-line tramite php bisogna necessariamente aprire e chiudere una connesssione ftp o c'è un'altro modo ?
ma per creare cartelle on-line tramite php bisogna necessariamente aprire e chiudere una connesssione ftp o c'è un'altro modo ?
Basta consultare il sito www.php.net e cercare nelle funzioni per gestire il filesystem....
http://www.php.net/manual/en/function.mkdir.php
Leggi anche tutti gli interventi, visto che con alcuni settaggi del server, mkdir può dare grandi mal di testa... e sono postate tutte le soluzioni del caso.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
ma il comando esatto con è ftp_mkdir ? :master:Originariamente inviato da Andrea1979
Basta consultare il sito www.php.net e cercare nelle funzioni per gestire il filesystem....
http://www.php.net/manual/en/function.mkdir.php
Leggi anche tutti gli interventi, visto che con alcuni settaggi del server, mkdir può dare grandi mal di testa... e sono postate tutte le soluzioni del caso.
cmq ne approfitto per chiedervi cosa c'è che non va in questo codice:
mi dice che c'è un problema nella riga dove sta ftp_mkdir perché non ho i permessi ...Codice PHP:
<?php
$ftp_server='ftp.dominio.it';
$ftp_user_name='utente';
$ftp_user_pass='password';
$source_file='C:\Documents and Settings\Administrator.CLIENT\Desktop\services.txt';
$dir='creata_da_php';
// stabilire una connessione
$conn_id = ftp_connect($ftp_server);
// login con user name e password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// controllo della connessione
if ((!$conn_id) || (!$login_result)) {
echo 'La connessione FTP è fallita!
';
echo 'Tentativo di connessione a $ftp_server per l\'utente '.$ftp_user_name.'
';
die;
} else {
echo 'Connesso a '.$ftp_server.' utente '.$ftp_user_name.'
';
}
if (ftp_mkdir($conn_id, $dir)) {
echo 'ok '.$dir.'creata con successo\\n';
} else {
echo 'Problemi nella creazione di '.$dir.'
';
}
$destination_file='/emanuelecestari.it/'.$dir;
// upload del file
$upload = ftp_put($conn_id,$destination_file, $source_file, FTP_BINARY);
// controllo dello stato di upload
if (!$upload) {
echo 'Il caricamento FTP non è andato a buon fine!';
} else {
echo 'Caricato il file '.$source_file.' su '.$ftp_server.' come '.$destination_file.'
';
}
// chiudere il flusso FTP
ftp_quit($conn_id);
?>
la connessione FTP si instaura ma la cartella non me la riesce a creare , che cosa ho sbagliato :master:
Non è che stai mischiando un po' gli apici? Guarda un po' il colore del codice nel post:
ad un certo punto c'è
echo 'Tentativo di connessione...'
Quell'echo mi sembra chiudersi con l'apice di "l'utente"... metti apici doppi e amen.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
è in escape già ma incollandolo nel post non viene marcato bene ...Originariamente inviato da Andrea1979
Non è che stai mischiando un po' gli apici? Guarda un po' il colore del codice nel post:
ad un certo punto c'è
echo 'Tentativo di connessione...'
Quell'echo mi sembra chiudersi con l'apice di "l'utente"... metti apici doppi e amen.
cmq vi dico che quel codice è uguale pari pari a quello che ho usato per uno script di upload diretto di un file , ho solo sto ftp_mkdir che non vuole saperne![]()
ecco qui quello esattamente marcato ma cmq non vaCodice PHP:
<?php
$ftp_server='ftp.dominio.it';
$ftp_user_name='user';
$ftp_user_pass='pwd';
$source_file='C:\Documents and Settings\Administrator.CLIENT\Desktop\services.txt';
$dir='creata_da_php';
// stabilire una connessione
$conn_id = ftp_connect($ftp_server);
// login con user name e password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// controllo della connessione
if ((!$conn_id) || (!$login_result)) {
echo 'La connessione FTP è fallita!
';
echo 'Tentativo di connessione a $ftp_server per l\\'utente '.$ftp_user_name.'
';
die;
} else {
echo 'Connesso a '.$ftp_server.' utente '.$ftp_user_name.'
';
}
if (ftp_mkdir($conn_id, $dir)) {
echo 'ok '.$dir.'creata con successo
';
} else {
echo 'Problemi nella creazione di '.$dir.'
';
}
$destination_file='/dominio.it/'.$dir;
// upload del file
$upload = ftp_put($conn_id,$destination_file, $source_file, FTP_BINARY);
// controllo dello stato di upload
if (!$upload) {
echo 'Il caricamento FTP non è andato a buon fine!';
} else {
echo 'Caricato il file '.$source_file.' su '.$ftp_server.' come '.$destination_file.'
';
}
// chiudere il flusso FTP
ftp_quit($conn_id);
?>
scusa un attimo... per caso stai su hosting windows su A..ba? Che io sappia, via script in quella configurazione (così come su quasi tutte le piattaforme windows) si può scrivere solo in determinate cartelle (normalmente solo in "public")
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
si proprio così ... aspetta adesso provo a cambiare e vediamo ...Originariamente inviato da Andrea1979
scusa un attimo... per caso stai su hosting windows su A..ba? Che io sappia, via script in quella configurazione (così come su quasi tutte le piattaforme windows) si può scrivere solo in determinate cartelle (normalmente solo in "public")
ma cmq un output per l'errore non ce l'ha ftp_mkdir ?
il manuale dice solo che ritorna false in caso di errore, ma senza aggiungere altro. Attiva tutti i warning del caso con error_reporting(E_ALL)
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
grazie , sei stato il mio salvatoreOriginariamente inviato da Andrea1979
il manuale dice solo che ritorna false in caso di errore, ma senza aggiungere altro. Attiva tutti i warning del caso con error_reporting(E_ALL)![]()