Nejste přihlášeni
Stránky 1
Zdravíčko,
potřeboval bych pomoci s uploadem a následným čtením textového souboru, nechci jej ukládat, pouze vybrat a přečíst, můj kód je zde:
html form:
<form method='post' enctype='multipart/form-data'>
<input type='file' name='fileToUpload' id='fileToUpload'>
<input type='submit' value='Nahrát' name='submit'>
</form>
php:
if(isset($_POST["submit"])) {
$target_file = $_FILES["fileToUpload"]["name"];
if ($json=file_get_contents($target_file)){
...
}else{
echo "Soubor se nepovedlo otevrtit";
}
}
JSONa mám v pořádku, na localhostu mi to jede, ale na endoře ten soubor ani nenačtu. Může mi prosím někdo poradit kde je chyba nebo jak jinak to vyřešit.
Děkuji!!!
Offline
Dobrý den,
zašlete prosím kompletní kód, který jste testovali
Offline
<?php
header("Content-Type: text/html; charset=UTF-8");
$mysqli = new mysqli('localhost', 'snajpr', 'numetal666', 'pasport');
//$mysqli = new mysqli('localhost', 'root', '', 'crm');
if ($mysqli->connect_error) {
die('Nepodařilo se připojit k MySQL serveru (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
//nastaveni kodovani na utf8
mysqli_query($mysqli, "SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
if(isset($_POST["submit"])) {
$target_file = $_FILES["fileToUpload"]["name"];
echo $target_file;
echo file_get_contents($target_file);
if ($json=file_get_contents($target_file)){
if($obj = json_decode($json)){
foreach ($obj->features as $feature){
$x=$feature->geometry->coordinates[0];
$y=$feature->geometry->coordinates[1];
$coord="'POINT(".$x." ".$y.")',0";
$sql_insert = "INSERT INTO `SM` ... TADY JE DLOUHEJ INSERT CCA NA 5 ŘÁDKŮ;
if ($mysqli->query($sql_vlozit) === TRUE) {
echo "<script type='text/javascript'>alert('Informace se úspěšně uložily.');</script>";
} else {
$message= "Error u vlozeni informaci: " . $sql_vlozit . "<br>" . $mysqli->error;
echo "<script type='text/javascript'>alert('$message');</script>";
}
echo $feature->properties->Cislo.",".$feature->geometry->coordinates[0]."<br />";
}
}else{
echo"geojson je poskozeny";
}
}else{
echo "Soubor se nepovedlo otevrtit";
}
}
?>
<html>
<title>Želenice - pasport VO</title>
<meta http-equiv='content-type' content='text/html; charset=utf-8'>
<body>
<form method='post' enctype='multipart/form-data'>
<input type='file' name='fileToUpload' id='fileToUpload'>
<input type='submit' value='Nahrát' name='submit'>
</form>
<script>
</script>
</body>
</html>
Offline
Jediný způsob jak by Vám toto mohlo fungovat na localhostu je ten, že byste soubor se stejným názvem jako nahráváte již měli v adresáři s PHP skriptem. Předpokládal jsem že soubor nějakým způsobem v jiné části skriptu skutečně ukládáte.
Bez ukládání to lze udělat pouze takto:
file_get_contents($_FILES["fileToUpload"]["tmp_name"])
místo
file_get_contents($target_file)
Jelikož v $target_file máte pouze název souboru, skript se snaží načíst soubor se stejným názvem z adresáře kde je PHP skript. Varianta kterou jsem posílal načte soubor z dočasného umístění.
Offline
Stránky 1