Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di breiko
    Registrato dal
    Jan 2003
    Messaggi
    53

    Problema con file upload (server windows)

    Ciao, ecco il codice:

    Codice PHP:
    <?php
    if ( ! empty ( $_POST['send'] ) ){
    // Nelle versioni di PHP precedenti alla 4.1.0 si deve utilizzare  $HTTP_POST_FILES anzichè
    // $_FILES.
    $uploaddir '/public/immagini/';
    $uploadfile $uploaddir basename($_FILES['userfile']['name']);
    echo 
    "<pre>";
    if (
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
       echo 
    "File is valid, and was successfully uploaded.\n";
    } else {
       echo 
    "Possibile attacco tramite file upload!\n";
    }
    echo 
    'Alcune infromazioni di debug:';
    print_r($_FILES);

    print 
    "</pre>";
    }
    ?> 

    <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
        
        <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
        
        Send this file: <input name="userfile" type="file" />
                <input type='hidden' name='send' value='1'>
        <input type="submit" value="Send File" />
    </form>
    L'ho preso pari pari dalla guida di php, quindi dovrebbe essere corretto.

    Ecco l'output:
    codice:
    Possibile attacco tramite file upload!
    Alcune infromazioni di debug:Array
    (
        [userfile] => Array
            (
                [name] => rosso.jpg
                [type] => 
                [tmp_name] => 
                [error] => 2
                [size] => 0
            )
    
    )
    Sono su server windows (purtroppo) ed è la prima volta che incorro in questi problemi..
    Sapete quale può essere la causa? Forse il path? Non capisco proprio..

    Grazie, ciao.

  2. #2
    Utente di HTML.it L'avatar di breiko
    Registrato dal
    Jan 2003
    Messaggi
    53
    Ok ho risolto.
    Era la dimensione del file.

  3. #3
    ciao ti posso chiedere come hai risolto? perche anche io ho un sito su server windows di aruba, ma a me non copia nessun file sul server, ne tantomeno mi da nessun resoconto quando faccio print_r($_FILES);

    perche?

  4. #4
    Utente di HTML.it L'avatar di breiko
    Registrato dal
    Jan 2003
    Messaggi
    53
    Guarda molto probabilmente hai una versione di php precedente alla 4.1.0.
    In questo caso non esiste la variabile $_FILES e devi usare $HTTP_POST_FILES.

    Ti consiglio comunque di consultare la guida http://it.php.net/manual/it/features.file-upload.php

    Ciao

  5. #5
    Il mio sito è locato su server aruba, come faccio a vedere che versione di php hanno?

  6. #6
    PS scuzsami ancora, come si usa l'HTTP_... che mi hai detto tu? cioè come dovrei sostituirlo nel mio codice che è:
    $path = "AreaTecnica";
    chmod("$path", 775);
    if( $allegato != null ) {
    $tmp_name = $_FILES['allegato']['tmp_name'];
    $disegno = $_FILES['allegato']['name'];
    move_uploaded_file($tmp_name, $path."/".$disegno) or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
    }

    Scusami ma non sono tanto esperto...GRAZIE MILLLLLLLE

  7. #7
    Utente di HTML.it L'avatar di breiko
    Registrato dal
    Jan 2003
    Messaggi
    53
    Ok. Ora ti sei spiegato. Se sei su aruba la versione del php è sicuramente superiore alle 4.1.0.

    Il tuo è un problema di permessi, probabilmente perché sei in hosting windows (giusto?).
    Prova a spostare il tuo script nella cartella "public" che si trova in root e vedrai che funzionerà. Infatti con l'hosting windows gli script non possono scrivere al di fuori di quella directory (tutte le altre cartelle hanno permesso 755 non modificabile).

    Spero che ora ti sia chiaro.
    Ciao

  8. #8
    Ciao e grazie per il tuo aiuto, si hop un hosting windows, però non capisco (o meglio dimmi se ho capito bene) devo far spostare i miei file nella cartella public????ovvero nel $path dovrei avere qualcosa del genere:

    $path=public/AreaTecnica

    cosi?

    Cmq grazie mille

  9. #9
    Utente di HTML.it L'avatar di breiko
    Registrato dal
    Jan 2003
    Messaggi
    53
    Si devi spostare i file che necessitano di scrivere. Non so se basta cambiare il path come dici tu. Forse si. Se non funziona sposta anche lo script dentro a public.

    Ciao

  10. #10
    parlando di script ti riferisci al file che contiene il codice che ti ho mandato giusto?scusami ma sono alle primissime armi e so fare poco....:-)

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.