La Red de Conocimientos Pedagógicos - Currículum vitae - Error al cargar move_uploaded_file en php.

Error al cargar move_uploaded_file en php.

El archivo subido no existe. Es posible que la carpeta temporal de PHP no exista.

¿Es? Lenguaje de programación del lado del servidor (abreviatura de Preprocesador Profesional de Hipertexto)

/*

*Clase de carga de archivos

*/

Carga de cursos {

//Subir archivo

privado $ uploadFile

//Subir extensión de archivo

privado $ext = array('jpeg ' , ' jpg ', ' gif ', ' png ');

//Subir tamaño del archivo

private $ size = 5000000

//Subir directorio del archivo

privado $uploadDir = '. /uploads/';

//Ya sea para personalizar el nombre, el valor predeterminado es FALSO.

private $ newName = "";

// De forma predeterminada, si el archivo cargado es legible o no.

private $ isRead = TRUE

//Si se puede escribir en el archivo cargado, el valor predeterminado es verdadero.

privado $ isWrite = TRUE

//Subir información

Privado $ info

/*

* Inicialización de clase de carga de archivos

*/

función pública _ _ construct($ newName = ' ', $ext= ' ', $size= ' ', $dir= ' ', $isRead=TRUE, $isWrite=TRUE){

$ this->ext = vacío($ext)? $this-gt;ext: $ext;

$this-gt;tamaño = vacío($tamaño)? $this-gt;Tamaño: $size

$this-gt;dir = vacío($dir)? $this-gt;uploadDir:$dir;

$this-gt;newName = $newName

$this-gt;isRead = $isRead? verdadero: falso;

$ this- gt; isWrite = $isWrite? true: false;

}

/*

*Procesar archivos cargados

*/

Función pública doUpload(){

$this-gt;verificar datos();

$this-gt;checkFile() o $this-gt;error();

$this->checkExt() o $this->Error();

$this->checkSize() o $this->Error();

$ this->checkError() o $this->Error();

$this->checkDir() o $this->Error();

$this-gt; subir() o $this-gt;error();

return $this-gt;message['msg'];

}

/*

*Procesar datos del archivo subido

*/

Función pública checkData(){

$ num = 0;

$ new arr = array();

foreach($_FILES as $v){

if(is _ array( $ v[' nombre ']){

$ recuento = recuento($ v[' nombre ']);

for($ I = 0; $ i lt$ recuento$ i ){

foreach($ v as $ m = gt; $n){

$ nuevo arreglo[$ num][$ m]= $ n[$ I]

}

$ num ;

}

}else {

$ nuevo arreglo[$ num] = $ v;

$ num;

}

}

$ endArr = array();

foreach($newArr como $v){

si($v['n

ame']! = ''){

$ endArr[]= $ v

}

}

$ this- subirArchivo = $ endArr

}

/*

* Compruebe si el archivo subido existe.

*/

Función privada checkFile(){

if (null($ this- gt; subir archivo)){

$ this->Info['error'] = '¡El archivo subido no puede estar vacío! ! !';

Devuelve FALSO

}

Devuelve VERDADERO

}

/*

*Compruebe si el tipo de archivo cargado es legal.

*/

Función privada checkExt(){

if (!is_array($this- gt; text)){

$this-gt;ext = explotar(',',$this-gt;ext);

}

foreach($this-gt;subir archivo como $v ){

$ text = strtolower(substr(str rchr(basename($ v[' name ']),'.'),1));

if (! in_array ($ text, $this-gt;ext)){

$this-gt;Info['error'] = 'El tipo de archivo cargado es ilegal, ¡la carga está prohibida! ! !';

Devuelve FALSO

}

}

Devuelve VERDADERO

}

/*

* Comprueba el tamaño del archivo subido.

*/

Función privada checkSize(){

foreach($ this- gt; el archivo cargado es $v){

if($ v[' size '] gt; $ this- gt; size){

$ this- gt; Info['error'] = 'El archivo cargado es demasiado grande, ¡la carga falló! ! !';

Devuelve FALSO

}

}

Devuelve VERDADERO

}

/*

*Detectar código de error de carga de archivos

*/

Función privada checkError(){

foreach($ this - gt; el archivo cargado es $v){

Cambiar ($v['error']){

Caso 0:

Devuelve VERDADERO

Roto;

Caso 1:

$ this->Info['error'] = 'El archivo cargado excede el límite de la opción upload_max_filesize en php.ini, ¡La carga falló! ! !';

Devuelve FALSO

Break;

Caso 2:

$ this- gt; 'El tamaño del archivo cargado excede el valor especificado por la opción MAX_FILE_SIZE en el formulario HTML.

¡La carga falló! ! !';

Devuelve FALSO

Break;

Caso 3:

$ this- gt; '¡Solo se cargó una parte del archivo! ! !';

Devuelve FALSO

Break;

Caso 4:

$ this->Info['error'] = ' ¡No se ha subido ningún archivo! ! !';

Devuelve FALSO

Rotura;

}

}

Devuelve VERDADERO

}

/*

*Compruebe si la carpeta de carga existe.

*/

Función privada checkDir(){

If (!file_exists($this- gt;uploadDir)){

mkdir($this-gt;uploadDir,0777,true);

}

if (! is_writeable($this-gt;uploadDir)){

$ this- gt; Info['error'] = 'El directorio de carga no tiene permiso de escritura, ¡la carga falló! ! !';

Devuelve FALSO

}

Devuelve VERDADERO

}

/*

*Subir archivos

*/

Función privada upload(){

date_default_timezone_set('PRC ').

//Detecta si el archivo tiene un nombre personalizado.

$ nombre = vacío($ this->nuevoNombre)? fecha('Ymd_His'): $this-gt; nuevoNombre

foreach($this-gt;el archivo cargado es $k = gt$v){

$upload_path = $ este->directorio de carga. $nombre. '_'.($k 1).

strrchr(basename($v['nombre']), '.');

$upload_path = iconv('UTF-8', 'gbk', $upload_path);

if(is_uploaded_file($v['tmp_name']){

if(move_uploaded_file($v['tmp_name'],$upload_path) ){

if ($ esto- gt; isRead amp amp$ this- gt; isWrite){

chmod($upload_path, 0777);

} else if($this- gt;isRead amp!$this- gt;isWrite){

chmod($upload_path, 0444);

}else if(!$this- gt;isRead amp amp$ this- gt;isWrite){

chmod($upload_path, 0222);

}else {

chmod($upload_path, 0000);

}

$ this- gt; info[' msg '] = array (' tipo ' = gt; 1, 'éxito' = archivo gt cargado correctamente', 'ruta' = gticonv('gbk', 'UTF-8' , $upload_path));

} else {

$this-gt; info['error' ] = '¡Error en la carga del archivo!';

Regresar FALSO

}

}

Devuelve VERDADERO

}

/*

*Método para una carga exitosa

*/

Función pública Success(){

echo $this- gt;'message']['success' ];

}

/*

*Error en el método de carga de archivos

*/

Error de función pública(){

echo $this-gt; mensaje['error'] ;

Muerto;

}

Esta es mi clase de PHP, puedes consultarla. Si tiene alguna necesidad especial, dígame y mejore la clase de carga.