Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jorge Roberto

upload

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.