Guardar IP al subir una imagen al host php Leido 7.481 veces

 
 
Pregunta
Resuelta.
Tengo un host de imagenes pero quiero que cada imagen que se suba se quede un registro de hora fehca ip y el nombre de la imagen que an subido..
Mira uso esto:



$varrand = substr(md5(uniqid(rand())),0,10);
$varallw = array("image/bmp","image/gif","image/jpeg","image/pjpeg","image/png","image/x-png");
$varpath = "http://tu direccion/tmp/";
$varstat = "";

if ($_POST["action"] == "upload") {
if (is_uploaded_file($_FILES["imagen"]["tmp_name"])) {
$varname = $_FILES["imagen"]['name'];
$vartemp = $_FILES['imagen']['tmp_name'];
$vartype = $_FILES['imagen']['type'];

if (in_array($vartype, $varallw) && $varname != "") {
$arrname = explode(".", $varname);
$varname = $varrand.".".$arrname[1];
if (copy($vartemp, "tmp/".$varname)) {
$varpath = $varpath.$varname;
$varstat = "ok";
} else {
$varstat = "Error al subir el archivo";
}
} else {
$varstat = "Archivo no valido";
}
}
}


<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="413" class="text Estilo2">Aloja gratuitamente tus imagenes:</td>
</tr>
<tr>
<form action="imagehosting.php" method="post" enctype="multipart/form-data">
<td height="50" valign="top" class="text">
<input name="imagen" type="file" class="casilla" id="imagen" size="35" />
<input name="enviar" type="submit" class="boton" id="enviar" value="Subir imagen" />
<input name="action" type="hidden" value="upload" /> </td>
</form>
</tr>


if ($varstat == "ok") {


<tr>
<td class="textinf"><p><span class="Estilo2"><strong><span class="Estilo3">Con</span>firmación:</strong><br>
Archivo publicado satisfactoriamente. Puedes utilizar las siguientes opciones para enlazarlo:<br>
<strong><span class="Estilo3">En</span>lace HTML:</strong> </span><br>
<input name='txt1' type='text' value='<a href="

echo $varpath;

"><img src="

echo $varpath;

" border="0" /></a>' size='60'>
<br>
<span class="Estilo2"><strong><span class="Estilo3">En</span>lace Directo: </strong></span><br>
<input name='txt2' type='text' value='

echo $varpath;

' size='60'>
<br>
<span class="Estilo2"><span class="Estilo3">En</span>lace BBCode:</span>
<input name='txt3' type='text' value='
echo $varpath;

" border="0" />' size='60'>
</p> </td>
</tr>


} else {




if ($varstat != "") {


<tr>
<td class="textinf"><span class="Estilo2"><strong><span class="Estilo3">Er</span>ror:</strong></span><br>


echo $varstat;

 </td>
</tr>


}




}


</table>

 

 





 
Respuesta correcta



$varrand = substr(md5(uniqid(rand())),0,10);
$varallw = array("image/bmp","image/gif","image/jpeg","image/pjpeg","image/png","image/x-png");
$varpath = "http://localhost/subirimag.php";
$varstat = "";

if ($_POST["action"] == "upload") {
if (is_uploaded_file($_FILES["imagen"]["tmp_name"])) {
$varname = $_FILES["imagen"]['name'];
$vartemp = $_FILES['imagen']['tmp_name'];
$vartype = $_FILES['imagen']['type'];
$nombre = $_FILES['imagen']['name'];

if (in_array($vartype, $varallw) && $varname != "") {
$arrname = explode(".", $varname);
$varname = $varrand.".".$arrname[1];
if (copy($vartemp, "tmp/".$varname)) {
$varpath = $varpath.$varname;
$varstat = "ok";

$ip = $_SERVER["REMOTE_ADDR"] ;
$hora = date ("H:i:s ",mktime (date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
$fecha = date ("d-m-Y ",mktime (date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));

$fp = fopen("registro.txt", "a+");
flock ( $fp , 2 );
fputs ($fp, " ".$ip.": ha subido la imagen ".$nombre." renombrada como ".$varname." subida a las: ".$hora." del día ".$fecha."\n" );
fclose ($fp);

} else {
$varstat = "Error al subir el archivo";
}
} else {
$varstat = "Archivo no valido";
}
}
}


<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="413" class="text Estilo2">Aloja gratuitamente tus imagenes:</td>
</tr>
<tr>
<form action="imagehosting.php" method="post" enctype="multipart/form-data">
<td height="50" valign="top" class="text">
<input name="imagen" type="file" class="casilla" id="imagen" size="35" />
<input name="enviar" type="submit" class="boton" id="enviar" value="Subir imagen" />
<input name="action" type="hidden" value="upload" /> </td>
</form>
</tr>


if ($varstat == "ok") {


<tr>
<td class="textinf"><p><span class="Estilo2"><strong><span class="Estilo3">Con</span>firmación:></strong><br>
Archivo publicado satisfactoriamente. Puedes utilizar las siguientes opciones para enlazarlo:<br>
<strong><span class="Estilo3">En</span>lace HTML:</strong> </span><br>
<input name='txt1' type='text' value='<a href="

echo $varpath;

"><img src="

echo $varpath;

" border="0" /></a>' size='60'>
<br>
<span class="Estilo2"><strong><span class="Estilo3">En</span>lace Directo: </strong></span><br>
<input name='txt2' type='text' value='

echo $varpath;

' size='60'>
<br>
<span class="Estilo2"><span class="Estilo3">En</span>lace BBCode:</span>
<input name='txt3' type='text' value='
' size='60'>
</p> </td>
</tr>


} else {



if ($varstat != "") {


<tr>
<td class="textinf"><span class="Estilo2"><strong><span class="Estilo3">Er</span>ror:</strong></span><br>


echo $varstat;

</td>
</tr>


}



}


</table>

 

 


 
Respuesta correcta



$varrand = substr(md5(uniqid(rand())),0,10);
$varallw = array("image/bmp","image/gif","image/jpeg","image/pjpeg","image/png","image/x-png");
$varpath = "http://localhost/subirimag.php";
$varstat = "";

if ($_POST["action"] == "upload") {
if (is_uploaded_file($_FILES["imagen"]["tmp_name"])) {
$varname = $_FILES["imagen"]['name'];
$vartemp = $_FILES['imagen']['tmp_name'];
$vartype = $_FILES['imagen']['type'];
$nombre = $_FILES['imagen']['name'];

if (in_array($vartype, $varallw) && $varname != "") {
$arrname = explode(".", $varname);
$varname = $varrand.".".$arrname[1];
if (copy($vartemp, "tmp/".$varname)) {
$varpath = $varpath.$varname;
$varstat = "ok";

$ip = $_SERVER["REMOTE_ADDR"] ;
$hora = date ("H:i:s ",mktime (date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
$fecha = date ("d-m-Y ",mktime (date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));

$fp = fopen("registro.txt", "a+");
flock ( $fp , 2 );
fputs ($fp, " ".$ip.": ha subido la imagen ".$nombre." renombrada como ".$varname." subida a las: ".$hora." del día ".$fecha."\n" );
fclose ($fp);

} else {
$varstat = "Error al subir el archivo";
}
} else {
$varstat = "Archivo no valido";
}
}
}


<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="413" class="text Estilo2">Aloja gratuitamente tus imagenes:</td>
</tr>
<tr>
<form action="imagehosting.php" method="post" enctype="multipart/form-data">
<td height="50" valign="top" class="text">
<input name="imagen" type="file" class="casilla" id="imagen" size="35" />
<input name="enviar" type="submit" class="boton" id="enviar" value="Subir imagen" />
<input name="action" type="hidden" value="upload" /> </td>
</form>
</tr>


if ($varstat == "ok") {


<tr>
<td class="textinf"><p><span class="Estilo2"><strong><span class="Estilo3">Con</span>firmación:></strong><br>
Archivo publicado satisfactoriamente. Puedes utilizar las siguientes opciones para enlazarlo:<br>
<strong><span class="Estilo3">En</span>lace HTML:</strong> </span><br>
<input name='txt1' type='text' value='<a href="

echo $varpath;

"><img src="

echo $varpath;

" border="0" /></a>' size='60'>
<br>
<span class="Estilo2"><strong><span class="Estilo3">En</span>lace Directo: </strong></span><br>
<input name='txt2' type='text' value='

echo $varpath;

' size='60'>
<br>
<span class="Estilo2"><span class="Estilo3">En</span>lace BBCode:</span>
<input name='txt3' type='text' value='
' size='60'>
</p> </td>
</tr>


} else {



if ($varstat != "") {


<tr>
<td class="textinf"><span class="Estilo2"><strong><span class="Estilo3">Er</span>ror:</strong></span><br>


echo $varstat;

</td>
</tr>


}



}


</table>

 

 


 
Con eso voy bien Grax
 

 


 
Ha recibido:
1 premios
Mira a ver si te gusta más ahora, he puesto el nombre original y el que da el script, el texto sería:

80.20.30.31: ha subido la imagen brocolih.png renombrada como 5d34dfad11.png subida a las: 18:25:26 del día 23-07-2009