Изображение Меняет имени на сервере - PHP

Обновленный: Кто-то, кто мог бы помогать мне с этим кодом друзья, я должен сохранять изображение на сервере и базе данных. Проблема состоит в том, что он сохраняет изображение на сервере, но консультация insert, которая у меня есть немедленно, не работает.

//*--------------------------------Se guarda la imagen----------------------------*
$file = $_FILES["file"];
$nombre = getUniqueName()."";
$tipo = $file["type"];
$ruta_provisional = $file["tmp_name"];
$size = $file["size"];
$carpeta = "upload/";

switch ($tipo) {
    case 'image/jpg':
        $tipo = JPG;
        break;
    case 'image/jpeg':
        $tipo = JPEG;
        break;
    case 'image/png':
        $tipo = PNG;
        break;
    case 'image/gif':
        $tipo = GIF;
        break;
    default:
        die("Error, el archivo no es una imagen"); 
}  


$src = $carpeta.$nombre;
move_uploaded_file($ruta_provisional, $src);
changeSize($src, 500, $tipo);
echo "<img src='$src'>";

  //Aqui necesito ingresar $src a la bd, pero no se ejecuta(La sentencia esta probada y funciona correctamente)

 $con = Conectar();
    $sql = 'INSERT INTO bolsa (id, tipo_bolsa, titulo, imagen, descripcion, categoria, fecha, sueldo) VALUES (:id, :tipo_bolsa, :titulo, :imagen, :descripcion, :categoria, :fecha, :sueldo)';
    $q = $con->prepare($sql);
    $q->execute(array(':id'=>$id, ':tipo_bolsa'=>$tipo_bolsa, ':titulo'=>$titulo, ':imagen'=>$src, ':descripcion'=>$descripcion, ':categoria'=>$categoria, ':fecha'=>$fecha, ':sueldo'=>$sueldo));
4
задан 22.04.2016, 19:21
2 ответа

Что-то не остается ясным. Ты говоришь: "Проблема состоит в том, что, если он сохраняет их, но с различным именем... у меня есть функция, которая дает ему единственное имя", и потом это отвечаешь "Так как то, что я действительно ищу, состоит в том, чтобы давать ему единственный nobre, для того, чтобы, когда они могли пересылать два равных этих изображения не sobrescriban" в @rodrigomx.

Твоя логика хорошо. Нужно называть функцию getUniqueName (), сохранять имя в переменной и использовать ее как параметр в insert и сохраняли изображение на сервере. Должны быть распределенными nombres/id's уникумы в момент сохранения изображений на твоем сервере для того, чтобы ты не sobrescriban.

Если проблема другая, я думаю, что ты был бы должен объясняться лучше.

2
ответ дан 01.12.2019, 08:12
  • 1
    Только что обновил публикацию друг, нуждался в том, чтобы сохранять изображение на сервере и имени в базе данных, моя ложа состоит в том, чтобы зазналось изображение в сервер, и ты одну видишь там я сохранял имя в db, проблема состоит в том, что консультация insert не работает, как видят в моем коде... –  Agustin Acosta 06.01.2016, 18:58
  • 2
    #191; Пометь alg и # 250; n ошибка? Он видел пример. В тебе c и # 243; я говорю, в и #250; ltimo, имя переменных не должно идти без две точки ": " и #191;? А именно: $q - и gt; execute (array (и #39; пойдите и # 39; = > $id, и #39; tipo_bolsa и # 39; = > $ tipo_bolsa... –  Luis Gómez 06.01.2016, 19:37
  • 3
    На моем сервере есть файл qu получает ошибки и он ничего не помечает, insert я уверен, что он хорошо, из-за которого, если я снимаю код file, он делает это мне обычно, помещая ему стоимость x в изображение. Проблема быть в agragar код, который вводит изображение в компьютер в сервер, после этого кода не выполняет уже ничего, я не могу помещать это раньше, так как я нуждаюсь в том, чтобы сделать insert однажды, - сохраняемый img –  Agustin Acosta 06.01.2016, 21:57

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

То, что ты можешь делать, состоит в том, чтобы менять следующую линию:

$nombre = getUniqueName();

Сходным способом в:

$file = $_FILES["file"];
$nombre = basename($file["name"]);

Так что он использует имя файла, который ты переслал.

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

0
ответ дан 01.12.2019, 08:12
  • 1
    Так как то, что я действительно ищу, состоит в том, чтобы давать ему единственный nobre, для того, чтобы, когда они могли пересылать два изображения iguals эти не sobrescriban, поэтому использование функции, и если. я действительно ничего не санкционирую, это присоединенных файлов дает мне проблему, правда никогда это не осуществила и не, где двигаться –  Agustin Acosta 06.01.2016, 06:39
  • 2
    тогда я не понимаю, из-за которого ты не хотел, чтобы тебя произвело другое имя, на твоей проблеме утверждений то, что ты должен делать первым перед тем, как делать Insert в базу данных, состоит в том, чтобы проверять с if, enverdad входишь ли ты в секцию посредством POST, немедленно ты должен санкционировать, что существовал файл в POST, который ты послал, можешь проверять это из-за сети методы, и немедленно, так как ты уверен, что я сохраняю правильно, он состоит в том, чтобы делать Inserte с информацией. –  rodrigomx 06.01.2016, 10:00