Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal.queria saber porque meu upload no php não funciona tipo o servidor e windows 2008 e eu estou quebrando a cabeça com isso a 2 dias aqui na empresa.gostaria de saber se alguem poderia me dizer uma forma ou algo que faça funcionar ,pois não faz o upload.
<?php
class Upload{
private $arquivo;
private $destino;
private $caminhoAntigo;
private $permissao;
private $novoNome;
public function __construct($arquivo = null, $destino = null, $permissao = '0777', $caminhoAntigo=null){
$this->arquivo = $arquivo;
$this->destino = $destino;
$this->caminhoAntigo = $caminhoAntigo;
$this->permissao = $permissao;
$this->novoNome = null;
}
public function getNovoNome(){ return $this->novoNome; }
public function setNovoNome($novoNome){$this->novoNome = $novoNome; }
public function getArquivo(){ return $this->arquivo; }
public function setArquivo($arquivo){$this->arquivo = $arquivo; }
public function getDestino(){ return $this->destino; }
public function setDestino($destino){$this->destino = $destino; }
public function getCaminhoAntigo(){ return $this->caminhoAntigo; }
public function setCaminhoAntigo($caminhoAntigo){$this->caminhoAntigo = $caminhoAntigo; }
public function getPermissao(){ return $this->permissao; }
public function setPermissao($permissao){$this->permissao = $permissao; }
/**
* Cria os diretorios para onde os arquivos irao.
*
*/
private function criarDiretorios($flag = true){
$flag2 = true;
$destino = explode('/',$this->destino);
$_destino = '';
foreach ($destino as $k => $v) {
$_destino .= $v."/";
if (!file_exists($_destino)) {
if($flag) {mkdir($_destino,$this->permissao); }else{$flag2 = false;}
}
}
return $flag2;
}
/**
* Enter description here...
*
* @return boolean
*/
public function _upload(){
$this->criarDiretorios();
$this->novoNome = self::md5($this->arquivo['name']);
if (move_uploaded_file($this->arquivo['tmp_name'],$this->destino.$this->novoNome)) return true;
return false;
}
/**
* Apaga um arquivo
*
* @return boolean
*/
public function apagarArquivo(){
if ($this->criarDiretorios()) unlink($this->destino.$this->arquivo);
return false;
}
/**
* Apaga um diretorio
*
* @return boolean
*/
public function apagarDiretorio(){
if (is_dir($this->destino)) {
$arr = scandir($this->destino);
if(count($arr)>0){
foreach ($arr as $key => $value) {
if($value == '.' || $value == '..') continue;
if(file_exists($this->destino.$value)) unlink($this->destino.$value);
}
}
rmdir($this->destino);
}else {
return false;
}
//if(file_exists($this->destino)) rmdir($this->destino);
}
/**
* MOve um arquivo de um diretorio para o outro.
*
* @return boolean
*/
public function mover(){
$this->criarDiretorios();
$caminhoAntigo = explode('/',$this->caminhoAntigo);
$_caminhoAntigo = '';
$flag = true;
foreach ($caminhoAntigo as $k => $v) {
$_caminhoAntigo .= $v."/";
if (!file_exists($_caminhoAntigo)) {
$flag = false;
}
}
$this->novoNome = self::md5($this->arquivo);
if ($flag) { rename($this->caminhoAntigo.$this->arquivo,$this->destino.$this->novoNome);}
return $flag;
}
public static function md5($string=null){
return md5(date('YmdHis'))."_".self::limparString($string);
}
public static function limparString($string=null) {
$string = trim($string);
$string = strtolower($string);
$string = ereg_replace( '[ÁÀÂÃÄ]', 'A', $string);
$string = ereg_replace( '[áàâãäª]', 'a', $string);
$string = ereg_replace( '[ÉÈÊË]', 'E', $string);
$string = ereg_replace( '[éèêë]', 'e', $string);
$string = ereg_replace( '[ÍÌÎÏ]', 'I', $string);
$string = ereg_replace( '[íìîï]', 'i', $string);
$string = ereg_replace( '[ÓÒÔÕÖ]', 'O', $string);
$string = ereg_replace( '[óòôõö]', 'o', $string);
$string = ereg_replace( '[ÚÙÛÜ]', 'U', $string);
$string = ereg_replace( '[úùûü]', 'u', $string);
$string = str_replace( 'Ç', 'C', $string);
$string = str_replace( 'ç', 'c', $string);
$string = str_replace( 'º', '', $string);
$string = str_replace( '´', '', $string);
$string = str_replace( '`', '', $string);
$string = str_replace( '~', '', $string);
$string = str_replace( '^', '', $string);
$string = str_replace( '¨', '', $string);
$string = str_replace( '-', '_', $string);
//$string = str_replace( '_', '', $string);
$string = str_replace( ' ', '_', $string);
$string = str_replace( ' ', '_', $string);
return $string;
}
}
// MODO DE USAR
/*
if(isset($_POST['acao']) && $_POST['acao'] == "upload"){
echo "UPLOAD pelo form <br>";
$upload = new Upload($_FILES['arquivo'],"uploads/testeIMG/");
$upload->_upload();
echo $upload->getNovoNome() . " <hr>";
}
echo "MOVENDO ARQUIVO de um diretorio para outro <br>";
$upload2 = new Upload($upload->getNovoNome(),"uploads2/testeIMG2/",0777,"uploads/testeIMG/");
$upload2->mover();
echo $upload2->getNovoNome() . " <hr>";Postado o código.
Carregando comentários...