2014-11-08 1 views
1
$allowedMimeTypes = array( 
'image/jpeg', 
'image/png' 
); 
$temp = explode(".", $_FILES["file"]["name"]); 
$extension = end($temp); 
if (500000 < $_FILES["file"]["size"] ) 
{ 
    echo"Please provide a smaller file [E/1]."; 
} 
if (in_array($_FILES["file"]["type"], $allowedMimeTypes)) 
{ 
    $file = $_FILES["file"]["name"]; 
    $filePath = "../upload/" . $file;  
    move_uploaded_file($_FILES["file"]["tmp_name"],$filePath); 
} 
else if(!is_uploaded_file($_FILES["file"]["tmp_name"])) 
{ 
    $file=''; 
    $filePath=''; 
} 
if(! get_magic_quotes_gpc()) 
{ 
    $name = addslashes ($_POST['name']); 
    $path = $filePath=''; 
} 
else 
{ 
    $name = $_POST['name']; 
    $path = $filePath=''; 
} 
$sql = "INSERT INTO slides ". 
     "(name,path) ". 
     "VALUES ". 
     "('$name','$path')"; 
mysql_select_db('emtas'); 
$retval = mysql_query($sql, $conn); 
if(! $retval) 
{ 
    die('Could not enter data: ' . mysql_error()); 
} 
echo "Entered data successfully\n"; 
mysql_close($conn); 
} 
else 
{ 
?> 

Я пытаюсь добавить изображение из формы. Он загружает изображение, но я не мог написать его путь к db. Он также записывает имя изображения из формы. Почему я не мог получить путь и написать db?Почему я не смог получить путь к файлу и написать в db?

+1

Потому что вы всегда задаете путь и filePath для пустых строк? '$ path = $ filePath = '';' – Cyclonecode

+0

у вас есть '$ path = $ filePath = '';' в 'истинных' и' ложных 'путях IF(). – mainstreetmark

+0

Спасибо, много ... – mkltkn

ответ

1

Вы должны установить как $path, так и $filePath, чтобы удалить строки перед выполнением запроса. Измените код на что-то вроде этого:

$name = $_POST['name']; 
if(!get_magic_quotes_gpc()) { 
    $name = addslashes ($name); 
} 
// execute query 
$sql = "INSERT INTO slides ". 
     "(name,path) ". 
     "VALUES ". 
     "('$name','$filePath')"; 

Обратите внимание, что вы не должны запускать свой запрос, если файл не загружен. Поскольку расширение mysql устарело, вы должны использовать вместо него mysqli или pdo.

Смежные вопросы