PROBLEMA Progetto Maturità

Pubblicità

syscall

Nuovo Utente
Messaggi
6
Reazioni
1
Punteggio
23
Salve a tutti, frequento l'ultimo anno di ITIS Informatico, e come progetto per la maturità si dovrebbe portare qualcosa inerente al programma scolastico che è incentrato principalmente su siti web dinamici e basi di dati, dunque PHP ed SQL. L'idea cardine era quella di realizzare un sito web molto semplice che consentisse di caricare file sul proprio spazio, ma questi non sarebbero stati salvati in locale ma inviati ad Amazon, poggiandosi quindi sul servizio S3. Poco dopo sono subentrati problemi circa le policy e autorizzazioni varie unite ad una documentazione poco esplicativa e confusionaria, quindi ho deciso di abbandonare il progetto in corso d'opera; dunque ho pensato di riciclare l'idea ma salvando i file in locale e di appoggiare il sito su Altervista in modo che sia accessibile ovuque. Da pochi giorni sto sviluppando quest'ultima idea, quindi ho realizzato un piccolo sito, seppur ancora molto minimale e scarno, che permette ad un utente di salvare i file nella propria area. Il problema sorto, motivo per cui sono qui, è nato con uno script PHP di nome download.php (a cui fa riferimento un pulsante "Scarica" posto accanto al nome del file che l'utente ha salvato nel suo spazio) che servirebbe a far scaricare il relativo file anche quelli "comprensibili" al browser. A quanto pare, però, lo script scarica un file con nome ed estensione corretta, ma con contenuto modificato, contenente il sorgente html della pagina. Per schiarirsi le idee, il sito sta su mywebstorage.altervista.org
Il file downlod.php contiene:
$filename=$_GET["filename"];
$user=$_GET["user"];
$path="\uploads\$user\$filename";

readfile($path);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$filename.'";');//basename($file)
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: '.filesize($path));


//print "$path";
Di cui, le prime due righe prendono il nome del file e del relativo utente che vengono passati tramite campi hidden, mentre la terza imposta il percorso del file. La directory di altervista è così organizzata: nella root ho i file del sito web, poi ho una cartella Uploads dentro cui ci sono cartelle relative agli utenti, al cui interno i file che ha caricato. Tutti i campi del sito sono passati tramite GET semplicemente per motivi di debug.
 
Salve a tutti, frequento l'ultimo anno di ITIS Informatico, e come progetto per la maturità si dovrebbe portare qualcosa inerente al programma scolastico che è incentrato principalmente su siti web dinamici e basi di dati, dunque PHP ed SQL. L'idea cardine era quella di realizzare un sito web molto semplice che consentisse di caricare file sul proprio spazio, ma questi non sarebbero stati salvati in locale ma inviati ad Amazon, poggiandosi quindi sul servizio S3. Poco dopo sono subentrati problemi circa le policy e autorizzazioni varie unite ad una documentazione poco esplicativa e confusionaria, quindi ho deciso di abbandonare il progetto in corso d'opera; dunque ho pensato di riciclare l'idea ma salvando i file in locale e di appoggiare il sito su Altervista in modo che sia accessibile ovuque. Da pochi giorni sto sviluppando quest'ultima idea, quindi ho realizzato un piccolo sito, seppur ancora molto minimale e scarno, che permette ad un utente di salvare i file nella propria area. Il problema sorto, motivo per cui sono qui, è nato con uno script PHP di nome download.php (a cui fa riferimento un pulsante "Scarica" posto accanto al nome del file che l'utente ha salvato nel suo spazio) che servirebbe a far scaricare il relativo file anche quelli "comprensibili" al browser. A quanto pare, però, lo script scarica un file con nome ed estensione corretta, ma con contenuto modificato, contenente il sorgente html della pagina. Per schiarirsi le idee, il sito sta su mywebstorage.altervista.org
Il file downlod.php contiene:
$filename=$_GET["filename"];
$user=$_GET["user"];
$path="\uploads\$user\$filename";

readfile($path);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$filename.'";');//basename($file)
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: '.filesize($path));


//print "$path";
Di cui, le prime due righe prendono il nome del file e del relativo utente che vengono passati tramite campi hidden, mentre la terza imposta il percorso del file. La directory di altervista è così organizzata: nella root ho i file del sito web, poi ho una cartella Uploads dentro cui ci sono cartelle relative agli utenti, al cui interno i file che ha caricato. Tutti i campi del sito sono passati tramite GET semplicemente per motivi di debug.

Tralasciando il problema del codice, altervista non ammette la creazione di siti web per lo storage... quindi se ti scopre potrebbe chiudere il sito senza alcun preavviso, ti dico questo per evitare che ti succeda il giorno prima dell'esame magari :PCfury:
 
Ok grazie mille per il consiglio, metterò tutto sia in locale sia su altrervista garantendomi il "fault tollerance" per il giorno dell'esame. In ogni caso il problema sopracitato è stato risolto togliendo i tag html, tra cui anche head, doctype e body che circondavano lo script. :-)
 
Salve a tutti, frequento l'ultimo anno di ITIS Informatico, e come progetto per la maturità si dovrebbe portare qualcosa inerente al programma scolastico che è incentrato principalmente su siti web dinamici e basi di dati, dunque PHP ed SQL. L'idea cardine era quella di realizzare un sito web molto semplice che consentisse di caricare file sul proprio spazio, ma questi non sarebbero stati salvati in locale ma inviati ad Amazon, poggiandosi quindi sul servizio S3. Poco dopo sono subentrati problemi circa le policy e autorizzazioni varie unite ad una documentazione poco esplicativa e confusionaria, quindi ho deciso di abbandonare il progetto in corso d'opera; dunque ho pensato di riciclare l'idea ma salvando i file in locale e di appoggiare il sito su Altervista in modo che sia accessibile ovuque. Da pochi giorni sto sviluppando quest'ultima idea, quindi ho realizzato un piccolo sito, seppur ancora molto minimale e scarno, che permette ad un utente di salvare i file nella propria area. Il problema sorto, motivo per cui sono qui, è nato con uno script PHP di nome download.php (a cui fa riferimento un pulsante "Scarica" posto accanto al nome del file che l'utente ha salvato nel suo spazio) che servirebbe a far scaricare il relativo file anche quelli "comprensibili" al browser. A quanto pare, però, lo script scarica un file con nome ed estensione corretta, ma con contenuto modificato, contenente il sorgente html della pagina. Per schiarirsi le idee, il sito sta su mywebstorage.altervista.org
Il file downlod.php contiene:
$filename=$_GET["filename"];
$user=$_GET["user"];
$path="\uploads\$user\$filename";

readfile($path);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$filename.'";');//basename($file)
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: '.filesize($path));


//print "$path";
Di cui, le prime due righe prendono il nome del file e del relativo utente che vengono passati tramite campi hidden, mentre la terza imposta il percorso del file. La directory di altervista è così organizzata: nella root ho i file del sito web, poi ho una cartella Uploads dentro cui ci sono cartelle relative agli utenti, al cui interno i file che ha caricato. Tutti i campi del sito sono passati tramite GET semplicemente per motivi di debug.


Perchè non fai una cosa più bella, tecnicamente più complicata ma bella, se devi solo dimostrare di avere capacità son php e mysql, potresti creare un form per la registrazione uno per il login e un index come pagina in cui i loggati possano accedere solo se hanno la sessione, cioè sono loggati e magari all'interno ci metti una funzioncina mail con l'invio di mail che sò, al preside della scuola. Potrebbe essere un idea carina, oppure un form per commentare in home (ma qui diventa complicato), se il tempo a disposizione è lungo, posso creartelo io, te lo commento e poi te lo auto commenti , così dimostri di averlo creato tu.

Se vuoi puoi girarmi lacesso ftp in pvt, creo tutto in una cartella /progetto/ , ma tutto a tempo debito, sono incasinato.
 
Perchè non fai una cosa più bella, tecnicamente più complicata ma bella, se devi solo dimostrare di avere capacità son php e mysql, potresti creare un form per la registrazione uno per il login e un index come pagina in cui i loggati possano accedere solo se hanno la sessione, cioè sono loggati e magari all'interno ci metti una funzioncina mail con l'invio di mail che sò, al preside della scuola. Potrebbe essere un idea carina, oppure un form per commentare in home (ma qui diventa complicato), se il tempo a disposizione è lungo, posso creartelo io, te lo commento e poi te lo auto commenti , così dimostri di averlo creato tu.

Se vuoi puoi girarmi lacesso ftp in pvt, creo tutto in una cartella /progetto/ , ma tutto a tempo debito, sono incasinato.
Non ha senso fargli il lavoro bello e pronto... Se davvero vuoi aiutarlo renditi disponibile su ipotetiche spiegazioni nel linguaggio e non fargli trovare il sito bello e pronto, cosi sono capaci tutti...
 
Il login, la pagina di registrazione e la home già le ho realizzate e al momento sto aggiungendo altri ritocchi e funzionalità, l'ultima per esempio è la condivisione di un link al file su Twitter, e sicuramente aggiungerò la mail; in ogni caso grazie mille per la disponibilità.
 
Pubblicità
Pubblicità
Indietro
Top