elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / PHP / Re: Mostrar imagen desde mysql con php en: 21 Junio 2013, 20:12 pm
Vale, para subirlas por FTP tengo este codigo (totalmente basico)

Código:
$idconexion = ftp_connect("www.mipagina.es");
$resultado = ftp_login($idconexion, "usuario","password");
if ((!$idconexion) || (!$resultado)) {
    echo "No se pudo conectar";
die;
}
ftp_pasv ($idconexion, false) ;
$remoto = $_FILES["archivo"]["name"];
$local = $_FILES["archivo"]["tmp_name"];
$folder= $remoto;
if(ftp_chdir($idconexion, "/public_html/subidas")){
    if (ftp_put($idconexion,$remoto,$local,FTP_BINARY)){
           echo "Subido correctamente}
else {
    echo "No se pudo subir la imagen";
}       
ftp_close($idconexion);


He entendido lo de separar la extension del nombre, pero no se aplicarlo aqui
$_FILES["archivo"]["name"]


Gracias por toda la ayuda!!
2  Programación / PHP / Re: Mostrar imagen desde mysql con php en: 21 Junio 2013, 19:46 pm
Rectifico, no me da error.
Llevo todo el dia con esto y me cago en el apostrofe que faltaba de los huevos...

Vale, bien, ahora; lo de renombrar la imagen respetando su extension, alguna idea?

Y lo repito, ineficiente por?
Es mejor hacerlo subiendo las imagenes a un directoria y guardar la ruta en la tabla??
3  Programación / PHP / Re: Mostrar imagen desde mysql con php en: 21 Junio 2013, 19:39 pm
Me da el mismo error al hacer eso.

Por que es ineficiente??
4  Programación / PHP / Mostrar imagen desde mysql con php en: 21 Junio 2013, 19:22 pm
Buenas a todos.
Les comento a ver si pueden ayudarme.
Por un lado, subo imagenes a la BDD de la siguiente forma:

Código:
<?php
//conexion a la base de datos
include("acceso.php");
// Nos conectamos a phpmyadmin
$conectar = mysql_connect($dbhost, $dbuser, $dbpasswd);
// Comprobamos que  nos pudieramos conectar a phpmyadmin
if (!$conectar) {
die('No se pudo conectar a la base: ' . mysql_error());
}
mysql_select_db($dbname) or die(mysql_error()) ;

//comprobamos si ha ocurrido un error.
if ( !isset($_FILES["imagen"]) || $_FILES["imagen"]["error"] > 0){
  echo "ha ocurrido un error";
} else {
  //ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido.
  //y que el tamano del archivo no exceda los 16MB
  $permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png");
  $limite_kb = 16384;

  if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024){

    //este es el archivo temporal
    $imagen_temporal  = $_FILES['imagen']['tmp_name'];
    //este es el tipo de archivo
    $tipo = $_FILES['imagen']['type'];
    //leer el archivo temporal en binario
                $fp     = fopen($imagen_temporal, 'r+b');
                $data = fread($fp, filesize($imagen_temporal));
                fclose($fp);


    $resultado = @mysql_query("INSERT INTO Usuarios (Imagen, Tipo_imagen) VALUES ('$data', '$tipo')") ;

    if ($resultado){
      echo "el archivo ha sido copiado exitosamente";
    } else {
      echo "ocurrio un error al copiar el archivo.";
    }
  } else {
    echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes";
  }
}
?>

Bien, se guarda la imagen en un campo BLOB y el type de la imagen en un campo VARCHAR.
Todo eso correcto.

Pero mi problema viene al intentar mostrar la imagen en una pagina con contenido.
Es decir, puedo usar este codigo para ver la imagen en una pagina nueva, y se ve la imagen sola, asi que la subida funciona:

Código:
<?php
mysql_select_db($dbname);
$sql= "SELECT Imagen, Tipo_imagen FROM Usuarios";
$result= mysql_query($sql, $conectar);
$row= mysql_fetch_assoc($result);


  //ahora colocamos la cabeceras correcta segun el tipo de imagen
  header("Content-type: ".$row['Tipo_imagen']."");

  echo ($row['Imagen']);
?>

Pero por ejemplo no podria poner ese codigo aqui:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?php
mysql_select_db($dbname);
$sql= "SELECT Imagen, Tipo_imagen FROM Usuarios";
$result= mysql_query($sql, $conectar);
$row= mysql_fetch_assoc($result);


  //ahora colocamos la cabeceras correcta segun el tipo de imagen
  header("Content-type: ".$row['Tipo_imagen']."");

  echo ($row['Imagen']);
?>
</body>
</html>

(Se que faltan datos para la conexion, solo son ejemplos).
Si intento hacer eso, me da error por no poder modificar el Content-type de la pagina que incluye el codigo php...

Entonces como hago para mostrar la imagen??
Porque necesito poder cargar el type de la imagen de alguna forma para que lea la informacion del campo BLOB.

Y por otro lado, alguna idea de como modificar el nombre de la imagen al subirla respetando la extension del archivo?
Quisiera que la imagen tomara el nombre del usuario que la sube ($_COOKIE['Usuario'])
Pero con lo que hago, la renombro pero sin extension...

Gracias por su atencion y ayuda.

Un saludo.
5  Programación / PHP / Re: Examen tipo test MySQL y PHP en: 29 Mayo 2013, 19:11 pm
Vale, ni caso al anterior comentario.

Deduzco que no pueden existir dos while?
Al menos quitando uno y metiendolo dentro del otro me sale ya todo bien.

Ahora solo me queda adornarlo un poco
:)

Muchas gracias por toda la ayuda!!
De verdad, muchas gracias.

Un saludo!
6  Programación / PHP / Re: Examen tipo test MySQL y PHP en: 29 Mayo 2013, 18:48 pm
Vale.
Ya lo he solucionado.
Os cuento, porque pensaba que podia hacer lo que yo tenia pero parece que no.
El caso es el siguiente.
Os lo explico con todo detalle:
Primero, la base de datos tiene el nombre, email, 105 respuestas y otros datos personales.
Claro, yo pensaba que podia añadir este codigo al que yo tenia, de forma que se mostraran los datos personales y debajo las respuestas correctas e incorrectas.
Pero tal y como lo tenia, hacia que el array no funcionara.
Mi codigo era este:
Código:
<HTML>
<HEAD>
<TITLE>Correcion</TITLE>
</HEAD>
<BODY>
<?php
//Incluimos datos de conexion
include("conectar.php");
// Nos conectamos a phpmyadmin
$conectar = mysql_connect($dbhost, $dbuser, $dbpasswd);
// Comprobamos que  nos pudieramos conectar a phpmyadmin
if (!$conectar) {
    die('No se pudo conectar a la base: ' . mysql_error());
}
// Nos conectamos a la base
mysql_select_db($dbname);
//Cogemos los campos del formulario
$ID=$_POST['ID'];
//Realizamos la consulta
$sql = "SELECT Nombre, Email, FROM test_online_1
WHERE ID = '$ID'";
$result = mysql_query($sql);
?>
<table align="center">
<tr>
<th>Nombre</th>
<th>Email</th>
</tr>
<?php
// Recoger y mostrar los resultados
while ($result_fila = mysql_fetch_array($result)){
echo '<tr><td>' .$result_fila['Nombre'] . '</td>';
echo '<td>'.$result_fila['Email'] . '</td></tr>';
}
mysql_free_result($result)
?>
</table>
</BODY>
</HTML>

Entonces yo habia pegado debajo del while que yo habia hecho, el while del codigo que habeis puesto aqui, pero asi no funciona.
Entonces, para que se entienda.
Una tabla en la que ponga
Nombre | Email | Dato personal 1 | Dato personal 2 | etc...
Y debajo me muestra el array.

Se entiende lo que quiero decir?
Muchisimas gracias por vuestra ayuda!!
Un saludo!!!!

P.D. ya, lo de la i latina lo conocia, pero son manias que cuesta dejar jejejeje
7  Programación / PHP / Re: Examen tipo test MySQL y PHP en: 29 Mayo 2013, 18:36 pm
Vale, el problema es que en parte de mi codigo esta usando
mysql_algo
Y despues al copiar, habiadejado
msyqlI_algo
Al quitar la I no aparece el error.
Pero el print sale sin ningun valor
Array(
)
No muestra nada dentro...

Jo, lamento mi torpeza!!
8  Programación / PHP / Re: Examen tipo test MySQL y PHP en: 29 Mayo 2013, 18:25 pm
Gracias por la respuesta!!!

He probado ese codigo (con algunas modificaciones mias) y me reporta este error:

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /home/../enviar.php on line 43

Array
(
)

Linea 43:
while($row = mysqli_fetch_array($resultado,MYSQLI_ASSOC)){

A que se debe ese error?
Un saludo!
9  Programación / PHP / Re: Examen tipo test MySQL y PHP en: 29 Mayo 2013, 12:42 pm
El problema es que el profesor soy yo jajajaja
Si, la estructura es nombre, email, y las 105 respuestas, atendiendo a la forma que puse al principio.

Entonces, seria posible que si una igualdad se cumple, darle un value y despues hacer un count de los values=1??

O me estoy inventando esto??

Gracias por vuestra ayuda!!
10  Programación / PHP / Examen tipo test MySQL y PHP en: 29 Mayo 2013, 11:31 am
Buenas a todos.
Tengo una duda en la que estoy atascado y espero que podais echarme un mano.
Tengo una base de datos en la que se han guardado las respuestas a un examen tipo test. Son 105 respuestas de tipo A, B, C y D
En la base de datos, la estructura es:
Lengua1
Lengua 2
Lengua 3
...
Lengua 15
Matematicas 1
Matematica 2
...
Matematicas 15
Sociales 1
Sociales 2
...
Hasta las 105 preguntas

El caso es que quisiera hacer un codigo PHP en el que yo le indico que recupere los valores de cada respuesta de la base de datos.
Y despues indicar que:
Lengua 1 debe ser = a B (como respuesta correcta)
Lengua 2 = C
Lengua 3 = A
...
Hasta ahi todo bien,
pero claro, lo que no tengo ni idea de como hacer es para que me cuente cuantas respuestas correctas, (o cuantas igualdades se confirman)

Habia pensado en indicar que si la igualdad es correcta le asigne  Value = 1, si es incorrecta Value = 0 y despues contar cuantos 1 existen
Pero no se si ese planteamiento es correcto, ni se como se debe hacer.

Creen que pueden echarme un mano con el codigo?
Es que de la idea en mi cabeza a escribir el codigo, para mi, hay un paso muy grande y no consigo plasmar la idea en php :S

Un saludo y muchas gracias por la ayuda!!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines