Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Hybrid View

  1. #1

    Cancellazione File dal Server.

    Salve e complimenti per il Forum ... molto utile.

    Sto cercando di far funzionare uno script PHP (lato server) ma genera degli errori.

    Lo scirpt dovrebbe funzionare tramite la prima parte nell'eseguire un Backup mentre la seconda parte dovrebbe cancellare il file più vecchio presente in una cartella specifica solo se il Backup è andato a buon fine.

    Questo è lo script:

    <?php
    $curl_handle=curl_init();
    curl_setopt($curl_handle, CURLOPT_URL, 'http://www...');
    curl_setopt($curl_handle,CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($curl_handle,CURLOPT_MAXREDIRS, 10000);
    curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER, 1);
    $buffer = curl_exec($curl_handle);
    curl_close($curl_handle);
    if (empty($buffer))
    echo "Spiacente ma qualcosa non ha funzionato.";
    else
    {
    DeleteOldestFile();
    echo $buffer;
    }

    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;
    }
    }
    }
    }
    ?>

    La prima parte dello script non mi funziona ... poi esce scritto il nome corretto almeno 100 volte e poi il seguente errore:

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator to inform them of the time this error occurred, and the actions you performed just before this error.

    More information about this error may be available in the server error log.


    Grazie.


  2. #2
    scusa ma tu vuoi cancellare un file sul server locale, o su un server remoto?
    perchè stai usando curl??

  3. #3
    Quote Originariamente inviata da fermat Visualizza il messaggio
    scusa ma tu vuoi cancellare un file sul server locale, o su un server remoto?
    perchè stai usando curl??
    Server remoto.

  4. #4
    non vorrei dire una scemenza, ma non penso che tu dal server A puoi cancellare un file sul sevrer B, usando php sul server A.

  5. #5
    Quote Originariamente inviata da fermat Visualizza il messaggio
    non vorrei dire una scemenza, ma non penso che tu dal server A puoi cancellare un file sul sevrer B, usando php sul server A.
    Lo script PHP dovrebbe funzionare solo su un server che ospita un sito Web.

  6. #6
    Quote Originariamente inviata da My Design Comm Visualizza il messaggio
    Lo script PHP dovrebbe funzionare solo su un server che ospita un sito Web.
    ma è una domanda o una affermazione??

  7. #7
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ma è una domanda o una affermazione??
    Affermazione ...

  8. #8
    allora non capisco....

    cmq, se il file php che hai scritto per cancellare un file, e il file da cancellare risiedono sullo stesso server, non hai bisogno di curl.
    basta la semplice funzione unlink.

  9. #9
    Quote Originariamente inviata da fermat Visualizza il messaggio
    allora non capisco....

    cmq, se il file php che hai scritto per cancellare un file, e il file da cancellare risiedono sullo stesso server, non hai bisogno di curl.
    basta la semplice funzione unlink.
    Spiego meglio la funzionalità dello script ...

    Il file che risiede in un server remoto deve effettuare il backup del sito Web e successivamente se questo è andato a buon fine deve cancellare il file del backup più vecchio, tutto avviene sullo stesso server ma Curl è indispensabile per eseguire il backup tramite l'apposito programma.

    Con lo script che ho postato la prima parte funziona (backup) mentre la seconda (cancellazione vecchio backup) genera errori.

  10. #10
    mai usato curl per fare backup.
    non so che strumento tu stia usando, ma ti assicuro che non è strettamente necessario.

    cmq, non penso sia un errore di curl.
    l'errore è generato dal server.
    potrebbe essere un problema di time limit.
    quanto ci mette ad eseguire quell'operazione?
    hai possibilità di modificare quel parametro ( http://php.net/manual/en/function.set-time-limit.php )?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.