[PHP] Accesso ad un file specifico solo in base al server assegnato

  • Creatore Discussione Creatore Discussione Coby
  • Data di inizio Data di inizio

Coby

Nuovo Utente
28 Lug 2018
44
1
8
Ciao a tutti intanto grazie di esistere!!!
Se guardate bene lo script io voglio far in modo che ogni User in base al server assegnato possa aver accesso ad un file specifico proprio in base al server che ha,come potrei fare?
Grazie.
PHP:
<script src="SpryAssets/SpryCollapsiblePanel.js" type="text/javascript"></script>
<link href="SpryAssets/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css">

         <div id="CollapsiblePanel1" class="CollapsiblePanel">
              <div class="CollapsiblePanelTab" tabindex="0">
         <div class="card mb-3">
         <div class="card-header font-weight-bold">
          <i class=""></i>Servers disponibili</div></div></div>
          <div class="CollapsiblePanelContent">
        <div class="card-body">
          <div class="table-responsive">
            <form action="subreseller.php" method="post" id="tf"></form>                   
            <table class="table table-bordered table-hover" id="dataTable" width="100%" cellspacing="0">
              <thead>
                <tr>
                  <th>Nome Servers</th>
                  <th>Id Servers</th>
                </tr>
              </thead>           
              <tfoot>
              </tfoot>           
<tbody>
    
    <?php    if (@$_SESSION['type'] != "") {
       $resultse = mysqli_query($con, "SELECT * FROM `servers` WHERE FIND_IN_SET(`id`,(SELECT GROUP_CONCAT( servers SEPARATOR ',') FROM `users` WHERE `name` = '$_SESSION[username]'))") or die(mysqli_error($con));
       while($rowse = mysqli_fetch_assoc($resultse)) {   
  
      $result1 = mysqli_query($con, "SELECT * FROM `ssh-".$rowse["id"]."` WHERE `creatoda` = '$_SESSION[username]' ") or die(mysqli_error($con));
              
            
         while($row1 = mysqli_fetch_assoc($result1))
             {   
                                
          echo' <form action="subreseller.php" method="post" id="f'.$rowse["id"].$row1["ssh"].'"></form>';
         }
    
         $rf = "'";
                    echo'<td>'.$rowse["nome"].'</td>';
                      echo'<td>'.$rowse["id"].'</td>';
               echo'</tr>';
                }
                ?>
</tbody>
            </table>
        
          
        
            <table class="table table-bordered table-hover" width="100%" cellspacing="0">
              <tbody>       
              </tbody>
            </table>
          </div>
           </div>
</div>
   <?php
    }
    ?>
 
    </div></div>
   <script type="text/javascript">
<!--
var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1");
//-->
   </script>

grazie a tutti.
 
allora ragazzi ho fatto un passo avanti
ho creato una tabella nel db dove importo i miei file
ecco il codice
PHP:
<?php
// se è stato inviato il file...
if(isset($_POST['invia']))
{
    // se ci sono stati problemi nell'upload del file
    if(!isset($_FILES['file_inviato']) OR $_FILES['file_inviato']['error'] != UPLOAD_ERR_OK)
    mostra_form("errore nell'invio del file. Riprova");

    // connessione e selezione del database
    mysql_connect('localhost', 'user', 'password')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('panel'))
    die('Selezione database fallita!');

    // recupero alcune informazioni sul file inviato
    $nome_file_temporaneo = $_FILES['file_inviato']['tmp_name'];
    $nome_file_vero = $_FILES['file_inviato']['name'];
    $tipo_file = $_FILES['file_inviato']['type'];

    // leggo il contenuto del file
    $dati_file = file_get_contents($nome_file_temporaneo);

    // preparo il contenuto del file per la query
    $dati_file = addslashes($dati_file);

    // query per inserire il file nel DB
    $query = "INSERT INTO tabella_files SET
                nome_file = '$nome_file_vero',
                tipo_file = '$tipo_file',
                dati_file = '$dati_file'";

    mysql_query($query)
    OR die('Query non valida: ' . mysql_error());

    // mostro nuovamente il form ed un messaggio di successo
    mostra_form("Memorizzazione del file <b>$nome_file_vero</b> nel database eseguita correttamente.");
}
else
{
    mostra_form();
}

/**
* Mostra il form per l'upload del file
*
*/
function mostra_form($messaggio = '')
{
    ?>
  
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Carica file nel database</title>
    </head>
  
    <p><?php echo $messaggio?> <br /> Seleziona un file da memorizzare nel database: <p></p>
    <form name="form1" enctype="multipart/form-data" method="post" action="">
    <p>
    <input type="file" name="file_inviato">
    <p></p>
    <p>
    <input type="submit" name="invia" value="Invia file">
    <p></p>
    </form>
  
  
    <?php
    exit();
}
?>
dopo tramite qesto codce riesco a prelevare il file che ho aggiunto
PHP:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Carica file nel database</title>
</head>
 
<p><b>Clicca su uno dei seguenti file</b><p><p></p>
<?php
// connessione e selezione del database
mysql_connect('localhost', 'user', 'password')
or die('Connessione non riuscita: ' . mysql_error());

if(!mysql_select_db('panel'))
die('Selezione database fallita!');

// query per ottenere l'elenco dei files nel DB
$query = "SELECT * FROM tabella_files";

$risultato = mysql_query($query)
or die('Query non valida: ' . mysql_error());

// se ci sono files nel DB
if(mysql_numrows($risultato))
{
    // estrazione dei risultati e stampa dei links ai files
    while ($tmp = mysql_fetch_array($risultato))
    {
        echo "<p><a href=\"mostra.php?id=$tmp[id_file]\">$tmp[nome_file]</a></p>\n";
    }
}
else
{
    echo '<p>Nessun file presente nel database</p>';
}
?>
bene mi funziona ma come posso fare in modo che in base all'utente ed al server assegnato (vedi primo codice primo post) far assegnare il file corretto col nome uguale al nome del server?
grazie.
 
Ultima modifica:
Se sei certo che i files hanno i nomi identici ai rispettivi server ti basta andare a cercare il file $_SERVER['SERVER_NAME'] . ".txt" (ad esempio), se c'è bene altrimenti.....
 

Discussioni simili