Buenas nuevamente, volvi con php pero me acabo de meter en un rollo de aquellos
Estoy usando uploadify, logré dimensionar las imagenes y todo, ahora es momento de guardar la ruta y la id respectiva del usuario para despues obtenerlas cuando sea necesario, pero bien, aca esta mi problema.
Sinceramente probe de todo, desde usar sesiones (uploadify no tolera estas), y hasta llamar a una funcion desde el mismo uploadify.php xD pero nada..
Mi idea es la siguiente, pasar por uploadify(ajax) la variable post id y guardar las rutas de las imagenes en una bd junto con el id del usuario.
Este es la parte de ajax de uploadify
Código Javascript
:
Ver original// <![CDATA[
$(document).ready(function() {
$('#file_upload').uploadify({
'uploader' : 'dify/uploadify.swf',
'script' : 'dify/uploadify.php',
'scriptData': 'var ID = $(‘input[name="#id_file"]‘).val();',
'cancelImg' : 'dify/cancel.png',
'folder' : '/uploads',
'buttonText': 'Cambiar Foto',
'sizeLimit' : '5242880',
'displayData': 'percentage',
'fileExt' : '*.jpg;*.gif;*.png;*jpeg',
'fileDesc' : 'Image Files',
'onComplete' : function(event, ID, fileObj, response, data) {
$.post("#id_user",{name: fileObj.name, id_user: $("#id_user").val()}, function(info) {
alert(info); // alert UPLOADED FILE NAME
});
window.location.reload();
},
'auto' : true
});
});
// ]]>
Esta es la parte HTML:
Código HTML:
Ver original<input id="file_upload" type="file" name="file_upload" /> <input id="id_user" type="hidden" name="id_user" value="<?php echo $user;?>"/>
Bien, lo que deseo es que con ajax se pueda pasar por post id_user y que ese post termine aca:
uploadify.php
Código PHP:
Ver original
class Image {
var $uploaddir;
var $quality = 100;
var $ext;
var $dst_r;
var $img_r;
var $img_w;
var $img_h;
var $output;
var $data;
var $datathumb;
function setFile($src = null) {
if(is_file($src) && ($this->ext == "JPG" OR
$this->ext == "JPEG")) { } elseif(is_file($src) && $this->ext == "PNG") { } elseif(is_file($src) && $this->ext == "GIF") { }
$this->img_w = imagesx($this->img_r); $this->img_h = imagesy($this->img_r); }
function resize($w = 100) {
$h = $this->img_h / ($this->img_w / $w);
imagecopyresampled($this->dst_r, $this->img_r, 0, 0, 0, 0, $w, $h, $this->img_w, $this->img_h); $this->img_r = $this->dst_r;
$this->img_h = $h;
$this->img_w = $w;
}
function createFile($output_filename = null) {
if($this->ext == "JPG" OR $this->ext == "JPEG") {
imageJPEG($this->dst_r, $this->uploaddir.$output_filename.'.'.$this->ext, $this->quality); } elseif($this->ext == "PNG") {
imagePNG($this->dst_r, $this->uploaddir.$output_filename.'.'.$this->ext); } elseif($this->ext == "GIF") {
imageGIF($this->dst_r, $this->uploaddir.$output_filename.'.'.$this->ext); }
$this->output = $this->uploaddir.$output_filename.'.'.$this->ext;
}
function setUploadDir($dirname) {
$this->uploaddir = $dirname;
}
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_GET['folder'] . '/';
$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
//imagedestroy($this->img_r);
}
}
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$targetFile = str_replace('//','/',$targetPath) . $prefijo .'_' . $_FILES['Filedata']['name'];
$image = new Image();
$image->setFile($targetFile);
$image->setUploadDir($targetPath);
$image->resize(640);
$image->createFile(md5($tempFile)); $image->resize(250);
$image->createFile("s_".md5($tempFile)); }
?>
Bien, la parte de php es una clase que redimensiona, me la encontre en san google y me parecio algo innovador en mis conocimientos porque de otro modo lo haria en 3000 lineas a mi manera xD, bien esta clase me redimensiona las imagenes, la cuestion que a la vez que recibo los parametros de uploadify, tambien reciba a id_user, cosa que no logro.
En cuanto a PHP, necesito guardar el id junto a las rutas de las imagenes(en total dos imagenes, una es thumb que mide 250 de w y otra normal que mide 640 de w), pero sinceramente nunca trabaje con una clase y no se como hacer para extraerle las dos rutas, intente de mil maneras, posteo el codigo "sano" porque hace 2 horas que le estoy buscando la vuelta y era un desastre..
Código PHP:
Ver original$image = new Image();
$image->setFile($targetFile);
$image->setUploadDir($targetPath);
$image->resize(640);
$image->createFile(md5($tempFile)); $image->resize(250);
$image->createFile("s_".md5($tempFile));
Lo posteo en PHP porque creo que la mayoria sabe manipular estos dos lenguajes, digamos que tambien ajax y JS...
Bueno. eso es todo creo jaja, saludos y espero respuestas, ya me duele la cabeza :P