Buenas!!! Cómo estan todos?? Soy nueva en esto de las bases de datos, MySQL, php, etc... hasta el momento chino básico...
Les cuento... tengo una página (elojourbano.webcindario.com) en la que estaba probando algo que me pasó un amigo; se trata de un archivo hecho en flash que permite subir fotos a los usuarios.
Bien el problema es que no sé por qué me salen tantos errores cuando quiero cargar una foto.
Les pongo aca tal cual el código de los archivos como los tengo ahora (asi de paso si alguien los quiere usar puede hacerlo sin ningun problema)
Archivo Index.php
Codigo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Imagenes</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
<body bgcolor="#112A4A" text="#FFFFFF">
<table width="100%" border="0">
<tr>
<td><div align="center">
<form action="" method="post" enctype="multipart/form-data" name="form" id="form">
<input name="archivo" type=file id="archivo">
<input name="submit" type=submit value=Upload>
<input type="reset" name="Reset" value="Borrar">
</form>
<?php
$extensiones=array("jpg","jpeg");
$dbuser="root"; //usuario de la base de datos
$dbpass="root2512"; // password para la base
if (isset($_FILES['archivo']['name'])){ // si estoy subiendo el archivo o es la primera carga de la pagina
$path="imagenes/"; // path adonde la voy a guardar, en este caso mi_ubicacion_actual/imagenes
$nombre=$_FILES['archivo']['name'];
$tamanio=$_FILES['archivo']['size'];
$tipo=$_FILES['archivo']['type'];
$var = explode(".","$nombre");
$num = count($extensiones);
$valor = $num-1;
$admitido=false;
for($i=0; $i<=$valor; $i++) {
if($extensiones[$i] == $var[1]) {
$admitido=true;//es una extension valida
break;
}
}
if ($admitido){
$link=mysql_connect("mysql.webcindario.com",$dbuser,$dbpass);
mysql_select_db("mysql.webcindario.com");
$tamanio=round($tamanio/1024,0); //redondeo y paso a kb
$sql="Insert Into pics (tipo,size,path) values ('" .$tipo. "'," .$tamanio. ",'" .$path. "')";
mysql_query($sql);
$lastid=mysql_insert_id();
$path.=$lastid . "-" . $nombre;
$sql="Update pics set path='" . $path . "' Where id=$lastid";
mysql_query($sql);
if (is_uploaded_file($_FILES['archivo']['tmp_name']))
{
copy($_FILES['archivo']['tmp_name'], "$path");?>
<font color="#CCCCCC" size="2" face="Verdana, Arial, Helvetica, sans-serif">El
archivo se ha subido correctamente al servidor.</font>
<?php
if (mysql_affected_rows($link)==0){?>
<font color="#CCCCCC" size="2" face="Verdana, Arial, Helvetica, sans-serif">Ocurrio un error guardando
en la base de datos. </font>
<?php
}
}
else
{ ?>
<font color="#CCCCCC" size="2" face="Verdana, Arial, Helvetica, sans-serif">Error
al subir el archivo.</font>
<?php
}
}else{?>
<font color="#CCCCCC" size="2" face="Verdana, Arial, Helvetica, sans-serif">Tipo
de archivo no admitido, debe ser .jpg ó .jpeg</font>
<?php
}
}
?>
</div></td>
</tr>
<tr>
<td><div align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="453" height="295">
<param name="movie" value="forma.swf">
<param name=quality value=high>
<embed src="forma.swf" quality=high
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
type="application/x-shockwave-flash" width="453" height="295"></embed>
</object>
</div></td>
</tr>
</table>
<p> </p>
Luego el archivo work.php:
Codigo:
<?php
global $dbuser,$dbpass;
$dbuser="root";
$dbpass="";
switch($_GET['HttpOpc']){
case "Fila":
if (isset($_GET['FilaActual'])) {
$FilaActual = $_GET['FilaActual'];
}else{
$FilaActual = 0;
}
$res=Fila($FilaActual,$_GET['total']);
break;
case "Borrar":
$res=Borrar($_GET['id']);
break;
}
// devuelvo el resultado dependiente de cada funcion
//return de result depending of each function
echo $res;
exit();
//Borra una imagen $User del disco, y retorna si se borro algo o no
//erase an image from de disc and return if sucess or not
function Borrar($ID){
$link=mysql_connect("mysql.webcindario.com",$dbuser,$dbpass);
mysql_select_db("mysql.webcindario.com");
$sql="Select path from pics where id=". $ID;
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$path=$row[0];
if (file($path)){//pregunto si existe porque si no es asi la siguiente linea daria error
unlink($path);
}
$Delete="DELETE FROM pics Where id=$ID";
$rs = mysql_query($Delete);
$r="res=" . mysql_affected_rows() . "&basura=nada";//se añade basura para eliminar el espacio despues de res=0 o
res=1 para que lo use flash
return $r;
}
//devuelve un registro especico y el total si es la primera carga del script, para las proximas cargas no se saca, porque
consume recursos, y ya se saba cual es su valor
//return one espefic reg and the total if is it the first run of the script, for the nexts loads it don't take it, because
now i know the value
function Fila($FilaActual,$SacarTotal){
$link=mysql_connect("mysql.webcindario.com",$dbuser,$dbpass);
mysql_select_db("mysql.webcindario.com");
$query_rs = "SELECT * FROM pics";
if ($SacarTotal=="si"){
$rs = mysql_query($query_rs) or die(mysql_error());
$totalRows = mysql_num_rows($rs);
}else{
$totalRows=$SacarTotal;
}
if ($FilaActual>$totalRows-1){//para que no pase del limite de registros de la tabla
$FilaActual--;
}
$query_limit_rs = sprintf("%s LIMIT %d, %d", $query_rs, $FilaActual, 1);
$rs = mysql_query($query_limit_rs) or die(mysql_error());
$row = mysql_fetch_assoc($rs);
$httpres="&total=". $totalRows. "&actual=". $FilaActual. "&id=". $row["id"]. "&tipo=" .$row["tipo"]. "&tamano="
.$row["size"]. "&path=" .$row["path"] ;
if ($totalRows==0){
$httpres="&total=0&actual=0&path=No existen&id=&tipo=&tamano=";
}
mysql_free_result($rs);
return $httpres;
}
?>
Y tambien me habia mandado uno que era instalar que es un archivo SQL:
Codigo:
#
# Table structure for table 'pics'
#
DROP TABLE IF EXISTS pics;
CREATE TABLE pics (
id int(11) unsigned NOT NULL auto_increment,
tipo varchar(100) NOT NULL default '',
size int(11) NOT NULL default '0',
path varchar(50) default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
#
# Dumping data for table 'pics'
#
INSERT INTO pics (tipo, size, path) VALUES("image/pjpeg", "55", "imagenes/31-i.jpg");
Por último los errores que me saltan en la página los pueden ver uds mismos, pero igual aca los pongo
Codigo:
Warning: mysql_connect(): Access denied for user: 'root@web5.webcindario.com' (Using password: YES) in /home/webcindario/elojourbano/index.php on line 47
Warning: mysql_select_db(): Access denied for user: 'apache@web5.webcindario.com' (Using password: NO) in /home/webcindario/elojourbano/index.php on line 48
Warning: mysql_select_db(): A link to the server could not be established in /home/webcindario/elojourbano/index.php on line 48
Warning: mysql_query(): Access denied for user: 'apache@web5.webcindario.com' (Using password: NO) in /home/webcindario/elojourbano/index.php on line 51
Warning: mysql_query(): A link to the server could not be established in /home/webcindario/elojourbano/index.php on line 51
Warning: mysql_insert_id(): A link to the server could not be established in /home/webcindario/elojourbano/index.php on line 52
Warning: mysql_query(): Access denied for user: 'apache@web5.webcindario.com' (Using password: NO) in /home/webcindario/elojourbano/index.php on line 55
Warning: mysql_query(): A link to the server could not be established in /home/webcindario/elojourbano/index.php on line 55
Warning: copy(): open_basedir restriction in effect. File(/tmp/phppipeXg) is not within the allowed path(s): (/home/webcindario/elojourbano) in /home/webcindario/elojourbano/index.php on line 58
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in /home/webcindario/elojourbano/index.php on line 62
Espero que alguien se apiade y me explique un poquito porque me encantaría aprender.
Desde ya muchas gracias!!!!
Saludos.