Cancellazione File dal Server.

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
lo script completo è nel post 18
ho dovuto dividere in 18 e 19 perché mi accetta solo 5 png ed io ne avevo 6
 

My Design Community

Nuovo Utente
2 Nov 2015
17
0
0
Sembra diverso da quello iniziale ... che ne dici se proviamo uno script che cancella solo il file più vecchio in una cartella specifica senza fare nessun backup ?
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
non è diverso, ho fatto copia incolla da uno dei post, ho solo scelto quello che ha i return senza null'altro

scusa ho modificato
PHP:
  $directory = "/web/files_jpa"; // <- inserisci path senza barra finale 
  $FileExt = ".jpa"; // <- inserisci l'estensione del file o comunque la parte finale da controllare

e ho aggiunto la parte necessaria a creare url ma non inficia il resto
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
Sembra diverso da quello iniziale ... che ne dici se proviamo uno script che cancella solo il file più vecchio in una cartella specifica senza fare nessun backup ?

basta eseguire la sola istruzione
PHP:
DeleteOldestFile();



potrebbe essere che i files sono in una cartella sulla quale non hai diritti di cancellazione ?
 

My Design Community

Nuovo Utente
2 Nov 2015
17
0
0
basta eseguire la sola istruzione
PHP:
DeleteOldestFile();



potrebbe essere che i files sono in una cartella sulla quale non hai diritti di cancellazione ?

Se volessi usare solo la funzione di cancellazione (senza Backup) va bene questo codice su un nuovo file PHP ?

<?php

function DeleteOldestFile() {

$directory = "/web/..."; // <- inserisci path senza barra finale
$FileExt = ".jpa"; // <- inserisci l'estensione del file o comunque la parte finale da controllare

if (is_dir($directory))
{
if ($directory_handle = opendir($directory))
{
while (($FileName = readdir($directory_handle)) !== false)
{
$FileRef = $directory."/".$FileName;

if ( !is_dir($FileRef) )
{
$FileCtime = filectime($FileRef);

// echo $FileName."<br />".$FileCtime."<br />";

if ( substr($FileName, -strlen($FileExt)) == $FileExt and ( empty($OldestFile) or $FileCtime < $OldestCtime ) )
{
$OldestFile = $FileRef;
$OldestCtime = $FileCtime;
}
}
}
closedir($directory_handle);

if ( empty($OldestFile) ) return;
else
{
echo $OldestFile."<br />";
// unlink($OldestFile);
return;
}
}
}
}
?>

Ho provato ma non genera nulla neppure errori.
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
devi chiamare la funzione
PHP:
<?php

DeleteOldestFile(); // chiamo la funzione

function DeleteOldestFile() {
....
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
leggendo sulle "Permissions", ben spiegate in
http://linuxcommand.org/lts0070.php

r-x = 101 in binary = 5

secondo me,
la directory ed i files dovrebbero avere permission = "775"
per poter essere cancellati non dal solo "owner"

volendo mettere "777" tutti gli utenti (loggati) possono agire sul file/directory
 

My Design Community

Nuovo Utente
2 Nov 2015
17
0
0
I permessi vanno bene.

Ecco la cosa strana ... se creo un altro file PHP con la sola funzione di cancellazione tutto OK mentre se uso un unico file No.

Con questo script in un unico file appare una schemata bianca senza errori ma se vado a controllare nella cartella il file è cancellato.

<?php

DeleteOldestFile();

function DeleteOldestFile() {

$directory = "/web/..."; // <- inserisci path senza barra finale
$FileExt = ".jpa"; // <- inserisci l'estensione del file o comunque la parte finale da controllare

if (is_dir($directory))
{
if ($directory_handle = opendir($directory))
{
while (($FileName = readdir($directory_handle)) !== false)
{
$FileRef = $directory."/".$FileName;

if ( !is_dir($FileRef) )
{
$FileCtime = filectime($FileRef);

// echo $FileName."<br />".$FileCtime."<br />";

if ( substr($FileName, -strlen($FileExt)) == $FileExt and ( empty($OldestFile) or $FileCtime < $OldestCtime ) )
{
$OldestFile = $FileRef;
$OldestCtime = $FileCtime;
}
}
}
closedir($directory_handle);

if ( empty($OldestFile) ) return;
else
{
// echo $OldestFile."<br />";
unlink($OldestFile);
return;
}
}
}
}
?>
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
Con questo script in un unico file appare una schemata bianca senza errori ma se vado a controllare nella cartella il file è cancellato.
è corretto perché non c'è nessuna istruzione di "output" attiva, anche "echo" è commentato

hai provato a dare i permessi al livello "777" sui files e sulle directories, quella che contiene i files e quelle sopra ?

non ho al momento idea del perché non possano coesistere le due funzioni,
per me sarebbe interessante sapere "chi" e "come" esegue lo script "curl"
 

My Design Community

Nuovo Utente
2 Nov 2015
17
0
0
è corretto perché non c'è nessuna istruzione di "output" attiva, anche "echo" è commentato

hai provato a dare i permessi al livello "777" sui files e sulle directories, quella che contiene i files e quelle sopra ?

non ho al momento idea del perché non possano coesistere le due funzioni,
per me sarebbe interessante sapere "chi" e "come" esegue lo script "curl"

Il sito Web è ospitato su server Aruba mentre lo script Curl credo che lo esegua Akeeba che è il programma in Joomla che mi gestisce i Backup.

Eventualmente per dare un'istruzione di Output, tipo " File Cancellato con Successo ", cosa si dovrebbe inserire/modificare ?
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
Eventualmente per dare un'istruzione di Output, tipo " File Cancellato con Successo ", cosa si dovrebbe inserire/modificare ?

PHP:
<?php

DeleteOldestFile(); 

function DeleteOldestFile()
{ 
  $directory = "/web/files_jpa"; // <- inserisci path senza barra finale 
  $FileExt = ".jpa"; // <- inserisci l'estensione del file o comunque la parte finale da controllare 
  $OldestFile = "";

  if (is_dir($directory)) 
  {  
    if ($directory_handle = opendir($directory)) 
    {  
      while (($FileName = readdir($directory_handle)) !== false) 
      {  
        $FileRef = $directory."/".$FileName; 

        if ( !is_dir($FileRef) ) 
        {  
          $FileCtime = filectime($FileRef); 

          // echo $FileName."<br />".$FileCtime."<br />"; 

          if ( substr($FileName, -strlen($FileExt)) == $FileExt and ( empty($OldestFile) or $FileCtime < $OldestCtime ) ) 
          {  
            $OldestFile  = $FileRef; 
            $OldestCtime = $FileCtime; 
          } 
        }
      } 
      closedir($directory_handle); 

      if ( empty($OldestFile) ) echo $directory."/*".$FileExt." NON TROVATO" ; 
      else                      echo $OldestFile . ( unlink($OldestFile)  ? " cancellato" : " NON CANCELLATO" );
      echo "<br /> <br />"; 
    } 
  } 
} 
?>
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
leggendo sul sito di akeeba, nel supporto, trovo questo post,
https://www.akeebabackup.com/suppor...-remove-delete-files-older-than-x.html#p49564
l'esperto risponde,
The internal backups can be deleted based on total size of the backups or number of backup files
sembra quindi che akeeba sia in grado di cancellare autonomamente i files quando questi superano un certo numero
riducendo lo scritto al necessario,
internal backups can be deleted based on number of backup files
forse non serve un processo esterno ma una verifica della configurazione, con il manuale alla mano

probabilmente, in qualche modo akeeba tiene traccia dei file di backup, cancellandoli al di fuori del processo di backup,
potrebbe "aversene a male"


da un altro post della serie ....
Enable remote quotas, enable count quotas and set the Count Quotas option to 30. Quick and easy
 
Ultima modifica:

My Design Community

Nuovo Utente
2 Nov 2015
17
0
0
leggendo sul sito di akeeba, nel supporto, trovo questo post,
https://www.akeebabackup.com/suppor...-remove-delete-files-older-than-x.html#p49564
l'esperto risponde,

sembra quindi che akeeba sia in grado di cancellare autonomamente i files quando questi superano un certo numero
riducendo lo scritto al necessario,

forse non serve un processo esterno ma una verifica della configurazione, con il manuale alla mano

probabilmente, in qualche modo akeeba tiene traccia dei file di backup, cancellandoli al di fuori del processo di backup,
potrebbe "aversene a male"


da un altro post della serie ....

Nella versione free di Akeeba non c'è traccia di queste configurazioni che cancellerebbero i Backup più vecchi.
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
Nella versione free di Akeeba non c'è traccia di queste configurazioni che cancellerebbero i Backup più vecchi.

nella pagina,
https://www.akeebabackup.com/products/46-software/405-akeeba-core-vs-professional.html

le caratteristiche di "the free of charge Akeeba Backup Core and the subscription-only Akeeba Backup Professional", sono indicate rispettivamente nella prima e seconda colonna,
Cattura.PNG
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Ripristino windows8 su HD e cancellazione file precedenti! Hardware 35
F problemi con la cancellazione di un file PHP 2
R cancellazione stringa da file PHP 2
S errore cancellazione file Windows e Software 8
MarcoGrazia foreign key cancellazione degli alberi figli di un nodo mancante MySQL 0
P Cancellazione specifici files in una folder php PHP 1
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
spider81man [PHP] Alert Box per confermare Inserimento o Cancellazione dato. PHP 4
G Samsung tab 4 - impostazione e cancellazione codice di accesso Smartphone e tablet 0
M Modifica e/o Cancellazione dati da database MySql PHP 2
seranto Mi rifiutano la cancellazione di un articolo Leggi, Normative e Fisco 5
E messaggio di conferma dopo inserimento/modifica/cancellazione righe db PHP 10
filippino Microsoft Outlook, IMAP e cancellazione posta Posta Elettronica 0
A Prezzo dinamico carrello e messaggio cancellazione Javascript 1
R Modifica e cancellazione dati da MDB Classic ASP 11
F Quali sono i canali previsti dalla legge per richiedere la cancellazione dei dati personali? Leggi, Normative e Fisco 6
N Cancellazione Immagine Utente e Echo conferma cancellazione PHP 2
M Ckeckbox multiple per cancellazione record su db mysql PHP 0
F Cancellazione record PHP 2
P Problema script conferma cancellazione Javascript 2
M Creazione di una pagina web per la cancellazione da una mailing list PHP 13
P problema con cancellazione multipla PHP 7
R Modifica e cancellazione PHP 23
P Cancellazione record PHP 102
maxbossi Cancellazione da forum e rimozione messaggi Comunicazioni dallo Staff 3
G Creazione interfaccia VISUALIZZAZIONE/CANCELLAZIONE dati database PHP 1
B CANCELLAZIONE RECORD IN LOOP NON MI VA! (aiuto) Classic ASP 4
C Cancellazione-Annulla Registrazione Dati appena Inseriti nel Form dall' Utente PHP 13
I Cancellazione sito dal server Webdesign e Grafica 4
A query di cancellazione PHP 6
A Richiesta cancellazione post sul forum Supporto Mr.Webmaster 1
P Problema di cancellazione record su MySql php PHP 0
D cancellazione campo di form Classic ASP 0
SolidSnake4 cancellazione non riuscita PHP 4
G cancellazione messaggi guestbook Supporto Mr.Webmaster 2
D Cancellazione news e relative immagini PHP 1
F cancellazione sito vecchio/pubblicazione sito nuovo HTML e CSS 5
cosov Messaggio conferma per cancellazione record Javascript 1
W Inserimento e cancellazione nodi con XMLDOM XML 1
M cancellazione da Mrwebmaster Tool Supporto Mr.Webmaster 2
D problema cancellazione cartelle PHP 3
M help inserimento e cancellazione record Database 3
E fpdf salvare e aprire il file PHP 4
I asp | includere un file, indirizzo depositato in un db Classic ASP 0
felino [Windows 10] Scompare icone, file e collegamenti sul desktop Windows e Software 0
S passare un valore da un form a un file .php con metodo post PHP 4
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
G file CSS contenente variabili HTML e CSS 1
M Creare traccia di download file sul server HTML e CSS 2
I elimina file PHP 1

Discussioni simili