Мой рукописный шрифт, который производит файл .txt $ archivo_salida с решениями SQL INSERT, дает мне ошибку "file (): Filename cannot be empty", когда пробует открывать простой файл .txt 1 KB - который содержит текст, который нужно обрабатывать - с функцией file (), таково, который я схватил:
$matriz = file($archivo_pistas);
Заблаговременно открой другие два файла той же формы без проблем, помещенные все они в той же папке, в которой находится рукописный шрифт:
$matriz = file($archivo_entrada);
Y:
$matriz = file($archivo_votos);
Это процесс, который уже я сделал в других случаях без какой-либо проблемы, это первый раз, который не удается таким образом. Файл существует и содержит информацию, которую он должен содержать. И в свойствах подтверждают, что это .txt: "Документ текста (.txt)".
В форуме на английском говорят об этой ошибке, но относительно груза файлов большого размера, который было бы возможно решать изменяя upload_max_filesize в php.ini, но, я настаиваю, этот файл только взвешивает 1 KB.
У рукописного шрифта есть index.php формы:
<?php
#ini_set('max_execution_time', 500);
require("conexion.php");
include_once("funciones.php");
# Variables a modificar para cada recopilatorio
$archivo_entrada = "2000.txt";
$archivo_votos = "votos_2000.txt";
$archivo_pistas = "pistas_2000.txt";
$archivo_salida = "insert_2000.txt";
$ano = 2000;
$enlace_spotify = "https://open.spotify.com/user/optigan/playlist/7emjAKUrrydxt0NJLGPVrI?si=yDKRgIlNRbWdiujh7XfRMQ";
# Archivos INSERT: activar progresivamente las claúsulas buleanas; no activar una hasta no haber introducido en la base de datos el archivo INSERT generado por la anterior y, a su vez, desactivar la cláusula una vez generado el archivo para evitar que se vuelva a generar
$listas = false;
if($listas == true)
{
require("insert_listas.php");
insert_listas($ano, $enlace_spotify, $archivo_salida);
}
$canciones = true;
if($canciones == true)
{
require("insert_canciones.php");
insert_canciones($archivo_entrada, $archivo_votos, $archivo_pistas, $id_lista, $archivo_salida);
}
...
?>
Код которого, для случая, который занимает нас, значимый до приостанавливающих точек.
И файл в вопросе "insert_canciones.php", в котором происходит ошибка:
<?php
function insert_canciones($archivo_entrada, $archivo_votos, $archivo_pistas, $id_lista, $archivo_salida)
{
$nombre_tabla = "canciones";
$atributos = "(id_cancion, titulo_cancion, pista, votos, cara_b, enlace_youtube, id_lista)";
encabezado($archivo_salida, $nombre_tabla, $atributos);
$matriz = file($archivo_entrada);
$datos = array();
$par = array();
foreach($matriz as $indice => $linea) #Título de la canción
{
$archivo_pistas = false;
if(strpos($linea, ").")) $par['cancion'] = cancion($archivo_pistas, $linea); #Extracción del título de la canción
if(strpos($linea, "tema:")) #Extracción del enlace de YouTube
{
$par['enlace_YT'] = enlace_YT($linea);
array_push($datos, $par); #La información queda guardada en un array asociativo "par" dentro de otro escalar "datos" de longitud 15; ejemplo: Array ( [0] => Array ( [titulo] => Baudelaire [enlace] => NULL )
}
}
$matriz = file($archivo_votos);
foreach($matriz as $indice => $linea) #Votos
{
$archivo_pistas = false;
$cancion = cancion($archivo_pistas, $linea); #Extracción del título de la canción
$voto = voto($linea, $voto);
for($i = 0; $i < count($datos); $i++) if(in_array($cancion, $datos[$i])) $datos[$i]['voto'] = $voto; #Busca el título de la canción en el array "datos" y le asigna su número de votos; el array "par" pasa a tener tres elementos: Array ( [0] => Array ( [titulo] => Baudelaire [enlace] => NULL [voto] => 2 )
}
$matriz = file($archivo_pistas);
foreach($matriz as $indice => $linea) #Pista
{
$archivo_pistas = true;
$cancion = trim(cancion($archivo_pistas, $linea)); #Extracción del título de la canción
$pista = pista($linea); #Extracción de la pista que ocupa la canción en el recopilatorio
for($i = 0; $i < count($datos); $i++) if(in_array($cancion, $datos[$i])) $datos[$i]['pista'] = $pista; #Busca el título de la canción en el array "datos" y le asigna su número de pista; el array "par" pasa a tener cuatro elementos: Array ( [0] => Array ( [titulo] => Baudelaire [enlace] => NULL [voto] => 2 [pista] => 04 )
}
$contador = count($datos);
foreach($datos as $indice => $cuarteto) #Formateo de los datos y escritura en el archivo
{
$condicion = strpos($cuarteto['cancion'], "'");
$formato1 = "(NULL, \"%s\", '%s', %s, 0, '%s', %d),";
$formato2 = "(NULL, '%s', '%s', %s, 0, '%s', %d),";
$parametro1 = $cuarteto['cancion'];
$parametro2 = $cuarteto['pista'];
$parametro3 = $cuarteto['voto'];
$parametro4 = trim($cuarteto['enlace_YT']);
$parametro5 = $id_lista;
cuerpo($contador, $archivo_salida, $condicion, $formato1, $formato2, $parametro1, $parametro2, $parametro3, $parametro4, $parametro5);
$contador--;
}
}
$condicion = true;
$atributo_bd1 = "max(id_lista)";
$atributo_bd2 = null;
$sql1 = $sql2 = "SELECT $atributo_bd1 FROM listas";
$array_asociativo = $array_escalar = null;
$id_lista = conexion($condicion, $sql1, $sql2, $atributo_bd1, $atributo_bd2, $array_asociativo, $array_escalar);
?>
Приветствие и спасибо за продвинутый.
EstГЎs sobreescribiendo переменная, которую содержит string.
foreach($matriz as $indice => $linea) #Título de la canción
{
$archivo_pistas = false;
if(strpos($linea, ").")) $par['cancion'] = cancion($archivo_pistas, $linea); #Extracción del título de la canción
if(strpos($linea, "tema:")) #Extracción del enlace de YouTube
{
$par['enlace_YT'] = enlace_YT($linea);
array_push($datos, $par); #La información queda guardada en un array asociativo "par" dentro de otro escalar "datos" de longitud 15; ejemplo: Array ( [0] => Array ( [titulo] => Baudelaire [enlace] => NULL )
}
}
у Тебя Есть несколько частей cГіdigo, где ты распределяешь true или false в переменную $archivo_pistas
, который содержит string с файлом.