PHP - Revisar antes de Upload a servidor

 
Vista:

Revisar antes de Upload a servidor

Publicado por Marc (1 intervención) el 18/08/2015 15:46:02
Hola
Quisiera subir un csv al servidor pero antes de ello revisar si tiene algun valor no permitido.

Lo quiero haces desde una boton buscar y cuando presioen Submit salga la alerta diciendo, no tienes permitido subir Numeros 23, 56. Si es que el CSV los contiene.

Tengo este codigo pero el CSV tiene que estar en una ruta especifica.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$file = 'monto.csv';
$searchfor = '169207';
 
// the following line prevents the browser from parsing this as HTML.
header('Content-Type: text/plain');
// get the file contents, assuming the file to be readable (and exist)
$contents = file_get_contents($file);
// escape special characters in the query
$pattern = preg_quote($searchfor, '/');
// finalise the regular expression, matching the whole line
$pattern = "/^.*$pattern.*\$/m";
// search, and store all matching occurences in $matches
if(preg_match_all($pattern, $contents, $matches)){
   echo "No tienes permitido subir incidencias para LOCALIDAD/ES:\n";
   echo implode("\n", $matches[0]);
}
else{
   echo "No matches found";
}
?>


Y pasa subir un CSV tengo esto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
include "connection.php"; //Connect to Database 
//$deleterecords = "TRUNCATE TABLE tablename"; //empty the table of its current records 
//mysql_query($deleterecords); 
//Upload File 
if (isset($_POST['submit'])) {
    if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
        echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
        echo "<h2>Displaying contents:</h2>";
		echo "<h2><a href=approve.php>Cerrar</a></h2>";
        readfile($_FILES['filename']['tmp_name']);
    }
    //Import uploaded file to Database 
    $handle = fopen($_FILES['filename']['tmp_name'], "r");
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $import="INSERT into monto(sso,concepto,monto,referencia) values('$data[0]','$data[1]','$data[2]','$data[3]')";
        mysql_query($import) or die(mysql_error());
    }
    fclose($handle);
    print "Import done";
    //view upload form 
}else {
    print "Upload new csv by browsing to file and clicking on Upload<br />\n";
    print "<form enctype='multipart/form-data' action='upload.php' method='post'>";
    print "File name to import:<br />\n";
    print "<input size='50' type='file' name='filename'><br />\n";
    print "<input type='submit' name='submit' value='Upload'></form>";
}
?>


He tratado con la ruta del csv pero me da la ruta de temp y no puede leerlo. Como implementaria los dos con el boton buscar el csv desde cualquier ruta y realizar el check y despues subirlo al servidor?

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder