- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema fsockopen
-
Problema fsockopen
Salve a tutti,
ho dei problemi con questo vecchio codice php. Funzionava perfettamente su un server interno all'azienda. Abbiamo traslocato la web a un hosting linux esterno e non funziona più. La direzione ip che si indica è una direzione ip fissa .
[PHP] <?php$fichero = $_SESSION['telex'];
$fichero = "P01web" . $fichero;
$f = fopen($fichero,"r");$conexion=fsockopen("8x.xxx.xx.xx","5000");
$ped = 0;
// inviamo codice del cliente
$val = fgets($f,30);
fwrite($conexion,"010100000000000000".$val[0].$val[1].$val[2].$val[3].$val[4].$val[5].$val[6]." ".$val[0].$val[1].$val[2].$val[3].$val[4].$val[5].$val[6]." \n");
fwrite($conexion,"1010".$val[0].$val[1].$val[2].$val[3].$val[4].$val[5].$val[6]." \n"); // no se procesa
$val = fgets( $f, 30);
$ped = 0;
// inviamo codice articoli e quantità
while(!feof($f)){
$ped = $ped +1 ;
$pal2 = split("?",$val);
if(strlen($pal2[1]) == 0) $pal2[1] = "0001"; // se è zero lo cambia a 1. Ordine minimo
if(strlen($pal2[1]) == 1) $pal2[1] = "000".$pal2[1];
if(strlen($pal2[1]) == 2) $pal2[1] = "00".$pal2[1];
if(strlen($pal2[1]) == 3) $pal2[1] = "0".$pal2[1];
fwrite($conexion,"1020000000".$pal2[0]."0".$pal2[1]."\n");
$val = fgets( $f, 30);
}
fwrite($conexion,"10500000000000000000\n");
fwrite($conexion,"0199\n");
set_time_limit(50);
sleep(4);
fclose($f);// Restituisce un messaggio se l'articolo non è disponibile
$val = fread($conexion,44);
$val = fread($conexion,74);$comp = substr($val,0,4);
//fclose($conexion);if(strcmp($comp,"2010") == 0){
$fin = 1;
while($fin == 1){
$val = fread($conexion,4);
if(strcmp($val,"0199") == 0){
$fin = 0;
}
if(strcmp($val,"2011") == 0){
$val = fread($conexion,52);
}
if(strcmp($val,"2015") == 0){
$val = fread($conexion,46);
$articulo = substr($val,6,6);
$cpedida = substr($val,14,3);
$cservida = substr($val,14,3) - substr($val,18,3);
$incidencia = substr($val,29,2);
if(strcmp($incidencia,"36") == 0) $incidencia = "Stock insufficiente";
if(strcmp($incidencia,"01") == 0) $incidencia ="Esaurito";
if(strcmp($incidencia,"11") == 0) $incidencia ="Fuori Catalogo";
if(strcmp($incidencia,"04") == 0) $incidencia ="Codice sconosciuto";
if(strcmp($incidencia,"10") == 0) $incidencia ="Non invia il fabbricante";
if(strcmp($incidencia,"00") != 0 ){
?>
<tr>
<td><?php echo $articulo; ?></td>
<td><?php echo $cpedida; ?></td>
<td><?php echo $cservida; ?></td>
<td><?php echo $incidencia; ?></td></tr> <?php } $val = ""; $articulo = ""; $cpedida = ""; $cservida =""; $incidencia = ""; } }
}else {
echo "Non siamo stati in grado di verficare lo stock disponibile. Ci scusiamo per il disagio.";
}
fclose($conexion);
?>[/PHP]Il codice legge un file con questa struttura e lo invia a un concentratore che lo processa per l' erp.
9901585?? 000018?3? 000019?2?