Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    38

    move_uploaded_file non copia il file

    Salve a tutti,
    faccio alcune premesse: uso windows xp e lavoro in locale con php.
    Sto provando a scrivere un semplice codice php per fare l'upload di immagini,
    il problema è che la funzione move_upladed_file non mi copia l'immagine sulla directory...
    credo sia un problema di permessi ma controllando sulla rete e settando un pò di cosine ancora non funziona qualche idea?

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    posta il codice

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    38
    il codice è questo:

    Codice PHP:
    $upload_dir $_SERVER["DOCUMENT_ROOT"]."/data";
     
    //$upload_dir = "D:/data";

    //Eventuale nuovo nome da dare al file uploadato 
    $new_name "";

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

    if(
    trim($_FILES['cover']['name']) == ""
    { die(
    "Non hai indicato il file da uploadare !"); }

     if(@
    is_uploaded_file($_FILES['cover']['tmp_name'])) 
    { @
    move_uploaded_file($_FILES['cover']['tmp_name'], "$upload_dir/$file_name") or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload."); } 
    else { die(
    "Problemi nell'upload del file " $_FILES['cover']['name']); }
     echo 
    "L'upload del file " $_FILES['cover']['name'] . " è avvenuto correttamente"?> 

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    è già sbagliata la prima riga.
    a parte l'evidente errore, mi chiedo perchè fare l'upload in locale per testare.. se hai un dominio, anche windows, fai là le tue prove..
    nella tua fattispecie comunque o usi il percorso c:/eccetera o usi $_SERVER["DOCUMENT_ROOT"]
    usare entrambi non va..
    puoi fare
    Codice PHP:
    $upload_dir $_SERVER["DOCUMENT_ROOT"]."cartella/"// 
    dove al posto di cartella metti la cartella effettiva
    ah!! in fase di sviluppo ti consiglio di togliere le @ tipo
    if(@is_uploaded_file($_FILES['cover']['tmp_name'])) diventa
    if(is_uploaded_file($_FILES['cover']['tmp_name']))

    ah.. vedo anche che hai usato $_FILES['cover']['tmp_name'] mentre sopra $_FILES["img"]["name"]
    se è lo stesso file da caricare, questo è un altro errore

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    38
    Ok correggo gli errori....ma:
    su $directory anche se metto solo la path non funziona....

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    38
    Ok è andato....mi sa che il problema era la chiave...pardon!!!!

    posso chiederti, visto che ci siamo, cosa sono e a cosa servono le @ prima dell'istruzione?
    Quelle che mi hai detto di togliere in pratica.... purtroppo quel codice l'ho trovato fatto, mi sto limitando a smanettare un pò per capire come funziona php

  7. #7
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    le @ quando le metti evitano di far comparire eventuali errori, che sarebbero brutti da vedere da parte di un eventuale cliente... ovviamente su uno script da testare non ci devono essere perchè qualsiasi cosa non vada meglio saperlo..

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    serve a eliminare la stampa degli warning, sconsigliabile in fase di sviluppo

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    38
    Grazie a tutti e scusate se vi ho scomodato per semplice errori
    pensavo di averlo controllato per benino e invece no...
    Grazie mille

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.