PHP Transforma un fitxer en una variable

[php]

<?php
$wordlist="";
$myfile = fopen(‘pons_ger.txt’, ‘r’) or die(‘Unable to open file!’);// tot el fitxer en una linia sense cr lf

//echo bin2hex($wordlist) . "<br />";
//$search_string = "abbaubar";

while(!feof($myfile)) {
$wordlist= $wordlist. fgets($myfile).’·’; //afegeix indicador de CRLF
//$wordlist= str_replace("$search_string", ".|$search_string",$wordlist);
echo ‘<br>’.$wordlist. ‘<br>’;
}
echo "<br>". $wordlist."<br>";
?>

[/php]

Llegir un fitxer línia per línia amb PHP

Hi ha dos mètodes de fer-ho

Utilitzant file() per llegir el fitxer

[php]

<?php

$aux = file(‘wordlist_ger.txt’,FILE_SKIP_EMPTY_LINES|FILE_IGNORE_NEW_LINES);

$count = 0;
foreach($aux as $linia) {
$count += 1;
echo $linia."<br>";
}

echo "<br> UN ALTRA FORMA DE FER-HO <br>.";

$num_linies=count($aux); //conta el numero d’elements de l’array $aux

for ($i=0; $i <$num_linies ; $i++) {
echo "<br> $aux[$i]";
}

?>

[/php]

===============================================================
Utilitzant fgets() per llegir el fitxer

[php]
<?php
//require(‘../func.php’);// func.php es la llibreria de funcions

//El primer que haurem de fer és obrir el fitxer .txt en mode lectura:

$archivo = fopen(‘pons_ger.txt’,’r’);

//Tot seguit podem recórrer les línies de l’arxiu mitjançant un bucle:

while ($linea = fgets($archivo)) {

echo $linea."<br>;";

$aux[] = $linea;

$numlinea++;

}

/*
A cada iteració d’aquest bucle estem llegint una nova línia del fitxer, l’imprimim
per pantalla i el guardem en un vector per processar cada línia després.
La variable $numlinea la podem utilitzar per realitzar una acció quan estiguem
llegint segons quina línia.
*/

fclose($archivo);

//I finalment, recorrem l’array amb les línies de l’arxiu:

echo ‘<pre>’;

print_r($aux);

echo ‘</pre>’;

?>
[/php]

PHP. 2 Pas de paràmetres al servidor

En aquest exemple veurem com passar paràmetres entre dos programes PHP: prog1.php –paràmetre –> prog2.php (admin.php) ubicats al mateix servidor.

[php]

&lt;form class="form" method="post" name="f1" &gt;
&lt;input name="admin" type="button" id="idex_admin" style="display: yes" value="admin"
onclick=’document.f1.action="admin.php";document.f1.submit();’/&gt;
&lt;input name="admin" /&gt;

[/php]

 

Aquí tenim un exemple de menús tipus TINYdropdown  veurem que no es possible passar paràmetres quant un d’aquests fa referencia a un programa diferent. El mètode que detallo aquí l’he utilitzat molt fent el software del “POLIDICCCIONARI”. Si escrivim qualsevol cosa a la casella admin, veurem que si la volem passar al modul “admin” nomes ho posem fer amb “HTML” amb $_POST[admin].

El que si que permet TINYdropdown es simular que prem el boto “admin” amb una bunció javascript:

[php]

a onclick=’admin()’ href=’javascript:void(0); ‘&gt; admin

[/php]

I la funció javascript es:

[php]

function admin(){
//alert ("boto go_admin");
document.getElementById("idex_go_admin").click();

}

[/php]

Finalment el codi de “top_menu.php” es
[php]

<!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"/>

<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TinyDropdown 2 – animated javascript dropdown</title>
<link rel="stylesheet" href="tinydropdown.css" type="text/css" />
<script type="text/javascript" src="default.js"></script>

<div class="nav">

<p class="title">

<img src="cat.png" style="float:right; margin: 0 20px;" alt="FAS logo" />Gramàtica Catalana
<form class="form" method="post" name="f1" >
<input name="admin" type="button" id="idex_admin" style="display: yes" value="admin"
onclick=’document.f1.action="admin.php";document.f1.submit();’/>
<input name="admin" />
</p>

<ul id="menu" class="menu">
<li><a href="#" title="Fonètica i ortografia" target="_top">Inici</a>
<ul>
<li><a href="#" target="_top">Inici</a></li>
<li><a href="#" target="_top">contactar</a></li>
</ul>

<li><a href="#" title="Fonètica i ortografia" target="_top">Fonètica i ortografia</a>
<ul>
<li><a href="#" title="Vocalisme: fonètica" target="_top">Vocalisme: fonètica</a></li>
<li><a href="#"title="Vocalisme: A/E " target="_top">Vocalisme: A/E </a></li>
<li><a href="#"title="Vocalisme: O/U " target="_top">Vocalisme: O/U </a></li>
<li><a href="#"title="Separació de síl·labes " target="_top">Separació de síl·labes </a></li>
<li><a href="#"title="Accents i dièresi" target="_top">Accents i dièresi </a></li>
<li><a href="#"title="Archived photo portfolio" target="_top">- regles d’accentuació</a></li>
</ul>

<li><a href="#" title="Current work for sale" target="_top">Morfologia i sintaxi</a>
<ul>
<li><a href="#" title="Recent work for sale" target="_top">Lèxic</a></li>
<li><a href="#"title="Archived photo portfolio" target="_top">Gènere: casos especials</a></li>
<li><a href="#"title="Archived photo portfolio" target="_top">Nombre: casos especials</a></li>
<li><a href="#"title="Archived photo portfolio" target="_top">adjectiu</a></li>
<li><a href="#"title="Archived photo portfolio" target="_top">Q o C</a></li>
<li><a href="#"title="Archived photo portfolio" target="_top">Article apòstrof i contracció</a></li>
</ul>

<li><a href="#" title="Current work for sale" target="_top">lèxic i expressió</a>
<ul>
<li><a href="#" title="Recent work for sale" target="_top">Lèxic</a></li>
<li><a href="#"title="puntuació: ús de la coma" target="_top">puntuació: ús de la coma</a></li>
<li><a href="#"title="La descripció" target="_top">La descripció</a></li>
<li><a href="#"title="guió per parlar d’una novel·la" target="_top">guió per parlar d’una novel·la</a></li>
<li><a href="#"title="text argumentatiu" target="_top">text argumentatiu</a></li>
<li><a href="#"title="Article d’opinió" target="_top">Article d’opinió</a></li>
</ul>
</li>

<li class="nodiv"><a onclick=’admin()’ href=’javascript:void(0); ‘> Admin </a>
</li>
</ul>

<script type="text/javascript">
var dropdown=new TINY.dropdown.init("dropdown", {id:’menu’, active:’menuhover’});
</script>

</head>
<body>

</body>
</html>
[/php]

i el CSS

[php]
* {margin:0; padding:0; outline:0}

/* menu bar background and text */
.nav {
height:100%;
min-height:500px;
width:100%;
padding: 5px 10px 5px 10px;
background:url(images/verd_claret.gif);
/*background-color:#BDB9C3;*/
color:#4D4959;
text-shadow:0px 0px #888;
z-index:100;
}

.nowrap {
white-space: nowrap ; /* mateixa linia*/
}
/* link */
.menu a {float:left; color:#4D4959; text-decoration:none; width:130px; height:40px; padding-top:8px; font-weight:bold;}
.menu span {float:left; color:#4D4959; text-decoration:none; width:130px; height:40px; padding-top:8px}

/* link hover, background pale-blue, text dk-grey */.menu a:hover {color:#FFFFFF; background:#9EBFE2}

.menu {list-style:none; font:16px Arial,Verdana; text-align:center; margin:0 0; padding: 0 0;}
.menu li {position:relative; float:left; width:130px; z-index:100;}

/* drop menu, background darker-green, text smaller */
.menu ul {display:none; position:absolute; font:normal 14px Arial,Verdana; top:36px; left:0; url(images/verd_claret.gif); display:none; list-style:none}
.menu ul li {float:none; width:130px; border-top:0px solid #ccc;}
.menu ul li a, li.menuhover li a, li.menuhover li.menuhover li a {float:none; display:block; background:#d5eeee; height:35px; padding-top:5px; margin: 5px 0px;}

/* drop menu link hover, background pale-blue, text white 21007F */
.menu ul li a:hover, li.menuhover li a:hover, li.menuhover li.menuhover li a:hover {background:#9EBFE2; color:#FFFFFF; }

.menu ul li span, li.menuhover li span, li.menuhover li.menuhover li span {float:none; display:block; background:none; height:22px; padding-top:5px}
.menu ul ul {left:130px; top:0}
.menu li.submenu {font-weight:bold}
.menu li.noborder {border-top:none}

/* drop menu link hover, background pale-blue, text dk-grey */
li.menuhover a, li.menuhover li.menuhover a {color:#4D4959; background:#9EBFE2}
li.menuhover span, li.menuhover li.menuhover span {color:#4D4959; background:#9EBFE2}

/* following added by me for the header – nothing to do with the menu above */

p.title {
color: #4D4959;
background-color: inherit;
font-family: "Trebuchet MS", Verdana, Arial, sans-serif;
font-size: 26px;
font-weight: bold;
padding: 8px;
text-align: center;
}

[/php]

php instruccions d’us freqüent(1)

salt de línia: <br>   <?php echo “hello wold1 <br> hello world 2”;

– //es fa la conexió amb la BD
$conn= mysqli_connect(DB_HOST, DB_USER, DB_PWD, DB_NAME);

//s’escriu a la BD

$SQL =”UPDATE $taula SET castella=’$castella’ WHERE id= ‘$idx’ “;
$result = mysqli_query($conn,$SQL);

//llegir registres d’una taula de BD ( include(‘conexió&results.php’);

$conn= mysqli_connect(DB_HOST, DB_USER, DB_PWD, DB_NAME);// fa la conexió
$conn->set_charset("utf8mb4");
$result = mysqli_query($conn,$SQL);//llegeix i carrega matriu
$num_results = $result->num_rows;

Llegir una fila d’una taula

DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'beseit00');
DEFINE ('DB_NAME', 'polidic_eng');

$conn = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die (‘Could not connect to MySQL:’ .mysqli_connect_error());
$conn->set_charset(“utf8mb4”);
//echo “Host information: ” . mysqli_get_host_info($conn) . PHP_EOL;
$SQL = “SELECT * FROM parametres WHERE id=1 LIMIT 1”; //ordre mysql
$result = mysqli_query($conn,$SQL);//llegeix i carrega matriu
$camps = mysqli_fetch_assoc($result);
$encerts=$camps[‘compt_encerts’];
$fallades= $camps[‘compt_fallades’];
$total= $encerts + $fallades;
echo “encerts: $encerts, fallades:$fallades”;
$puntuacio= round(($encerts/$total)*10,2);

afegir un registre

$SQL = "INSERT INTO $_POST[taula](catala,castella,qualificador,aux)VALUES( '$catala','$definicio','$qualificador','$aux')";
if (mysqli_query($conn, $SQL)) {echo "New record created successfully";}

PHP. Pass de paràmetres al servidor 1


codi de accio.php

[php]
<?php
echo "Paràmetre de retorn del servidor:. " . $_POST[nom] . "</br>";
?>
[/php]

Aquest exemple inclou en el mateix formulari, el retorn del servidor:

codi form2

[php]
<form method="post" name="f1" action="form2.php">
<p>Paràmetre que es vol enviar al servidor Unix&nbsp;
<input name="nom" type="text" value= "<?echo $_POST[nom]; ?>";/>
<input type="submit" value="enviar" />
</p>

</form>

<p>En aquest exemple es veu com es poden passar paràmetres al servidor des de un
formulari. sobre el mateix formulari</p>
<p>Per mira el codi posar el ratolí <span style="color: rgb(255, 0, 0);">aquí</span>
i prem el boto dret. </p>

</body>

<?php
echo "Paràmetre de retorn del servidor: " .$_POST[nom] . "</br>". "</br>".
"Observem que s’han carregar al mateix formulari";
?>
[/php]