Pagina 3 di 5 primaprima 1 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 44
  1. #21
    Quote Originariamente inviata da arkus Visualizza il messaggio
    Non è molto chiaro il problema,
    l'estensione si perde in che punto? in database è presente? Se stampi la variabile $filename , vedi l'estensione?
    L'estensione si perde "nel codice", nel database c'è il nome corretto.
    Più pratica in futuro...

  2. #22
    Ho provato anche questa altra soluzione:

    Codice PHP:
    if ($_GET['action'] == 'download') {
            
    $mimetype 'application/octet-stream';
            
    $disposition 'attachment';
        }
        
    $path $_SERVER['DOCUMENT_ROOT'] . "/file_download/" $filename;
        if (
    file_exists($path)) {
            
    header('Content-Transfer-Encoding: binary');
            
    header('Last-Modified: ' gmdate('D, d M Y H:i:s'filemtime($path)) . ' GMT');
            
    header('Accept-Ranges: bytes');
            
    header('Content-Length: ' filesize($path));
            
    header('Content-Encoding: none');
            
    header("Content-Type: $mimetype");
            
    header("Content-Disposition: $disposition; filename=" $filename);
            
    readfile($path);
        } else {
            echo 
    "File not found on server";
        } 
    ma mi da lo stesso errore (file bianco senza icona ). Nel database leggo nomefile.JPG ma sul desktop leggo nomefile. Se rinomino nomefile in nomefile.jpg l'os mi riconosce il file e mi permette di visualizzarlo con l'utility di sistema.
    Più pratica in futuro...

  3. #23
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    Se fai una stampa di

    Codice PHP:
    echo "extension: ".pathinfo($filenamePATHINFO_EXTENSION)." -  file name:".$filename
    cosa vedi esattamente? (riporta un esempio concreto)

  4. #24
    Quote Originariamente inviata da arkus Visualizza il messaggio
    Se fai una stampa di

    Codice PHP:
    echo "extension: ".pathinfo($filenamePATHINFO_EXTENSION)." -  file name:".$filename
    cosa vedi esattamente? (riporta un esempio concreto)
    extension: JPG - file name:1399637161IMG 0324.JPG
    Più pratica in futuro...

  5. #25
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    Giannino, stai creando un pò di confusione,
    devi andare per step,
    il problema è nel primo passaggio, il salvataggio del file, poi puoi preoccuparti del download.
    Prova a riportare il codice che effettu al'upload

  6. #26
    Quote Originariamente inviata da arkus Visualizza il messaggio
    Giannino, stai creando un pò di confusione,
    devi andare per step,
    il problema è nel primo passaggio, il salvataggio del file, poi puoi preoccuparti del download.
    Prova a riportare il codice che effettu al'upload
    E' strano che dici questo perché l'upload funziona perfettamente. Ecco il codice:

    Codice PHP:
    if (isset($_POST['action']) and $_POST['action'] == 'upload') {
        
    // Bail out if the file isn't really an upload
        
    if (!is_uploaded_file($_FILES['upload']['tmp_name'])) {
            
    $error 'There was no file uploaded!';
            include 
    $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
            exit();
        }
        
    $uploadfile $_FILES['upload']['tmp_name'];
        
    $uploadname time() . $_SERVER['REMOTE_ADD'] . $_FILES['upload']['name'];
        
    $uploadtype $_FILES['upload']['type'];
        
    $uploaddesc $_POST['desc'];
        
    $uploaddata file_get_contents($uploadfile);
        
    // Creazione dell'url per caricare il file nel database
        
    $url $_SERVER['DOCUMENT_ROOT'] . '/file_download/' $uploadname;
        try {
            
    copy($_FILES['upload']['tmp_name'], $url);
        } catch (
    Exception $e) {
            
    $error 'Copia del file sul server non riuscita!';
            include 
    $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
            exit();
        }
        include 
    'db.inc.php';

        try {
            
    $sql 'INSERT INTO filestore SET
            filename = :filename,
            mimetype = :mimetype,
            description = :description,
            url = :url'
    ;
            
    $s $pdo->prepare($sql);
            
    $s->bindValue(':filename'$uploadname);
            
    $s->bindValue(':mimetype'$uploadtype);
            
    $s->bindValue(':description'$uploaddesc);
            
    $s->bindValue(':url'$url);
            
    $s->execute();
        } catch (
    PDOException $e) {
            
    $error 'Database error storing file!';
            include 
    $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
            exit();
        }

        
    header('Location: .');
        exit();

    la variabile url non la guardare la toglierò presto dato che non serve a nulla...
    Più pratica in futuro...

  7. #27
    se vuoi ti mando tutto il lavoro anche con il database
    Più pratica in futuro...

  8. #28
    arkus ho capito!

    funzionano entrambi i codici, non perdere altro tempo... il problema non ci crederai ma è il maiuscolo!

    se cambio .JPG in .jpg funziona!

    per cui bisogna sostituire la variabile $uploadname, azz... ma a questo punto ho paura che tu avessi già intuito perché mi hai chiesto il codice di upload, ho indovinato?

    comunque come si cambia l'estensione di un file?

    Codice PHP:
    $uploadfile $_FILES['upload']['tmp_name'];
        
    $uploadname time() . $_SERVER['REMOTE_ADD'] . $_FILES['upload']['name'];
        
    $spliturl explode ("."$uploadname);
        
    $file_extension $spliturl[sizeof($spliturl)-1];
        
    $file_extension_minuscolo strtolower($file_extension);
    ...
    ??? 
    Altra domanda: è formalmente corretto sostituire tutte le estensioni dei file in estensioni minuscole durante il download oppure si rischiano controindicazioni?
    Più pratica in futuro...

  9. #29
    No scusa, ho detto un'altra cretinata... sono gli spazi a dare dei problemi!
    Più pratica in futuro...

  10. #30
    Ho trovato la soluzione, eccola:

    Codice PHP:
    $uploadname str_replace(' ''_'$uploadname); 
    Più pratica in futuro...

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.