PHP écrire ce fichier
ci-dessous est un peu de code, je suis à l'aide de "traduire" une carte de tableau en code SQL donc je peux facilement mettre à jour ma base de données lorsque j'ai mis à jour ma carte du jeu. Comme vous pouvez le voir il imprime le code SQL sur l'écran afin que je puisse le copier et le coller.
Que mes cartes obtiendrez plus cela deviendra inefficace, il va se planter le navigateur due à la masse de la sortie, donc je me demandais si il est possible de faire c'est de créer un .fichier txt et d'écrire toutes les données au lieu d'imprimer sur l'écran?
<?php
if (isset($_POST['code'])){
$map = $_POST['code'];
$map = preg_replace("/,\\s*}/i", "}", $map);
$map = str_replace("{", "[", $map);
$map = str_replace("}", "]", $map);
$map = json_decode('[' . $map . ']');
$arrayCount1 = 0;
$arrayCount2 = -1;
$H = sprintf('%05d', 00000);
$V = sprintf('%05d', 00000);
$id = 1;
echo "INSERT INTO `map` (`id`, `horizontal`, `verticle`, `image`) VALUES" . "<br />";
for ($count1 = 0; $count1 < sizeof($map[0]); $count1++){
$arrayCount2++;
$arrayCount1 = 0;
$V = sprintf('%05d', $V + 1);
$H = sprintf('%05d', 00000);
for ($count2 = 0; $count2 < sizeof($map); $count2++){
echo "(" . $id . ", '" . $H . "', '" . $V . "', '" . $map[$arrayCount1][$arrayCount2] . "')," . "<br />";
$arrayCount1++;
$id++;
$H = sprintf('%05d', $H + 1);
}
}
}
?>
Vous devez vous connecter pour publier un commentaire.
Qui devrait être assez simple. Ajouter
au début de votre script.
Ajouter
à la fin de fo de votre script à proprement fermer le descripteur de fichier (bonne pratique, même si les poignées sont fermés à la fin de script automatiquement).
Et le changer toutes vos
echo
's etprint
s àEDIT:
De cette façon, vous pouvez même compresser les données à la volée à l'aide d'un la compression gestionnaire de flux si amnount de données devient vraiment grand.
Il y a un même approche la plus simple:
Si c'est quelque chose que vous prévoyez d'écrire sur un intervalle régulier ou par les différents scripts, regardez à l'aide de la fonction flock() pour verrouiller le fichier et éviter la corruption des données.
cela devrait le faire...
écrire toutes les lignes, puis envoyer le fichier sur le client.
Vérifier cette post pour de plus amples instructions
+mes 2 cents:
Vous pouvez vérifier vos serveurs de base de données de masse, caractéristiques de chargement, comme la plupart d'entre eux peut charger des fichiers en lot plus rapide que l'exécution de milliers d'inserts.