Decidi criar este sistema muito devido ao meu trabalho de grupo da disciplina de Área Projecto, que consistirá num CMS. Noutra ocasião apresentarei o projecto devidamente. Este script serviu também para aprender um pouco de Programação Orientada a Objectos no PHP. Devo dizer que as vantagens estão á vista na própria leitura do código e na facilidade com que o programador tem sempre que precisa de corrigir erros.
O objectivo do script é fazer com que os membros do grupo de trabalho possam submeter os ficheiros que vão escrevendo para a devida pasta aqui no servidor caseiro. Estive três dias á volta deste script para chegar a este resultado, no entanto pretendo fazer algumas melhorias nos próximos dias e muito dependendo das sugestões que me forem dando a todos os níveis.
Código (PHP):
escrito por Rui Maia <deathseeker25@portugal-a-programar.org>****
*********************<lavrakid25@gmail.com> *********************
*****************************************************************
****************************************************************/
error_reporting(E_ALL);
class Pagina {
var $corDeFundo = '#FFFFFF';
var $widthTabela = 531;
var $heightTabela = 129;
var $corTexto = '#000000';
var $pasta;
function Pagina(){
}
function define_corDeFundo($cor)
{
$this->corDeFundo=$cor;
}
function define_widthTabela($width)
{
$this->widthTabela=$width;
}
function define_heightTabela($height)
{
$this->heightTabela=$height;
}
function define_corTexto($cor)
{
$this->corTexto=$cor;
}
function define_destino($destino)
{
$this->destino=$destino;
}
function enviaFicheiro($pasta)
{
if(isset($pasta)) //se a pasta for escolhida através de código
{
$this->pasta=$pasta;
}
else
{
$PastaRui= "Rui";
$PastaRicardo= "Ricardo";
$PastaAndre= "Andre";
$PastaMichel= "Michel";
$PastaMarcelo= "Marcelo";
if($_POST['pasta'] == $PastaRui)
{
if(is_dir($_SERVER['DOCUMENT_ROOT'] . "/files/rui"))
{
$pasta = $PastaRui;
}
else
{
$pasta = $_SERVER['DOCUMENT_ROOT'] . "\files\rui";
mkdir($pasta,0777,TRUE);
$pasta = $PastaRui;
}
}
if($_POST['pasta'] == $PastaRicardo)
{
if(is_dir($_SERVER['DOCUMENT_ROOT'] . "/files/ricardo"))
{
$pasta = $PastaRicardo;
}
else
{
$pasta = $_SERVER['DOCUMENT_ROOT'] . "\files\ricardo";
mkdir($pasta,0777,TRUE);
$pasta = $PastaRicardo;
}
}
if($_POST['pasta'] == $PastaAndre)
{
if(is_dir($_SERVER['DOCUMENT_ROOT'] . "/files/andre"))
{
$pasta = $PastaAndre;
}
else
{
$pasta=$_SERVER['DOCUMENT_ROOT'] . "\files\ricardo";
mkdir($pasta,0777,TRUE);
$pasta= $PastaAndre;
}
}
if($_POST['pasta'] == $PastaMichel)
{
if(is_dir($_SERVER['DOCUMENT_ROOT'] . "/files/michel"))
{
$pasta = $PastaMichel;
}
else
{
$pasta=$_SERVER['DOCUMENT_ROOT'] . "\files\michel";
mkdir($pasta,0777,TRUE);
$pasta= $PastaMichel;
}
}
if($_POST['pasta'] == $PastaMarcelo)
{
if(is_dir($_SERVER['DOCUMENT_ROOT'] . "/files/marcelo"))
{
$pasta = $PastaMarcelo;
}
else
{
$pasta=$_SERVER['DOCUMENT_ROOT'] . "\files\marcelo";
mkdir($pasta,0777,TRUE);
$pasta = $PastaMarcelo;
}
}
}
if(!empty($_FILES['enviarFicheiro']))
{
$destino = $_SERVER['DOCUMENT_ROOT'] . "/files/" . $pasta . "/";
$destino.= $_FILES['enviarFicheiro']['name'];
}
if(move_uploaded_file($_FILES['enviarFicheiro']['tmp_name'], $destino))
{
echo '<span class="Estilo1">O arquivo foi enviado com sucesso!
<br />
Se pretende enviar outro arquivo, clique <a href="upload_ficheiros.php">aqui</a>.</span>';
}
else
{
echo 'O arquivo não pode ser enviado!';
}
}
function mostraPagina()
{
echo sprintf('<head><style type="text/css">
<!--
body,td,th {
color: #000000;
}
body {
font-family: Verdana, sans-serif;
color: white;
background-image: url(fundo.jpg);
background-repeat: repeat;
font-size: 12px;
background-color: #FFFFFF;
}
-->
p {
padding-left: 20px;
}
h1, h2 {
padding-left: 10px;
}
#page {
margin: 50px 25%;
}
#enviar_ficheiro ul
{
list-style: none;
padding: 0px;
margin: 0px 0px 0px 2px;
}
#enviar_ficheiro li
{
float: left;
padding: 0px 2px 0px 2px;
}
#enviar_ficheiro li a
{
background-color: silver;
font-size: 9px;
height: 18px;
float: left;
width: 96px;
border: 1px solid black;
font-weight: bold;
text-decoration: none;
text-align: center;
}
#banner {
background-color: silver;
width: 600px;
height: 75px;
border: 1px solid black;
padding: 4px;
margin: 4px;
}
#news {
margin: 5px;
font-size: 9px;
border: 1px solid black;
background-color: silver;
}
#header {
border: 1px solid black;
background-color: white;
height: 117px;
width: 618px;
}
h1 {
font-size: 12px;
}
#body {
margin-top: 35px;
background-color: white;
color: black;
border: 1px solid black;
width: 618px;
}
#footer {
margin-top: 5px;
font-size: 9px;
color: black;
font-weight: bold;
border: 1px solid black;
background-color: white;
width: 618px;
text-align: center;
}
#copy {
margin: 4px 4px;
border: 1px solid black;
background-color: silver;
}
a:link, a:visited, a:hover, a:active {color:black; text-decoration:none;}
.Estilo1 {color: #000000}
</style>
</head>
<body>
<div id="pagina">
<div id="banner"></div>
<div id="enviarFicheiro">
<form name="enviar" enctype="multipart/form-data" method="post" action="">
<div align="justify"><span class="Estilo1">Ficheiro a enviar:</span>
<input type="file" name="enviarFicheiro">
</div>
<p align="justify" class="Estilo1">Quero enviar o ficheiro para a pasta do:
<select name="pasta">
<option value="Rui">Rui</option>
<option value="Ricardo">Ricardo</option>
<option value="Michel">Michel</option>
<option value="Marcelo">Marcelo</option>
<option value="André">André</option>
</select>
</p>
<p align="justify"> </p>
<p align="justify">
<input type="submit" name="Enviar">
</p>
</form>
</div>
<div id="footer">
<div id="copy">
<p>deathseeker25 Productions</p>
</div>
</div>
</div>
</body>
',$this->corTexto,
$this->corDeFundo,
$this->widthTabela,
$this->heightTabela);
}
}
$pagina=new Pagina();
$pagina->mostraPagina();
if($_POST)
{
$pagina->enviaFicheiro();
}
Espero todo o tipo de comentários e sugestões...












