Foros del Web » Programando para Internet » PHP »

Warning: Unable to open '1' for reading: No such file or directory in

Estas en el tema de Warning: Unable to open '1' for reading: No such file or directory in en el foro de PHP en Foros del Web. Como se soluciona esto: Warning: Unable to open '1' for reading: No such file or directory in Estoy tratando de hacer upload de imagenes...
  #1 (permalink)  
Antiguo 17/07/2003, 14:40
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
Warning: Unable to open '1' for reading: No such file or directory in

Como se soluciona esto:
Warning: Unable to open '1' for reading: No such file or directory in



Estoy tratando de hacer upload de imagenes
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 17/07/2003, 14:49
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Hola
El archivo que queres abrir esta dentro de la ruta en tu codigo.... o mira si tenes permiso de lectura y escritura del mismo...
saludos
  #3 (permalink)  
Antiguo 17/07/2003, 14:50
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
bueno es que estoy trabajando en window...
__________________
www.dataautos.com
  #4 (permalink)  
Antiguo 17/07/2003, 14:57
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Bueno, ahi lo que parece es que tu script esta tratando de abrir un archivo llamado "1"... es eso correcto? tienes un archivo que se llama "1" así sin extension ni nada??

Por que no pegas el pedazo de codigo que está tratando de hacer el fopen o file???
__________________
Manoloweb
  #5 (permalink)  
Antiguo 17/07/2003, 14:57
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
puedes postear parte de tu codigo para poder mirarlo y ver el problema...
  #6 (permalink)  
Antiguo 17/07/2003, 15:04
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
Bueno aqui esta lo que ando usando.... como estoy subiendo varias imagenes a la vez, pues llego un momento donde me las subio todas, pero al seguir tratando, me metia el nombre temporal en la base de datos y bueno continue tratando...y aqui ando en este error

Código PHP:
<form name="form1" method="post" action="" enctype="multipart/form-data"> 
Año :<input type="text" name="year"><br>
Foto 1:<input type="file" name="photo"><br>
Foto 2:<input type="file" name="photo2"><br>
Foto 3:<input type="file" name="photo3"><br>
Foto 4:<input type="file" name="photo4"><br>
Foto 5:<input type="file" name="photo5"><br>
Foto 6:<input type="file" name="photo6"><br>
Foto 7:<input type="file" name="photo7"><br>
Marca :<input type="text" name="make"><br>
Modelo :<input type="text" name="model"><br>
Precio :<input type="text" name="price"><br>
Comentarios :<textarea name="comments"></textarea><br>
<input type="submit" name="Submit" value="Submit"> 
<?php
include('ok.php');
//$path = "cars/images ";
if(isset($Submit))
{
//Si el boton submit ha sido pulsado
if($_FILES['photo']['type']&&$_FILES['photo']['type']&&$_FILES['photo3']['type']&&$_FILES['photo4']['type']&&$_FILES['photo5']['type']&&$_FILES['photo6']['type']&&$_FILES['photo7']['type']=="image/pjpeg" or "image/gif"){
//copiar archivos
  
copy($_FILES['photo']['tmp_name']&&$_FILES['photo2']['tmp_name']&&$_FILES['photo3']['tmp_name']&&$_FILES['photo4']['tmp_name']&&$_FILES['photo5']['tmp_name']&&$_FILES['photo6']['tmp_name']&&$_FILES['photo7']['tmp_name'],"cars/images/");
}
}
;
?>
</form>
__________________
www.dataautos.com
  #7 (permalink)  
Antiguo 17/07/2003, 15:18
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Mi amigo asinox...

Creo que tienes un pequeño problema comprendiendo la forma de operar de los IF...

NO PUEDES:

if (nombre1 && nombre2 && nombre3=="manuel")

SE DEBE HACER:

if (nombre1=="manuel" && nombre2=="manuel" && nombre3=="manuel")


Ademas la función COPY solo acepta 2 argimentos:

copy(archivo,destino)

No es valido hacerlo...

copy(archivo1&&archivo2...etc)

De hecho el operador && es un operador LOGICO no DE UNION.
__________________
Manoloweb
  #8 (permalink)  
Antiguo 17/07/2003, 15:19
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
y como hago para copiar todos los archivos a x carpeta?
__________________
www.dataautos.com
  #9 (permalink)  
Antiguo 17/07/2003, 15:32
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Hay dos formas...

Una como te comente en otros post, con un FOR o con un FOREACH

Otra (hardcoded) sería que hicieras eso mismo 7 veces, una para cada campo...

if (foto1 tal){
copy (tal)
}

if (foto2 tal){
copy (tal)
}

if....
__________________
Manoloweb
  #10 (permalink)  
Antiguo 17/07/2003, 15:34
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
oks, pruebo

tal es el directorio?
__________________
www.dataautos.com
  #11 (permalink)  
Antiguo 17/07/2003, 15:39
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Amigo yo estoy en un problema similar al tuyo y es como te respondio Manoloweb o usas un FOR o con un FOREACH o para cada campo lo repites.
Por ejemplo te envio esta parte del codigo PHP con una base SQL Server en la cual le ingreso una imagen JPG en $fichero y en los campos las descripciones de las imagenes

Código PHP:
<?php


        $fichero 
"firma.jpg";
        
$campo1 'blablabla';
        
$campo2 'lo que sea';
  
$fp fopen($fichero "rb"); // o "rb" si usas Windows
  
$contenido fread($fpfilesize($fichero)); 
//  echo $contenido;

  // Se establece la conexión con la fuente de datos
  
$conex odbc_connect("miserver""sa""sa");
  
$consulta "INSERT dbo.tmp_image(IMAGEN, NOMBRE, LONG) values ('$contenido','file-name','1234')";
 
// $consulta = "INSERT dbo.tmp_image values('$contenido','$campo1','$campo2')";



  
$resultado odbc_exec($conex$consulta);
 
  
//Se liberan recursos y se cierra la conexión
  
odbc_free_result($resultado);
  
odbc_close($conex);

?>
espero que te sirva, saludos
  #12 (permalink)  
Antiguo 17/07/2003, 15:44
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
por que tienes esto: $fichero = "firma.jpg";?

yo no puedo usarlo asi, yo soy a subir imagenes, pero no tendre ninguna predeterminada... o no se si entendi mal
__________________
www.dataautos.com
  #13 (permalink)  
Antiguo 17/07/2003, 15:45
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
Manolo no entiendo esa parte de tal...que es?
__________________
www.dataautos.com
  #14 (permalink)  
Antiguo 17/07/2003, 15:45
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
No, es una simple abreviación del código tuyo...

Código PHP:
IF ($_FILES['photo1']['type']=="image/pjpeg" or $_FILES['photo1']['type']=="image/gif"){
$file=$_FILES['photo']['name'];
COPY ($_FILES['photo']['tmp_name'],"cars/images/".$file);
}

// Y asi para cada foto... 
__________________
Manoloweb
  #15 (permalink)  
Antiguo 17/07/2003, 15:47
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
oks, gracias
__________________
www.dataautos.com
  #16 (permalink)  
Antiguo 17/07/2003, 15:56
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
Gracias gente...ya tengo las imagenes con el upload y sus datos en la Base de datos....

Solo que en los datos de la base de datos me copia el nombre temporar y no el nombre del archivo original...esto es lo que mete en la BD:

C:Program FilesEasyPHP mpphp4C1.tmp

uff ya me siento mejor..jeej
__________________
www.dataautos.com
  #17 (permalink)  
Antiguo 17/07/2003, 16:02
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Asinox
Firma.jpg lo puse para resumir el codigo mio, ya que ahi vendria el <input name ........
pero te dejo este otro codigo que te puede llegar a servir si utilizas mysql


podias hacer algo asi :

subir.htm
Código PHP:
<html>
<
head>
</
head>

<
body>

<
form action="subir.php" method="post" name="miformu" enctype="multipart/form-data">
<
BR>
<
p> <BR>

<
input name="archivo" type="file" class="camposumge"><BR>
<
input type="submit" class="botoncerrar" value="Subir" name="submit"><BR>
<
span class="Textoblueb"> <BR>
<
input name="descripcion" type="text" class="campobusmge" id="descripcion">
<
BR>Descripción (Opcional)</span
<
a href="javascript:self.close();" class="gris"> <BR><br>
<
BR>Cerrar Ventana</a> </p><BR></form>
</
body>

</
html

PHP:--------------------------------------------------------------------------------

subir.php


Código PHP:
<? 
require ("config.php");
$extension explode(".",$archivo_name); 
$num count($extension)-1
if(
$extension[$num] == "gif" or $extension[$num] == "bmp" or $extension[$num] == "jpg" or $extension[$num] == "png" or $extension[$num] == "Tiff"

if(
$archivo_size 512000//30000 son 30 Kb

if(!
copy($archivo"imagenes/subidas/".$archivo_name))

echo
'<br><table width="100%" border="0"><tr><td align=center>';
echo 
"<p>Error al copiar el archivo</p></td></tr></table><br><br>"
echo
'<table width="100%" border="0"><tr><td><a href=subir.htm>Atras</a></td>
    <td align=right><a href="javascript:self.close()"; >Cerrar Ventana</a></td>
  </tr>
</table>'
;

else 

echo
'<br><table width="100%" border="0"><tr><td align=center>';
echo 
"<p>Archivo subido con exito</p></td></tr></table><br><br>"
echo
'<table width="100%" border="0"><tr><td><a href=subir.htm class=normal>Atras</a></td>
    <td align=right><a href="javascript:self.close()"; class=normal>Cerrar Ventana</a></td>
  </tr>
</table>'
;


else 


echo
'<br><table width="100%" border="0"><tr><td align=center>';
echo 
"<p>El Archivo pesa mas de 500 Kb</p></td></tr></table><br><br>"
echo
'<table width="100%" border="0"><tr><td><a href=subir.htm>Atras</a></td>
    <td align=right><a href="javascript:self.close()";>Cerrar Ventana</a></td>
  </tr>
</table>'
;


else 

echo
'<br><table width="100%" border="0"><tr><td align=center>';
echo 
"<p>El Formato de la imagen no valido, solo imaganes</p></td></tr></table><br><br>"
echo
'<table width="100%" border="0"><tr><td><a href=subir.htm class=normal>Atras</a></td>
    <td align=right><a href="javascript:self.close()"; class=normal>Cerrar Ventana</a></td>
  </tr>
</table>'
;

$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die("No se pudo conectar a la Base de datos") or die(mysql_error());
mysql_select_db("$sql_db") or die(mysql_error());

$consulta mysql_query("SELECT imagen FROM imagenes where imagen='$archivo_name'") or die(mysql_error());
$total=mysql_result($consulta,0);
if (
$total != $archivo_name ) {
mysql_query("INSERT INTO imagenes values('','$archivo_name','$descripcion')") or die(mysql_error());
mysql_close();
}


?>
saludos
  #18 (permalink)  
Antiguo 17/07/2003, 16:04
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
si, gracias , ya el upload de las imagenes se hacen... y la insercion en la base de datos tambien.... solo que me mete la el nombre temporar en la bd en lugar del nombre original.
__________________
www.dataautos.com
  #19 (permalink)  
Antiguo 17/07/2003, 16:15
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
cambia 'tmp_name' por 'name'
__________________
Manoloweb
  #20 (permalink)  
Antiguo 17/07/2003, 16:18
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
si eso lo hice...pero me dio este error:
Código PHP:
WarningUnable to open 'dreamweavermx.jpg' for readingNo such file or directory in c:program fileseasyphpwwwmstest2.php on line 29

Warning
Unable to open 'bellas1657.jpg' for readingNo such file or directory in c:program fileseasyphpwwwmstest2.php on line 33

Warning
Unable to open 'calavera.jpg' for readingNo such file or directory in c:program fileseasyphpwwwmstest2.php on line 37

Warning
Unable to open 'hulk.jpg' for readingNo such file or directory in c:program fileseasyphpwwwmstest2.php on line 41

Warning
Unable to open 'heart.gif' for readingNo such file or directory in c:program fileseasyphpwwwmstest2.php on line 45

Warning
Unable to open 'visa-mastercard.gif' for readingNo such file or directory in c:program fileseasyphpwwwmstest2.php on line 49

Warning
Unable to open 'tierra3.gif' for readingNo such file or directory in c:program fileseasyphpwwwmstest2.php on line 53 
__________________
www.dataautos.com
  #21 (permalink)  
Antiguo 17/07/2003, 16:49
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
NOOOO!!!

No dije que se lo cambiaras en la parte donde subes los archivos!, solo cuando haces la insercion a la BD...

Algo me dice que no estas analizando el código que te pasamos....

FIJATE:

Código PHP:
//AQUI COMPRUEBAS SI EL ARCHIVO ES UNA IMAGEN
IF ($_FILES['photo1']['type']=="image/pjpeg" or $_FILES['photo1']['type']=="image/gif"){
//AQUI SACAS EL NOMBRE REAL DEL ARCHIVO
$file=$_FILES['photo']['name'];
//AQUI COPIAS EL ARCHIVO TEMPORAL A LA CARPERA CARS/IMAGES/ Y CON EL NOMBRE REAL QUE SACAMOS ARRIBA...
COPY ($_FILES['photo']['tmp_name'],"cars/images/".$file);
//AQUI ES DONDE PUEDES CORRER TU QUERY PARA INSERTAR LA IMAGEN
// PERO RECUERDA USAR EL NOMBRE REAL!!

//NOTA QUE SOLO ES CODIGO DE EJEMPLO, YA QUE NO CONOZCO TU TABLA DE LA BD...

mysql_query("insert into imagenes (ID, imagen) values (NULL,'$file')");

}

// Y asi para cada foto... 
Saludos
__________________
Manoloweb
  #22 (permalink)  
Antiguo 17/07/2003, 16:52
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
oks..ahora si entendi...
__________________
www.dataautos.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:29.