Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problemi con copy

  1. #1

    problemi con copy

    ho dei problemi a copiare con "copy" (script php) tra cartelle i file caricati sul sito dai diversi utenti! Credo dipenda dai permission di default dati ai file caricati ma non capisco come uscirne.

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    se non posti un po' di codice con eventuali errori è difficile capire.

    Prova a controllare il proprietario delle directory con un client ftp e vedi se è lo stesso con cui gira il web server (lo puoi vedere controllando i file creati dalla tua applicazione).

    ciao

  3. #3

    maggiori dettagli

    1) carico i file sul sito con FLASH che punta al seguente file PHP

    <?php
    if ($_FILES['Filedata']['name']) {
    $uploadDir = "../images/";
    $uploadFile = $uploadDir .$_SERVER["REMOTE_ADDR"].".jpg";
    move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile);
    chmod($uploadFile, 0777);
    }
    ?>
    prende il file lo rinomina e lo mette nella cartella "images".
    I problemi nascono quando cerco di spostare il file in una seconda cartella col seguente pezzo di codice:

    $ID=$_POST["IDf"];
    if(! is_dir("../immagini/".$_POST["IDf"]))
    {
    mkdir("../immagini/".$_POST["IDf"],"0755");
    }
    $NomeFinaleFoto = time().$_SERVER["REMOTE_ADDR"].".jpg";
    chmod("../images/".$_SERVER["REMOTE_ADDR"].".jpg","0755");
    copy("../images/".$_SERVER["REMOTE_ADDR"].".jpg","../immagini/".$_POST["IDf"]."/".$NomeFinaleFoto)


    la nuova cartella viene creata il file non viene spostato!
    Su Localhost funziona tutto, quindi ritengo sia una questione di permission e privilegi ma di più non saprei!!
    Da totale profano credo che tutto dipenda dalle attribuzioni di default alle cartelle ed ai file,
    cose come "owner", "others" "group" !!!!

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    se crei tu la cartella tramite php e questa viene creata problemi di permessi non dovrebbero essercene.

    Sinceramente non ho analizzato bene come componi il percorso, ma io ricercherei il problema li.

    Passando da flash è un po' più difficile fare debug perchè non vedi a video gli errori lanciati dal php, ma se provi a scrivere in un file il percorso puoi provare a vedere cosa cerchi di fare.

    Ti consiglio dopo la procedura di creazione della directory di inserire solo per debug queste linee di codice:

    codice:
    $filelog = './upload.log';
    $h = fopen($filelog, 'a');
    fwrite($h, 'copy("../images/"'.$_SERVER["REMOTE_ADDR"].'".jpg","../immagini/"'.$_POST["IDf"].'"/"'.$NomeFinaleFoto.')');
    fclose($h);
    Dovresti trovare dopo l'upload nella stessa directory del file php che esegue l'upload un file di log, con dentro il comando copy che esegui.
    Prova a vedere se nella sintassi c'è qualche errore.
    Inoltre potresti provare anche a forzare il log degli errori php su un file di cui conosci il percorso.
    All'inizio del tuo file php prova a mettere anche :

    codice:
    ini_set('error_log', 'percorso/php.log');
    e prova dopo l'upload a vedere il contenuto di questo file.

    Tutte queste operazioni sono solo per il debug, poi toglile dal tuo file.

    Ciao

  5. #5

    thanks!!

    problema risolto!! Grazie ai tuoi illuminanti consigli!!!

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.