简体   繁体   中英

I am trying to download a file from mysql, I saved the file location in the database, now I am trying to make a download link for the user on my page

Unable to create the download link. I am fetching the path saved from database and then try to make a link for it to download, but nothing happens. Below is my code:

$query_print="SELECT vitae_pi FROM pi WHERE username='t124'";
$query_print_run=mysqli_query($conn,$query_print);
$query_print_recordset=mysqli_fetch_assoc($query_print_run);
$query_print_path=$query_print_recordset['vitae_pi'];
echo ' this is file path '.$query_print_path;

Here I am simply trying to create the download link for user t124, instead of using the current user for testing purposes? This is hyperlink code:

<?php echo "<a href='".$query_print_path."'>".DOWNLOAD."</a>"; ?>

Any suggestions?

This my move file function:

protected function moveFile($file)
{
    $filename = isset($this->newName) ? $this->newName : $file['name'];
    //echo $filename;
    $success = move_uploaded_file($file['tmp_name'], $this->destination . $filename);
    if ($success) {
        $result = $file['name'] . ' was uploaded successfully';
        if (!is_null($this->newName)) {
            $_SESSION['current_filename']=$this->newName;
            echo $_SESSION['current_filename'];
            $result .= ', and was renamed ' . $this->newName;
        }
        else{
            $_SESSION['current_filename']=$file['name'];
            echo $_SESSION['current_filename'];
        }
        //$result .= '.';

        //echo $this->newName;
        $this->messages[] = $result;
    } else {
        $this->messages[] = 'Could not upload ' . $file['name'];
    }
}

Updating the table with file path:

    $file_path_variable1= $destination1.$_SESSION['current_filename'];
echo '$file_path_variable1 : '.$file_path_variable1;

$query1="UPDATE proposal SET whitepaper_prop='$file_path_variable1' WHERE userName_prop='$currentuser'";
$result_query1=mysqli_query($conn,$query1);

.................... SOLUTION CODE IS: Solution code is :

$query_print="SELECT vitae_pi FROM pi WHERE username='t115'";
$query_print_run=mysqli_query($conn,$query_print);
$query_print_recordset=mysqli_fetch_assoc($query_print_run);
$query_print_path=$query_print_recordset['vitae_pi'];
$dir= 'uploaded/';
$path=opendir($dir);
<?php 
}while($query_pi_array=mysqli_fetch_assoc($query_pi_result));?>
<div>
<?php while($file=readdir($path)){
  if($file != "." || $file !=".."){
  if($file==$query_print_path){ ?>
<a href="<?php echo $dir.$query_print_path; ?>">Proposal Whitepaper</a>

What does this display ?

<?php echo "<a href='".$query_print_path."'>".DOWNLOAD."</a>"; ?>

DOWNLOAD should be part of the PHP string, if not, it will be considered as a constant :

<?php echo "<a href='".$query_print_path."'>DOWNLOAD</a>"; ?>

Also, use double quotes for HTML attributes :

<?php echo "<a href=\"$query_print_path\">DOWNLOAD</a>"; ?>

And the optimized way (to avoid useless string parsing) :

<?php echo '<a href="'.$query_print_path.'">DOWNLOAD</a>'; ?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM