Ir para conteúdo

POWERED BY:

Arquivado

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

webdesign

uploadify não cadastra no diretorio mas salva no banco

Recommended Posts


<?php
if (!empty($_FILES)) {
	$postId		= $_POST['postId'];
    $img        = $_FILES['Filedata']['name'];
	$ext        = substr($img, -4);
	$img        = $postId.'-'.md5(uniqid(time())).$ext;
	$targetPath = $_SERVER['DOCUMENT_ROOT'].$_REQUEST['folder'].'/';
	$m = date('m');
	$y = date('Y');
	if(!file_exists($targetPath.$y)){ mkdir($targetPath.$y,0755);}
	if(!file_exists($targetPath.$y.'/'.$m)){ mkdir($targetPath.$y.'/'.$m,0755);}
	$targetPath = $_SERVER['DOCUMENT_ROOT'].$_REQUEST['folder'].'/'.$y.'/'.$m.'/';
	$tempFile = $_FILES['Filedata']['tmp_name'];
	$targetFile =  str_replace('//','/',$targetPath).$img;
	
		$imgCad = $y.'/'.$m.'/'.$img;
		$timestamp = date('y-m-d H:i:s');
		$cadastra = mysql_query("INSERT INTO up_posts_gb(post_id, img, data) VALUES('$postId', '$imgCad', '$timestamp')");
}
	
	move_uploaded_file($tempFile,$targetFile);
	str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);
	
	$imgsize = getimagesize($targetFile);
	switch(strtolower(substr($targetFile, -3))){
		case "jpg":
			$image = imagecreatefromjpeg($targetFile);    
		break;
		case "png":
			$image = imagecreatefrompng($targetFile);
		break;
		case "gif":
			$image = imagecreatefromgif($targetFile);
		break;
		default:
			exit;
		break;
	}
	
	$width = 800;  
	$height = $imgsize[1]/$imgsize[0]*$width;
	
	$src_w = $imgsize[0];
	$src_h = $imgsize[1];
	
	$picture = imagecreatetruecolor($width, $height);
	imagealphablending($picture, false);
	imagesavealpha($picture, true);
	$bool = imagecopyresampled($picture, $image, 0, 0, 0, 0, $width, $height, $src_w, $src_h); 
	
	if($bool){
		switch(strtolower(substr($targetFile, -3))){
			case "jpg":
				header("Content-Type: image/jpeg");
				$bool2 = imagejpeg($picture,$targetPath.$img,100);
			break;
			case "png":
				header("Content-Type: image/png");
				imagepng($picture,$targetPath.$img);
			break;
			case "gif":
				header("Content-Type: image/gif");
				imagegif($picture,$targetPath.$img);
			break;
		}
	}
	
		imagedestroy($picture);
		imagedestroy($image);
		echo '1';
?>

uploadify.php

 

nao aparece erro nehum e salva no banco mas nao cria o diretorio nem cadastra as imagens.

 

o erro está nesta linha como posso fazer para substituir

$targetPath = $_SERVER['DOCUMENT_ROOT'].$_REQUEST['folder'].'/';

ele nao está a pegar

 

$targetPath = $_SERVER['DOCUMENT_ROOT'].$_REQUEST['folder'].'/'.$y.'/'.$m.'/';
$_SERVER['DOCUMENT_ROOT'].$_REQUEST['folder']

jsc.php

 

<link href="js/uploadify/uploadify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="js/uploadify/swfobject.js"></script>
<script type="text/javascript" src="js/uploadify/jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
  $('#file_upload').uploadify({
    'uploader'  : 'js/uploadify/uploadify.swf',
    'script'    : 'js/uploadify/uploadify.php',
    'cancelImg' : 'js/uploadify/cancel.png',
    'folder'    : '../uploads',
    'multi'     : true,
	'auto'		: false,
    'fileExt'     : '*.jpg;*.gif;*.png',
    'buttonText'  : 'Selecione quantas imagens quiser (jpg, png e gif)',
    'width'       : 560,
	'height'       : 35,
    'scriptData'  : {'postId':'<?php echo $postid;?>'},
	'onAllComplete' : function(event,data) {
       location.reload(true);
    }
  });
});
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse é o nome de sua tabela up_posts_gb ?

 

Talvez falta isso aí -- a volta correta dos diretórios para o require

 

<?php  require_once('../../../sua-pasta/iniSis.php'); 
 $conexao = mysql_connect(HOST, USER, PASS);
 $database = mysql_select_db(DBSA);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

up_posts_gb é o nome da tabela.

eu já tenho issu em cima

 

<?php 
require_once('../../../dts/iniSis.php'); 
$conexao = mysql_connect(HOST, USER, PASS);
$database = mysql_select_db(DBSA);
?>

o erro penso que seja nesta linha

mas nao sei como subtituir issu

$_SERVER['DOCUMENT_ROOT'].$_REQUEST['folder']

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem a pasta Uploads criada?

 

Se tiver pode ser um conflito do Jquery

 

$(document).ready(function() {

onde você possa estar usando outro $ (document) e dando conflito.

 

Esses foram os "problemas" que eu tive.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No jsc.php (onde f pode ser qualquer nome)

var $f = jQuery.noConflict()
$f(document).ready(function() {
$f('#file_upload').uploadify({

E no seu arquivo de galeria

 

 

<a href="javascript:$f('#file_upload').uploadifyUpload();"

onde se dá o mesmo nome a variavel

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara assim nao funciona nao envia fiz como disse o que fiz de errado

<link href="js/uploadify/uploadify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="js/uploadify/swfobject.js"></script>
<script type="text/javascript" src="js/uploadify/jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript">
	var $f = jQuery.noConflict()
	$f(document).ready(function() {
	$f('#file_upload').uploadify({
    'uploader'  : 'js/uploadify/uploadify.swf',
    'script'    : 'js/uploadify/uploadify.php',
    'cancelImg' : 'js/uploadify/cancel.png',
    'folder'    : '../uploads',
    'multi'     : true,
	'auto'		: false,
    'fileExt'     : '*.jpg;*.gif;*.png',
    'buttonText'  : 'Selecione quantas imagens quiser (jpg, png e gif)',
    'width'       : 560,
	'height'       : 35,
    'scriptData'  : {'postId':'<?php echo $postid;?>'},
	'onAllComplete' : function(event,data) {
       location.reload(true);
    }
  });
});
</script>

na galeria

 

   <a href="javascript:$f('#file_upload').uploadifyUpload();" class="btn upload">clique aqui para enviar!</a>

é que o script assim deixou de funcionar

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao chega a pasta,nem cria mas fiz um experiencia

 

no file uploadify.php

 

retirei

$_SERVER['DOCUMENT_ROOT'].$_REQUEST['folder']

e coloquei o caminho

 

$targetPath = '/home/xxxxx/public_html/';

ele criou a pasta ano e mes, mas nao enviou foto nehuma.

 

agora tenho que tratar outra parte

$targetPath = $_SERVER['DOCUMENT_ROOT'].$_REQUEST['folder'].'/'.$y.'/'.$m.'/';
eu penso que seja por causa disso no meu servidor $_SERVER['DOCUMENT_ROOT']

pode me dar uma ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho a paste uploads na raiz do site, a questao é que o meu servidor nao deve suportar $_SERVER tal como a documentação diz?

ele pega correto o ano e o mes

 

exite alguma solução para substituir issu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sendo você testaria em ambiente local para "matar a charada", caso o problema seja o 'DOCUMENT_ROOT' eu criaria uma constante e atribuiria o valor dela como sendo um 'DOCUMENT_ROOT'.

 

EX.:

 

RAIZ = ' /home/xxxxx/public_html/ ';

Pode não ser a solução mais correta, não tenho o conhecimento necessário para te dizer a respeito, mas também servirá de teste para você "matar a charada de acordo com seu servidor web".

 

Eu também entraria em contato com o suporte para saber a respeito.

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.