$dir = '"RUTA CARPETA"'; while(($archivo = $dir->read()) !== false) { if (eregi("gif", $archivo) || eregi("jpg", $archivo) || eregi("png", $archivo)){ $datos .= "
"; } }
}
Podemos reemplazar así: str_replace(chr(128),"€",$var);
Si te encuentras con un error 500 por la ejecución de un script, en mi caso fue por phpmailer y un bucle de envíos, y en el log de apache te aparece «mod_fcgid: read data timeout in 45 seconds» no desesperes tengo una solución. Básicamente ocurre por que php está funcionando con FastCGI y tiene un tiempo establecido. Podemos configurarlo de la siguiente manera:
Editar:
> vi /var/www/vhosts/tudominio.com/conf/vhost.conf Incluir: <IfModule mod_fcgid.c> ProcessLifeTime 7200 IPCCommTimeout 7200 IPCConnectTimeout 300 </IfModule> Reconstruimos: /usr/local/psa/admin/bin/httpdmng –reconfigure-domain tudominio.com Reiniciamos Apache: service httpd restart
Este error sucede cuando un host supera las conexiones con error a mysql o los clientes cierran la conexión de manera incorrecta.
Para mostrar los errores de mysql utiliza el siguiente comando:
# mysqladmin -u root -p extended-status
La solución es bastante sencilla:
mysql> -u root -p flush-hosts
En mi caso este error llego del script bastante precario de un cliente cual no tenia cierre de las conexiones mysql mysql_close().
PHPMAILER es una clase que permite enviar correo vía smtp entre otros. Lo mejor de todo es que permite enviar a múltiples servidores y múltiples correo de una forma sencilla. El uso es relativamente fácil, debemos incluir los archivos class.phpmailer.php y class.smtp.php y luego configurar las opciones del servidor smtp. Puedes encontrar bastante información en su github pinchando aquí: PHPMAILER
Aquí te muestro un ejemplo que realicé para el envío con smtp de 1and1 desde local:
Nota: Si no te funciona utiliza isSendMail().
require_once ("lib/class.phpmailer.php"); require_once('lib/class.smtp.php'); $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->SMTPSecure = "tsl"; $mail->Host = "smtp.1and1.es"; $mail->Port = 25; $mail->Username = "info@albertsuarez.com"; $mail->Password = "****"; $mail->From = "info@albertsuarez.com"; $mail->FromName = "Contacto"; $mail->AddAddress("info@albertsuarez.com"); $mail->IsHTML(true); $mail->SMTPDebug = 2; $mail->Subject = "Contacto"; $mail->MsgHTML("CONTENIDO EMAIL"); if(!$mail->Send()) { echo 'ERROR'.$mail->ErrorInfo; }
Pasar las variables por el array $_POST es bastante fácil, si prestas atención se pueden utilizar los id de cada input para obtener la información del valor.La forma de colocar también es bastante sencilla, después de indicar el archivo y entre «{}» colocamos el nombre que tendrá en el array y su valor.
<div class="form-actions"> <a id="guardar" class="btn btn-inverse"><div class="icon-plus"></div>'."\n".GUARDAR.'</a> <a target="_blank" href="?p=ajax&d=visual_plantilla&id='.$objetodatos["0"]["id"].'" id="previsualiza" class="btn btn-inverse"><div class="icon-plus"></div>'."\n".PREVIO.'</a> <div id="status"></div> </div> <div id="submitted"></div> <textarea id="archivo" class="ckeditor">'.$objetodatos["0"]["archivo"].'</textarea> </form>';
$("#guardar").live('click',function(event) { $("#ajaxcontent").load("index.php?p=ajax&d=guardar", { name: $("#name").val(), archivo:$("#archivo").val() , id: $("#id").val() }); });
$('.item').hide(); $('.divBox').hover(function() { $(this).children('.item').show(); }, function() { $(this).children('.item').hide(); });
<div class="divBox"> Show Div1 <div class="item"> Div 1 </div> </div> <div class="divBox"> Show Div 2 <div class="item"> Div 2 </div> </div> <div class="divBox"> Show Div 3 <div class="item"> Div 3 </div> </div>
Una de las formas de cargar para que funciones las acciones que tengas y que al cargar con jquery load no te funcionen.
function jq(){ //// HOVER DIV INFO ////// $('.link_datos').hide(); $('.datos').hover(function() { $(this).children('.link_datos').show(); }, function() { $(this).children('.link_datos').hide(); }); /// HOVER DIV INFO /////// } $("#consulta").load('index.php?p=all_reservas&borrar_sessiones=1', function(){ jq(); });