Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/07/2007, 09:27
chaleko
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 18 años, 6 meses
Puntos: 1
Ayuda a corregir codigo php porfa

Hola yo denuevo por aca


Les cuento muy a la rapida que intento hacer un upload de archivos con flash y php pero no me resulta:

Tengo un codigo php al cual quiero cambiar su sintaxis para que al subir mi archivo esto me cree una carpeta llamada "x" con permisos 0777.

Lo que tengo es esto

*********************upload.php****

<?php

//carpeta donde guardaremos el archivo
$carpeta = 'upload';

//ruta completa del archivo que guardaremos
$nombre = "$carpeta/" . basename($_FILES['Filedata']['name']);

//si el archivo se guarda satisfactoriamente
if ( @move_uploaded_file( $_FILES['Filedata']['tmp_name'] , $nombre )) {

//enviamos a flash un mensaje de que este archivo existe
header('HTTP/1.1 200 OK';
}else{

//sino, le decimos a flash que este archivo (upload.php) no existe,
//asi flash gatillara el evento onHTTPError
header('HTTP/1.1 404 Not Found';
}

?>

*******

Y tengo lo que el flash lo llama
*****************mifla***********
import flash.net.FileReferenceList;
import flash.net.FileReference;

//*Definimos los archivos permitidos, que es un array con un objeto dentro*//
var allTypes:Array = new Array();
var imageTypesbject = new Object();

//*"description" declara lo que saldrá en el dialogo de elección de archivos*//
imageTypes.description = "Imagenes (*.jpg, *.gif, *.png)";
//*"extension" declara los archivos permitidos (en este caso solo jpgs, gifs y pngs)*//
imageTypes.extension = "*.jpg; *.gif; *.png";
allTypes.push(imageTypes);

//*Creamos un listener que se llamara cuando los archivos sean seleccionados,*//
//*que a su vez enviara los archivos elegidos a una función para que hagamos algo con ellos*//

var listListenerbject = new Object();
listListener.onSelect = function(fileRefList) {
crearArchivos(fileRefList.fileList);
}

//*y finalmente creamos la instancia de FileReferenceList*//
var fileRef:FileReferenceList = new FileReferenceList();
//*le aplicamos el listener*//
fileRef.addListener(listListener);
var btnExaminar = this.createEmptyMovieClip("btnExaminar", this.getNextHighestDepth());
btnExaminar.createTextField("texto",0,0,0,100,20);
btnExaminar.texto.text="Examinar...";
btnExaminar.onRelease = function () {
fileRef.browse(allTypes);
}


function crearArchivos(files) {
for(var i in arrRef) {
arrRef[i].removeMovieClip();
}
//*y borramos las variables globales*//
delete puntero;
delete arrRef;
//*deshabilitamos el boton examinar.*//
btnExaminar.enabled=false;
//*posicion en Y inicial para los archivos.*//
var posY=20;
//*creamos un array global que contendra todos los MCs que referencian a los archivos.*//
_global.arrRef = new Array();
//*y por cada archivo seleccionado//
for(var i=0; i<files.length; i++) {
var c=this.createEmptyMovieClip("archivo"+1, this.getNextHighestDepth());
var texto=c.createTextField("texto",0,0,0,200,20);
texto.border=true;
texto.borderColor=0x000000;
//*el texto mostrara el tamaño y el nombre de cada archivo*//
texto.text=">> (" + Math.ceil(files[i].size/1000) + " Kb) " + files[i].name;
c.file=files[i];
//*posicionamos el clip*//
c._y=posY;
//*sumamos a la posicion inicial el alto del clip creado*//
posY+=c._height;
//*y metemos el clip en el array global*//
arrRef.push(c);
}
_global.puntero = 0;
arrRef[puntero].file.addListener(fileListener);
arrRef[puntero].file.upload("upload.php");
}


//*creamos el objeto listener*//
var fileListenerbject = new Object();
//*cuando se abre el archivo, y se hace la petición al servidor para comenzar la subida//
fileListener.onOpen = function(file) {
//*aprovechamos para crear un textfield que mostrara el progreso.*//
arrRef[puntero].createTextField("progreso", 1,arrRef[0].texto._width, 0, 100, 20);
arrRef[puntero].progreso.text="comenzando...";
}

//*cada vez que se suba un pedazo de archivo//
fileListener.onProgress = function(file, bytesLoaded, bytesTotal) {
var porcentaje= Math.round(bytesLoaded*100/bytesTotal);
arrRef[puntero].progreso.text=porcentaje+"%";
}

//*cuando el archivo haya completado la subida satisfactoriamente*//
fileListener.onComplete = function(file):Void {
//*mostramos que el archivo se subió bien*//
arrRef[puntero].progreso.text="hecho!";
//*y vamos a por el siguiente (ver la función mas abajo)*//
subirSiguiente();
}

//*con cualquier error//
fileListener.onHTTPError = fileListener.onIOError = fileListener.onSecurityError = function(file, errorCode) {
//*mostramos que ha habido un error, y cual*//
arrRef[puntero].progreso.text="error "+errorCode;
//*y vamos a por el siguiente archivo (ver la función mas abajo)*//
subirSiguiente();
}

function subirSiguiente () {
//*si el puntero es menor que la cantidad de archivos*//
if(puntero<arrRef.length-1) {
//*aumentamos el puntero en uno*//
puntero++;
//*y subimos el siguiente archivo*//
arrRef[puntero].file.addListener(fileListener);
arrRef[puntero].file.upload("upload.php");
} else {
//*sino, volvemos a habilitar el botón examinar,*//
//*para permitir seguir subiendo archivos*//
btnExaminar.enabled=true;
}
}

*****************


Lo mas extraño que en otros servidores funciona y en donde tengo que aplicarlo no funciona.

Cree como dice el php una carperta llamada upload en la raiz del sitio con permisos 0777 pero al subor un archivo me tira ERROR

me gustaria saber como puedo en vez de el codigo que ya esta cambiarlo por uno que sea

crear carpeta "upload" con permisos 777 en raiz asi me aseguro de que funcione en cualquier servidor.


Ayudenme porfa Gracias
Saludos!