"Ralle" <ralle_rass@hotmail.com> skrev
> den erfaring (som ikk er så stor) som jeg har haft med .dat filer er:
>
> du kan / skal åbne dem med det program du har lavet dem med, / det program
> som
> de er blevet lavet af.
>
> det med mysql, ka jeg ikk hjælpe med!
Jeg fik udvidet min MySQL database hos Azero til 150 MB og serverplads til
100 MB. Jeg fik så filerne indsat v.hja. nedenstående og det virkede. Jeg
kan nu se at, at da det ikke var alt i .dat filerne jeg skulle bruge at de
fylder ca. 20 MB mindre nu.
Fra 31.24 MB til nu 21.4 MB
Fra 27.92 MB til nu 16,3 MB
Fra 9.11 MB til nu 9.7 MB
Jeg har så slettet de andre .dat filer, så de ikke ligger og fylder op og de
skal jo ikke bruges mere, når de er importeret til tabellerne. Og nu kommer
vi så til mit oprindelige spørgsmål om hvordan disse .dat filer kan gøres
mindre, sådan at andre som vil lave denne øvelse ikke behøver at bruge så
meget plads.
Hvordan eksporterer jeg fra phpmyadmin eller koder jeg disse filer til
..dat-filer med det nye formindskede MB?
----------------------------------------------------------------
<?php
set_time_limit(0); // this could take a while
//ONLINE
// Connect to the database
require($_SERVER['DOCUMENT_ROOT'] . '/db_credentials.php');
$conn = mysql_connect($db_server, $db_user, $db_pass);
mysql_select_db($db_name, $conn);
// Open the Physical Location Coordinates file
$handle = @fopen("../Data/RA.dat","r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$row = explode("|",$buffer);
if ($row[3] > 0) {
// Modify things before we insert them
$row[12] = date("Y-m-d",strtotime($row[12]));
$row[13] = date("Y-m-d",strtotime($row[13]));
$row[23] = addslashes($row[23]);
$row[24] = addslashes($row[24]);
$row[30] = addslashes($row[30]);
// Formulate our query
$query = "INSERT INTO fcc_structure (unique_si, date_constr,
date_removed, struc_address, struc_city, struc_state, struc_height,
struc_elevation, struc_ohag, struc_ohamsl, struc_type)
VALUES ({$row[4]}, '{$row[12]}', '{$row[13]}', '{$row[23]}',
'{$row[24]}', '{$row[25]}', '{$row[26]}', '{$row[27]}', '{$row[28]}',
'{$row[29]}', '{$row[30]}')";
// Execute our query
$result = @mysql_query($query);
if (!$result) echo("ERROR: Duplicate structure info #{$row[4]} <br>\n");
}
}
fclose($handle);
}
echo "Done Structures. <br>\n";
// Open the Ownership Data file
$handle = @fopen("../Data/EN.dat","r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$row = explode("|",$buffer);
if ($row[3] > 0) {
$row[7] = addslashes($row[7]);
$row[14] = addslashes($row[14]);
$row[16] = addslashes($row[16]);
$query = "INSERT INTO fcc_owner (unique_si_own, owner_name,
owner_address, owner_city, owner_state, owner_zip) VALUES ({$row[4]},
'{$row[7]}', '{$row[14]}','{$row[16]}', '{$row[17]}', '{$row[18]}')";
$result = @mysql_query($query);
if (!$result) {
// Newer information later in the file: UPDATE instead
$query = "UPDATE fcc_owner SET owner_name='{$row[7]}',
owner_address='{$row[14]}', owner_city='{$row[16]}',
owner_state='{$row[17]}', owner_zip='{$row[18]}'
WHERE unique_si_own={$row[4]}";
$result = @mysql_query($query);
if (!$result)
echo "Failure to import ownership for struc. #{$row[4]}<br>\n";
else
echo "Updated ownership for struc. #{$row[4]} <br>\n";
}
}
}
fclose($handle);
}
echo "Done Ownership. <br>\n";
// Open the Physical Locations file
$handle = @fopen("../Data/CO.dat","r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$row = explode("|",$buffer);
if ($row[3] > 0) {
if ($row[9] == "S") $sign = -1; else $sign = 1;
$dec_lat = $sign*($row[6]+$row[7]/60+$row[8]/3600);
if ($row[14] == "W") $sign = -1; else $sign = 1;
$dec_long = $sign*($row[11]+$row[12]/60+$row[13]/3600);
$query = "INSERT INTO fcc_location (unique_si_loc, lat_deg, lat_min,
lat_sec, lat_dir, latitude, long_deg, long_min, long_sec,
long_dir, longitude) VALUES ({$row[4]},'{$row[6]}', '{$row[7]}',
'{$row[8]}', '{$row[9]}', '$dec_lat','{$row[11]}', '{$row[12]}',
'{$row[13]}', '{$row[14]}', '$dec_long')";
$result = @mysql_query($query);
if (!$result) {
// Newer information later in the file: UPDATE instead
$query = "UPDATE fcc_location SET lat_deg='{$row[6]}',
lat_min='{$row[7]}', lat_deg='{$row[8]}', lat_dir='{$row[9]}',
latitude='$dec_lat', long_deg='{$row[11]}', long_min='{$row[12]}',
long_sec='{$row[13]}', long_dir='{$row[14]}', longitude='$dec_long'
WHERE unique_si_loc='{$row[4]}'";
$result = @mysql_query($query);
if (!$result)
echo "Failure to import location for struc. #{$row[4]} <br>\n";
else
echo "Updated location for struc. #{$row[4]} <br>\n";
}
}
}
fclose($handle);
}
echo "Done Locations. <br>\n";
?>
----------------------------------------------------------------
--
KH
Tine Müller
homepage:
http://tine_muller.homepage.dk/