Domanda

Sto eseguendo PHP 5.2.6 su una scatola Enterprise di Windows Server 2003. IIS è impostato per negare l'accesso anonimo e utilizzare l'autenticazione integrata di Windows.

Sto usando uno script PHP per salvare un file caricato da un modulo web. Il file viene caricato in una cartella temporanea, lo script crea un nome file e un percorso in base ad altre variabili dal modulo Web, quindi lo script utilizza move_uploaded_file () di PHP per spostare il file temporaneo nella posizione finale. Funziona tutto bene. In breve, le persone stanno caricando i file in modo che tutti nel gruppo possano vederli e i file siano organizzati dallo script.

Il mio problema è che il file nella posizione finale ha autorizzazioni dispari. Non sta finendo con le autorizzazioni dalla posizione temporanea o dalla posizione finale. Sia la posizione temporanea che la posizione finale hanno le stesse autorizzazioni: diritti completi per il proprietario e le amministrazioni; leggi e leggi / esegui per 2 gruppi di sicurezza AD specifici. Il file finale termina solo con: diritti completi per il proprietario e le amministrazioni. Pertanto, mentre gli amministratori e l'autore del caricamento originale non hanno problemi a visualizzare il file, a tutti gli altri membri del gruppo viene negata l'autorizzazione. quando si tenta di accedervi.

Eventuali idee o suggerimenti saranno molto apprezzati! Grazie!

È stato utile?

Soluzione

Questo sembra essere un problema con la funzione move_uploaded_file () :
http://us3.php.net/move_uploaded_file
Dai un'occhiata ai commenti qui sotto, prendi nota del commento di Florian su copy ().

Copy () risolverebbe il problema ?:
http://us3.php.net/manual/en/function.copy. php

Altri suggerimenti

dalla pagina php su move_uploaded_file (nb: ha funzionato per me):

Per coloro che utilizzano PHP su Windows e IIS, DOVREBBE impostare l'opzione " upload_tmp_dir " valore in php.ini in una directory in cui si trova la directory dei siti Web, creare quella directory e quindi impostare le stesse autorizzazioni impostate per la directory dei siti Web. Altrimenti, quando si carica un file che va in C: \ WINDOWS \ Temp, quindi lo si sposta nella directory del sito Web, le sue autorizzazioni NON verranno impostate correttamente. Ciò causerà problemi se si desidera quindi manipolare quel file con qualcosa come l'utilità di conversione di ImageMagick.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top