Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Upload su server windows

    Eccomi alle prese con il solito annoso problema: l'upload via script su server windows.
    Sì, so che qualcuno di voi dirà "Passa a linux!", e a ragione, ma non si può, perchè sto lavorando per uno studio grafico, che a sua volta lavora per un'agenzia di comunicazioni, che a sua volta si appoggia ad un hosting, quindi in pratica è impossibile far arrivare al destinatario il fatidico messaggio. Per cui al momento si lavora su server windows.
    Il punto è che non riesco a capire che percorso devo usare per effettuare l'upload.
    Ho creato un file percorso.php per trovare appunto il percorso:
    Codice PHP:
    <?php
     $p 
    getcwd();
     echo 
    $p;
    ?>
    e mi dà questo indirizzo: E:\Inetpub\wwwilmiosito

    Allora io ho usato questo codicillo già pronto per testare l'upload:
    Codice PHP:
    <?PHP

        
    //switch errori
        
    print "Errore: ".$_FILES['miofile']['error']."
    "
    ;
        print 
    "Nome temporaneo: ".$_FILES['miofile']['tmp_name']."
    "
    ;
        print 
    "Nome originale: ".$_FILES['miofile']['name']."
    "
    ;
        print 
    "Size: ".$_FILES['miofile']['size']."
    "
    ;
        print 
    "Tipo: ".$_FILES['miofile']['type']."
    "
    ;
        if (
    $_FILES['miofile']['error']==UPLOAD_ERR_OK) {
            if (
    is_uploaded_file($_FILES['miofile']['tmp_name'])) {
        
            
    // RECUPERO I PARAMETRI DA PASSARE ALLA FUNZIONE PREDEFINITA PER L'UPLOAD
                
    $cartella "E:\\Inetpub\\wwwilmiosito\\img\\gallery";
                
    $percorso $_FILES['miofile']['tmp_name'];
                
    $img $_FILES['miofile']['name'];
                
    // ESEGUO L'UPLOAD CONTROLLANDO L'ESITO
                
    if (move_uploaded_file($percorso,"$cartella\\$img"))
                {
                    print 
    "Upload eseguito con successo"
                }
                else
                {
                    print 
    "Si sono verificati errori durante lo spostamento dalla cartella temporanea a quella definitiva"
                }
            }
        }
    ?>
    Provando a fare l'upload di un file, mi dice:
    Warning: move_uploaded_file(E:\Inetpub\wwwilmiosito\img\gal lery\fac01.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in E:\Inetpub\wwwsonusfaber\upload\uploadit.php on line 21

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINNT\Temp\php174.tmp' to 'E:\Inetpub\wwwilmiosito\img\gallery\fac01.jpg' in E:\Inetpub\wwwsonusfaber\upload\uploadit.php on line 21

    Qualcuno mi sa dire come risolvere questa rogna? Sto sbagliando io o il percorso non è corretto?

  2. #2
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    scusa la domanda banale, ma hai dato i permessi in scrittura alla cartella?

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Su server IIS, c'è una cartella ben determinata (normalmente si chiama "public") su cui puoi effettuare upload. Potrai al limite spostare successivamente i file dalla cartella public alla cartella di destinazione che volevi tramite ftp (le funzioni di php per ftp)...
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Originariamente inviato da mariox
    scusa la domanda banale, ma hai dato i permessi in scrittura alla cartella?
    Su server windows solitamente i permessi sono settati di default.
    Dò questa cosa per scontata, dato che per averne conferma devo passare almeno due giorni.
    Io continuo a pensare che sia un problema di percorso.

  5. #5
    Originariamente inviato da Andrea1979
    Su server IIS, c'è una cartella ben determinata (normalmente si chiama "public") su cui puoi effettuare upload. Potrai al limite spostare successivamente i file dalla cartella public alla cartella di destinazione che volevi tramite ftp (le funzioni di php per ftp)...
    Ciao Andrea! Avevo provato a salutarti su skype!
    Comunque la cartella public non c'è, e in ogni caso il tuo discorso non è corretto.
    Sul mio vecchio server windows dovevo usare il percorso: C:\Domains\miosito.it\wwwroot\miacartella
    Questo mi spinge a pensare che ogni server windows possa avere un percorso diverso.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    infatti ho detto "normalmente si chiama public"... poi ognuno ti/si complica la vita come meglio crede
    fai prima a contattare la compagnia e chiedere dove spedire i file in upload.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Originariamente inviato da Andrea1979
    infatti ho detto "normalmente si chiama public"... poi ognuno ti/si complica la vita come meglio crede
    fai prima a contattare la compagnia e chiedere dove spedire i file in upload.
    E' quello che ho fatto, ma mi sa che con tutti i passaggi che ci sono in mezzo, non avrò una risposta prima di due giorni.
    Mi ricordo quando tempo fa chiesi lumi al mio hosting (server windows) sull'esatto percorso da usare, e lui mi rispose che non era un tipo di assistenza che loro potevano dare, e che se ero un programmatore avrei dovuto saperlo da sola

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    le due volte che mi sono trovato ad avere a che fare con server microsoft, ho trovato la guida ai servizi nelle pagine di assistenza al pacchetto hosting-windows... comunque fai prima a contattarli tu: se ti hanno dato l'accesso al server etc etc, saprai anche il nome della compagnia (altrimenti fai un giretto su un qualsiasi server whois), così puoi sbrigartela da te senza tramiti
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    Ma io mi chiedo, perchè nel mio server locale, che è windows, $_SERVER['document_root'] funziona benissimo come percorso per l'upload, e invece sui server windows online non funziona?

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ma tu hai IIS installato oppure apache su windows? Personalmente, in locale e sulla mia macchina mi permetto "porcate" che, se fossi un servizio hosting, non mi sognerei nemmeno in parte di concedere ai miei clienti
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.