Visualizzazione dei risultati da 1 a 9 su 9

Discussione: creazione file

  1. #1

    creazione file

    salve
    eseguendo uno script nella cartella "file"
    www.miosito.it/documenti/file/make.php

    e possibile creare un file nella root del sito?

    cioè come faccio a dare come percorso di creazione la root?

    grazie



  2. #2
    ho provato così:
    Codice PHP:
    <php
    //setto i permessi in scrittura x la root
    chmod($_SERVER['DOCUMENT_ROOT'], 0777);
    //creo il file assegnando il percorso
    $fh fopen($_SERVER['DOCUMENT_ROOT']."/"."file.txt""w");
    fwrite($fh"a");
     
      

    if(
    $fh==false)
        die(
    "impossibile creare il file");

    ?> 
    in locale funzia!
    ma su server il file nn viene creato

  3. #3
    prova così

    Codice PHP:

    <php
    //setto i permessi in scrittura x la root
    chmod($_SERVER['DOCUMENT_ROOT'], 0777);
    //creo il file assegnando il percorso
    $fh fopen("../../file.txt""w");
    fwrite($fh"a");
    fclose($file);
    if(
    $fh==false)
        die(
    "impossibile creare il file");

    ?> 
    Edit.: Non avevo visto che in locale andava, comunque prova quel codice che ti ho dato(non penso cambi tanto) se no al max dimmi che server hai se win o linux

  4. #4
    grazie per la risposta

    purtroppo non va...


    è server windows...

  5. #5
    Ok, allora se è win crea il file nella cartella public e trasferiscilo con uno script nella cartella voluta

  6. #6
    piccolo esempio?

  7. #7
    hai provato almeno a cercare su google o su html.it "php ftp script" ???

  8. #8
    @cablos

    dunque ...
    - usare un chmod per settare i permessi non serve in quanto se non li hai non li potrai cambiare ma se li hai ci puoi già scrivere
    - usare il percorso "../../file.txt" è poco conveniente, hai la document root quindi $_SERVER['DOCUMENT_ROOT'] . '/file.txt'
    - l'if con il controllo è meglio se lo sposti sotto l'fopen o nella stessa riga dell'fopen altrimenti riceverai altri warning dovuti alle funzioni fwrite e fclose, quindi ad esempio if (($fp = fopen($_SERVER['DOCUMENT_ROOT'] . '/file.txt', 'wb')) === false) { .......

    detto tutto questo, una soluzione alternativa è quella proposta da FFMM, ovvero quella di usare le funzioni FTP per l'accesso ai file del sito con i permessi dell'utente che li ha uploadati ( www.php.net/ftp )

    Questi problemi derivano dal fatto che mentre l'utente che crea i file è, ad esempio, quello che accede tramite php ... l'utente che accede ai file è quello del webserver (iis o apache)

    In realtà, sia per iis che per apache ci sono le soluzioni perché iis supporta nativamente la creazione di un ambiente di esecuzione a cui associare i siti e all'ambiente di esecuzione si possono associare utente e gruppo di esecuzione mentre per apache ci sono varie soluzioni, alcune scadenti come suphp o l'uso di php come cgi e l'uso di suexec o soluzioni molto più efficenti come l'uso dell'mpm-itk

    se nel pannello di controllo hai un file manager dovresti poter impostare i permessi altrimenti, dato che molti provider creano una cartella scrivile da php quando si lavora su windows, chiamata spesso public, invece di scrivere nella root del sito scrivi dentro public quindi modifichi l'fopen facendo

    Codice PHP:
    if (($fp fopen($_SERVER['DOCUMENT_ROOT'] . '/public/file.txt''wb')) === false)
    {
      die(
    'Impossibile aprire/creare il file!');
    }

    fwrite($fp"a"); 
    fclose($fp); 
    spero di essere stato d'aiuto

  9. #9
    lol, sei stato d'aiuto pure a me, thx

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.