Creare cartelle in php

Salve!

Come faccio a creare una cartella con uno script php?

Per esempio durante la registrazione di un utente..

Grazie!

inviato 10 anni fa
ttan
ttan
1
X 0 X

usando la funzione mkdir:

<?php
// creo una cartella con i permessi a 777
$esito = mkdir("percorso/della/nuova/cartella", 0777);

if($esito)
   echo 'Cartella creata correttamente';
else
   echo 'Errore nella creazione della cartella';
?>

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

e per quanto riguarda la creazione di file online? se si vuole creare un file.txt? si può? o rinominare i file?

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

per creare un nuovo file (scrivendoci qualcosa all'interno):

<?php
$filename = 'miofile.txt';

// se il file $filename non esiste allora verrà creato
if (!$handle = fopen($filename, 'wb')) {
      echo "Non riesco ad aprire il file";
      exit;
}

// inserisco del testo  nel file
$contenuto = "testo di prova";
if (fwrite($handle, $contenuto) === FALSE) {
    echo "Errore nell'inserimento del testo nel file";
    exit;
}
  
echo "Creazione e scrittura del file completata con successo";
  
fclose($handle);
?>

Per rinominare un file o una cartella:

<?php
rename("percorso/al/vecchio_nome.txt", "percorso/al/nuovo_nome.txt");
?>

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Grazie mille!!! :D :D :D

risposto 10 anni fa
ttan
ttan
1
X 0 X

ho fatto un mini file manager [da ampliare] questo crea un file n base a estenzioni prestabilite e con il contenuto che si vuole e lo si può rinominare...solo che vorrei implementarlo facendo scegliere il ffile da rinominare ad una lista [creata in base ai file nella dir]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>file manager</title>

<style type="text/css">

<!--

.form {

   font-family: Arial, Helvetica, sans-serif;

   font-size: xx-small;

   color: #000000;

}

-->

</style>

</head>

<body class="form">

<form action="file.php?create" method="post" name="nome" id="nome">

  <p>

    <span class="form">

  <input name="name" type="text" class="form" id="name">

  nome file </span></p>

  <p>

    <span class="form">

  <select name="ext" class="form" id="ext">

    <option value="txt">txt</option>

    <option value="sql">sql</option>

    <option value="php">php</option>

    <option value="html">html</option>

    <option value="xml">xml</option>

  </select>

  estensione</span></p>

  <p>

    <textarea name="content" cols="50" rows="10" class="form" id="content"></textarea>

  </p>

  <p>

    <span class="form">

    <input name="Submit" type="submit" class="form" value="crea file">

  </span></p>

</form>

<form name="form1" method="post" action="file.php?rename">

  <p>&nbsp;</p>

  <p>

    <input name="old_name" type="text" class="form"  id="old_name" value="<?php echo $_POST[name].$_POST[ext] ?>">

nome corrente </p>

  <p>

    <input name="new_name" type="text" class="form" id="new_name">

  nuovo nome </p>

  <p>

    <select name="new_ext" class="form" id="new_ext">

      <option value="txt">txt</option>

      <option value="sql">sql</option>

      <option value="php">php</option>

      <option value="html">html</option>

      <option value="xml">xml</option>

    </select>

  Nuova estensuione </p>

  <p>

    <input name="Submit2" type="submit" class="form" value="rinomina">

  </p>

  <p>&nbsp;</p>

</form>

<?php

function do_create()

{

$name = $_POST[name];

$ext  = $_POST[ext];

$filename = "{$name}.{$ext}";

if (!$handle = fopen($filename, 'wb')) {

      echo "Non riesco ad aprire il file";

      exit;

}

$contenuto = $_POST[content];

if (fwrite($handle, $contenuto) === FALSE) {

    echo "Errore nell'inserimento del testo nel file";

    exit;

}

  

echo "Creazione e scrittura del file completata con successo";

  

fclose($handle);

}

?>

<?php

function do_rename()

{

$old_name = $_POST[old_name];

$old_ext  = $_POST[old_ext];

$new_name = $_POST[new_name];

$new_ext  = $_POST[new_ext];

$current = "{$old_name}.{$old_ext}";

$new = "{$new_name}.{$new_ext}";

rename("$current"," $new");

}

   $action = $_SERVER['QUERY_STRING'];

   switch($action)

   

      {

    

          case "rename":                        

             do_rename();

          break;

         

          case "create":                        

             do_create();

          break;

                  }

?> 

</body>

</html>
risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

non posso + modificare il post

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>file manager</title>

<style type="text/css">

.form {

   font-family: Arial, Helvetica, sans-serif;

   font-size: xx-small;

   color: #000000;

}

.errore {

   font-family: Arial, Helvetica, sans-serif;

   font-size: xx-small;

   color: #FFFFFF;

   background-color: #CC0000;

   margin: 2px;

   padding: 2px;

}

.success {

   font-family: Arial, Helvetica, sans-serif;

   font-size: 10px;

   color: #FFFFFF;

   background-color: #009900;

   margin: 2px;

   padding: 2px;

}

</style>

</head>

<body class="form">

<form action="file.php?create" method="post" name="nome" id="nome">

  <p>

    <span class="form">

  <input name="name" type="text" class="form" id="name" size="50">

  nome file </span></p>

  <p>

    <span class="form">

  <select name="ext" class="form" id="ext">

    <option value="txt">txt</option>

    <option value="sql">sql</option>

    <option value="php">php</option>

    <option value="html">html</option>

    <option value="xml">xml</option>

  </select>

  estensione</span></p>

  <p>

    <textarea name="content" cols="90" rows="20" class="form" id="content"></textarea>

  </p>

  <p>

    <span class="form">

    <input name="Submit" type="submit" class="form" value="crea file">

  </span></p>

</form>

<?php

function do_create()

{

$name = $_POST[name];

$ext  = $_POST[ext];

if (trim($name) === "")

{

//se il nome è vuoto non prosegue

echo '

<table width="200" border="0" cellspacing="0" cellpadding="0" class="errore">

  <tr>

    <td>Devi scegliere uno nome al tuo file!</td>

  </tr>

</table>

';

exit();

}

$contenuto = stripslashes($_POST[content]); 

//evita che il file venga backslashato

if (trim($contenuto) === "")

{

//se il contenuto è vuoto non prosegue

echo '

<table width="200" border="0" cellspacing="0" cellpadding="0" class="errore">

  <tr>

    <td>Impossibile scrivere un file vuoto!</td>

  </tr>

</table>

';

exit();

}

$filename = "{$name}.{$ext}";

if (file_exists($filename))

{

//se il file esiste non lo sovrascrive

echo '

<table width="200" border="0" cellspacing="0" cellpadding="0" class="errore">

  <tr>

    <td>Il file esiste già , impossibile sovrascrivere!</td>

  </tr>

</table>

';

exit();

}

//errore di scrittura

if (!$handle = fopen($filename, 'wb')) {

      echo '

<table width="200" border="0" cellspacing="0" cellpadding="0" class="errore">

  <tr>

    <td>Impossibile scrivere il file!</td>

  </tr>

</table>

';

exit();

//errore di scrittura

}

if (fwrite($handle, $contenuto) === FALSE) {

echo '

<table width="200" border="0" cellspacing="0" cellpadding="0" class="errore">

  <tr>

    <td>Errore durante scrittura del file!</td>

  </tr>

</table>

';

exit();

    exit;

}

//messaggio di avvenuta scrittura

echo '

<table width="200" border="0" cellspacing="0" cellpadding="0" class="success">

  <tr>

    <td>scrittura completata con successo!</td>

  </tr>

</table>

';

  

fclose($handle);

}

?>

<?php

   $action = $_SERVER['QUERY_STRING'];

   switch($action)

   

      {

      

          case "create":                        

             do_create();

          break;

                  }

?>

</body>

</html>
risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda