2013-03-21 6 views
1

EDITполучить изображение из папки вне Yii

Моя папка htdocs/myprojectyii находится в C диске, поэтому я могу получить изображение из папки в E диске? отредактировать мое кодирование к этому

<?php $path = 'file:///E:/image/myimage.jpg'?> 
<img src="<?php echo $path ?>" width="100" height="100"/> 

если я нажимаю путь на src изображения (Firebug), путь вправо (причина его отображения изображения), но в MyPage, изображение не отображается

+0

Если вы редактируете ваш вопрос так, что реверс все, пожалуйста, напишите 'EDIT' –

ответ

0

@Mostafa Shahverdy и @Kalpesh Patel спасибо так много для ваших поддержек .. , но в конце концов я получил решение использовать base64 _encode, как это

$path = 'E:/images/myimage.jpg' 

    if($fp = fopen($path,"rb", 0)) //open file 
    { 
     $path = fread($fp,filesize($path)); //read file 
     fclose($fp); 
     $path = chunk_split(base64_encode($path)); //encode image to base64 
     $encode = '<img src="data:image/jpeg;base64,' . $path .'" width="200" height="200">'; 
     echo $encode; //show image 
    } 

так что я могу получить доступ изображения в локальном диске :)

1

Прежде всего вы должны попробуйте file:///E:/images/myimage.jpg вместо E:/image/myimage.jpg. Во-вторых, это не сработает: D, потому что That's a security feature .. it isn't possible in any browser on any platform.

+0

хмм я попробую .. да, причина, по которой все файлы должны быть на локальном диске –

+0

, ваш ответ правильный, но он не показывает изображение, даже путь правильный –

+2

http://stackoverflow.com/questions/4090712/why-cant-i-do-img- src-c-localfile-jpg Пожалуйста, обратитесь к этому –

0

Для лучшего юй безопасности не позволяют прямой, но вы можете использовать функцию PHP, чтобы получить изображения

видеть в именах контроллера юй UploadController.php добавить функцию

function actiongetBusinessProfilePic($dir='',$fileName='') 
{ 
    $name = FILE_UPLOAD.'businessprofilepic/'.$dir.'/'.$fileName; 
    $ext=$this->actiongetExt($fileName); 
    if(file_exists($name)) 
    { 
    $fp = fopen($name, 'rb'); 
    header("Content-Type: image/".$ext); 
    header("Content-Length: " . filesize($name)); 
    fpassthru($fp); 
    } 
} 

теперь странице просмотра у sometihng как этот

<img id="main_image_preview" src="<?php echo $base_path;?>upload/getBusinessProfilePic/dir/<?php echo $imageDir;?>/fileName/<?php echo $avatar;?>" alt="Upload Avatar" border="0" /> 
Смежные вопросы