Visualizzazione risultati 1 fino 9 di 9

Discussione: Problema script multi upload

  1. #1
    Guest

    Predefinito Problema script multi upload

    Ciao a tutti, ho fatto questo script per il caricamento di più di un'immagine. Tutte le immagini caricate si chiamano image1, image2 ecc.. Ecco lo script:

    Codice PHP:
    [...]

    $idDiario = $row['mid'] + 1;
    mkdir("immagini/diari/".$idDiario, 0777);

    //UPLOAD
    for($i = 0; $i; $i++){

    if(!isset(
    $_FILES['image'.$i])) break;

    $path = "immagini/diari/";
    $max_size = 20000000;

    if(
    is_uploaded_file($_FILES['image'.$i]['tmp_name'])){
    if(
    $_FILES['image'.$i]['size'] > $max_size){ echo "Il file &egrave; troppo grande e non potr&agrave; essere caricato!<br>\n"; exit; }
    $res = move_uploaded_file($_FILES['image'.$i]['tmp_name'], $path.$idDiario."/".$i.".png");
    if(!
    $res){ echo "Upload fallito!<br>\n"; exit; }
    }
    }

    Però non carica nessuna immagine. Cosa c'è che non va?
    Ultima modifica di tenam : 01-09-2011 alle ore 17.04.37

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    Esistono le cartelle "immagini", "diari" e "id_del_diario"?

    Poi:

    Codice PHP:
    if(is_uploaded_file($_FILES['image']['tmp_name'])){
    non dovrebbe essere:

    Codice PHP:
    if(is_uploaded_file($_FILES['image'.$i]['tmp_name'])){
    ?

    Ciao!
    Ultima modifica di alemoppo : 01-09-2011 alle ore 17.02.21

  3. #3
    Guest

    Predefinito

    Si, i percorsi sono giusti, tanto che la cartella la crea con il mkdir! Già provato anche quello, ma l'upload non va comunque..
    Ultima modifica di tenam : 01-09-2011 alle ore 17.03.39

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    Ah ecco... prima non c'era la mkdir.

    Comunque, hai corretto l'errore nella is_uploaded_file() ?

    Lo script, restituisce qualche errore?

    Ciao!

  5. #5
    Guest

    Predefinito

    Corretto, si. Inoltre lo script non restituisce errori..


    EDIT: Ho fatto stampare dei messaggi all'interno del ciclo for, ma non li stampa affatto. Significa che il ciclo non parte proprio. Ma perchè?
    Ultima modifica di tenam : 01-09-2011 alle ore 17.11.30

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    Dove lo hai messo l'echo? Prima o dopo della riga:

    Codice PHP:
    if(!isset($_FILES['image'.$i])) break;
    ?

    Perché, se l'hai messo dopo, FORSE può essere che in realtà non esistono le varie $_FILES['image'.$i]...

    Ciao!

  7. #7
    Guest

    Predefinito

    E' questo il bello. L'ho messo anche prima..

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    ma LOL

    Scusami, ma il for non l'avevo nemmeno letto!


    Codice PHP:
    for($i = 0; $i; $i++){
    Ovviamente non può andare, perché all'inizio $i è 0, quindi false...

    Dovresti fare una cosa come:

    Codice PHP:
    for($i = 0; $i<$k; $i++){
    Dove $k è il numero di file caricati...

    Oppure, (soluzione brutta), nel tuo caso visto che hai messo quel break, puoi sostituirlo anche con un:

    Codice PHP:
    $i=0;
    while(
    1) {
    ///codice
    ++$i;
    }
    oppure
    Codice PHP:
    for($i = 0; ; $i++){
    ... ed esce dal ciclo tramite il break che hai messo...

    Ciao!
    Ultima modifica di alemoppo : 01-09-2011 alle ore 17.26.26

  9. #9
    Guest

    Predefinito

    Grazie mille! Adesso va :D

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •