Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [upload a ... molti]

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    225

    [upload a ... molti]

    Salve,
    ho un grattacapo.
    Ho fatto unop script che allega dei file a più utenti memorizzati precedentemente in un DB.
    Il problema è che il file viene allegato solo al primo utente e dopo si blocca tutto. Ecco il codice:

    <?php
    //connessione
    ,,,

    //allega aolo a quelli che hanno il campo a X
    $search_ag = "SELECT ... FROM ... WHERE campo = 'X'";
    $res_ag = mysql_query($search_ag);
    if(!$res_ag)
    die ("Error Sql: search_ag");

    for ($i = 0; $i < mysql_num_rows($res_ag); $i++) {
    $nome = mysql_result($res_ag, $i, "nome");
    $cognome = mysql_result($res_ag, $i, "cognome");
    $username = mysql_result($res_ag, $i, "username");

    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    $path = $nome . "_" . $cognome;
    $dir = "C:/web/dir/$path";
    @mkdir ($dir, 0);

    //Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];

    if(trim($_FILES["upfile"]["name"]) == "") {
    echo "Non hai scelto il file da allegare";
    }

    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
    $allowed_types = array("application/pdf");
    if(!in_array($_FILES["upfile"]["type"], $allowed_types)) {
    echo "Il file non è di un tipo consentito";
    }
    else {
    if(!@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")) {
    echo "Directory inesistente";
    }
    }
    }
    else {
    echo "Problemi: Controllare il nome o l\'estensione del file";
    }

    }//end for
    ?>

    In pratica al primo giro mi allega il file, mentre al secondo, stampa:
    "Problemi: Controllare il nome o l\'estensione del file".

    Dove sbaglio?
    Grazie

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    nn funzia + perchè una volta spostato il file questo nn risiederà più nella cartella temporanea


    dovresti copiarlo da qualche parte sul server, x poi ricopiarlo nello spazio di ogni utente...
    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    225

    [upload ... a molti]

    vero, hai ragione
    suggerimenti ... "codificanti"?

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    potresti fare così:
    1. controllare il tipo di file
    2. in caso positivo copiarlo da qualche parte
    3. eseguire la query
    4. dentro il ciclo con i risultati della query copiare tot volte il file
    think simple think ringo

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    225

    [upload a .... molti]

    Ciao,
    ho fatto come dici tu:

    potresti fare così:
    1. controllare il tipo di file
    2. in caso positivo copiarlo da qualche parte
    3. eseguire la query
    4. dentro il ciclo con i risultati della query copiare tot volte il file

    il file l'ho copiato in una cartella di appoggio.
    Ora nel ciclo devo copiare tale file in un'altra cartella.
    Come faccio a fare copie di file tra directory??

    Grazie

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    una cosa di questo tipo:
    codice:
    $i=0;
    ciclo{
    	nuova_posizione=nuova_posizione.$i;
    	copia(file_di_origine,nuova_posizione);
    	$i++;
    }
    think simple think ringo

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    225

    [upload a ... molti]

    ok,
    ma la copia(...,...) è una funzione di php??

  8. #8

  9. #9
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da nemo74na
    ok,
    ma la copia(...,...) è una funzione di php??
    Originariamente inviato da pugia
    Credo che sia un lapsus...

    http://it.php.net/manual/it/function.copy.php
    perchè 'ciclo' e la variabile senza $ invece??

    era una specie di pseudocodice...
    think simple think ringo

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    225

    [upload a ... molti]

    Non va la copy, dal link che mi hai postato dice:

    "Se il parametro dest punta ad un URL, l'operazione di copia potrebbe fallire se il wrapper non supporta la sovrascrittura di file esistenti"

    Come faccio a farlo supportare??

    Mah..!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.