Как добавлять символы посредством javascript?

У меня есть окно конфигурации и в вышеупомянутом окне у меня есть textfield я скрываю, что меня получает маршрут изображения и посылает ее ему в другое окно php, где будет нужно хранить. Это уже это реализует, проблема состоит в том, что маршрут берется диагоналями, как это очевидно, но эти диагонали берутся другим образом и не сохраняют в базе данных.

Здесь получается маршрут моего изображения

                    var _URL = window.URL || window.webkitURL;

                    $("#file-1").change(function (e) {
                        var file, img;


                        if ((file = this.files[0])) {
                            img = new Image();
                            img.onload = function () {
                                var ruta = $('#file-1').val();
                                $('#longitud').text(this.width);
                                $('#alto').text(this.height);
                                $('#ruta').val(ruta);
                            };
                            img.onerror = function () {
                                alert("Archivo no valido: " + file.type);
                            };
                            img.src = _URL.createObjectURL(file);


                        }

                    });

В этой части кода обрабатывается вышеупомянутый маршрут

$imagen=$_POST["ruta"];

$conexion = mysql_connect("localhost", "root", "");
mysql_select_db("proyecto_terror");

        mysql_query("update configuracion set MenuFC= '$MenuFC',MenuLC='$MenuLC',MenuLT='$MenuLT',MenuLE='$MenuLE',MenuIma='$imagen' WHERE fk_usuario = '$id'");

То, что мне хотелось бы мочь делать, состоит в том, чтобы добавлять диагональ в каждом положении маршрута, где его потребовали, чтобы так мочь производить контрабрусок, и что хранил первоначальный маршрут.

Так он хранит ее в настоящее время

introducir la descripción de la imagen aquí

Здесь - изображение того, что мне посылает Url с javascript

introducir la descripción de la imagen aquí

1
задан 27.12.2016, 12:01
2 ответа

Я рекомендую тебе использовать base64, чтобы предотвращать вставку SQL и другие проблемы безопасности с этим, которую ты хочешь сделать, Простой пример:

    // subes el valor encriptado a la base de datos
   $upload = base64_encode( isset($_POST['ruta']) ? $_POST['ruta'] : "" );

 // true si esta establecido ruta de lo contrario base64 retornara false.

   // y lo puedes desencriptar
   $dbresult = "cGF0aDpcZm9sZGVyDGlsZS5pbmk=";

   $path = base64_decode($dbresult);
   // salida:
      path:\folderile.ini

Сейчас, если я не ошибаюсь, эта проблема, - из-за которого charset твоей базы данных не выносит этот тип данных с символами или - возможно, что ты нуждаешься в том, чтобы использовать другой тип консультации.

0
ответ дан 24.11.2019, 13:37

Как ты говоришь, что нет проблемы, если я перемещаю тебя решение в PHP. Я говорю тебе, как 'сохранять' изображение в базе данных следующего способа:

Давайте предполагать, что у нас есть наш код HTML следующего способа в формуляре POST.

<input type="file" name="foto" required> 

Тогда, когда мы пошлем неудар в лунку за POST в PHP, он был бы следующего способа. Я оставляю тебе объяснение в комментариях кода:

    //PROCESO DE FOTO
    /* $_SERVER['PHP_SELF'] nos dará el directorio donde se encuentra el documento.
   Es decir que http://localhost/tiendaWeb/productos/insertar.php nos dará como resultado
   /tiendaWeb/productos/insertar.php

   basename nos devuelve el nombre base de los directorios del documento, en este caso insertar.php

   str_replace nos sirve para reemplazar cadenas por otras
   str_replace ("insertar.php", "", "insertar.php") | str_replace ("$palabraABuscarEnCadena", "$laReemplazamos", "$cadena")
   Con str_replace le estamos diciendo que busque exactamente la cadena/palabra insertar.php y que la modifique a nada (""), en la cadena "insertar.php"

   Almacenando en la variable $directory_self = /tiendaWeb/productos
   */
   $directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']);

   /*
    $_SERVER['DOCUMENT_ROOT'] nos dará el directorio raíz desde donde se ejecuta el AppServ
   Nos dara como resultado C:/AppServ/www/ concatenando la variable $directory_self y la carpeta donde subiremos las fotos, en este caso yo la llame uploads pero ponganle otro nombre.
   Al final $uploadsDirectory da la siguiente cadena C:/AppServ/www/tiendaWeb/productos/uploads
  */
     $uploadsDirectory = $_SERVER['DOCUMENT_ROOT'].$directory_self.'uploads/';

  // Almacenamos en la variable now la hora.
     $now = time();

  /*
  Creamos un ciclo while y verificamos si el archivo existe con file_exists y dentro de file_exists, añadimos la variable donde se almacenara la foto ($uploadsDirectory), concatenamos la hora ($now), añadimos el caracter -
y por último obtenemos el name que tiene el input file de tu formulario y el nombre del archivo mediante ['name']
 Y nos arrojara:
                            C:/AppServ/www/tiendaWeb/productos/uploads/1460665367-ledwatch.jpg

 C:/AppServ/www/tiendaWeb/productos/uploads/ <- $uploadsDirectory| 1460665367 <- $now - <- Referencia al '-' ledwatch.jpg <- $_FILES['foto']['name'] (Así se llama la imagen que subi)
 */
   while(file_exists($uploadFilename = $uploadsDirectory.$now.'-'.$_FILES['foto']['name'])){ $now++; }

 /*
  move_uploaded_file nos permite "copiar" la imagen de una ubicación a la ubicación que queremos.
*/
   @move_uploaded_file($_FILES["foto"]["tmp_name"], $uploadFilename);

 /*
  Iguale la variable $uploadFileName con $foto para hacer referencia en el INSERT
*/
   $foto = $uploadFilename;
   $sql = "INSERT INTO productos (cve_producto, producto, descripcion, costo, cantidad, proveedor, rfc, foto) VALUES ('$clave','$producto','$descripcion','$costo','$cantidad','$proveedor', '$rfc','$foto')";
1
ответ дан 24.11.2019, 13:37