2010-01-29 7 views
0

imagepng에 파일 경로 기능을 지정하려면 어떻게해야합니까? MVC 젠드 프레임 워크에서 사용될 때 그리고 명시 적 파일 경로가 제공 될 때조차도 항상 "/ public"폴더에 파일을 만드는 것처럼 보입니다. 내가 가진 다시 쓰기 규칙 때문입니까?imagepng - 공용 폴더 만들기

FileETag none 
<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresDefault "access plus 10 years" 
ExpiresByType image/gif "access plus 10 years" 
ExpiresByType image/jpeg "access plus 10 years" 
ExpiresByType image/png "access plus 10 years" 
ExpiresByType text/css "access plus 10 years" 
ExpiresByType text/html "access plus 1 seconds" 
ExpiresByType text/javascript "access plus 10 years" 
ExpiresByType application/x-unknown-content-type "access plus 10 years" 
ExpiresByType application/x-javascript "access plus 10 years" 
</IfModule> 

ExpiresActive On 
ExpiresDefault A604800 
ExpiresByType image/x-icon A2592000 
ExpiresByType application/x-javascript A2592000 
ExpiresByType text/css A2592000 
ExpiresByType text/html A300 
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> 
ExpiresActive Off 
</FilesMatch> 


# compress all text & html: 
AddOutputFilterByType DEFLATE text/html text/plain text/xml 

# Or, compress certain file types by extension: 
<Files *.html> 
SetOutputFilter DEFLATE 
</Files> 

RewriteEngine on 
# The leading %{DOCUMENT_ROOT} is necessary when used in VirtualHost context 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -s [OR] 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -l [OR] 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 

RewriteRule ^.*$ index.php [NC,L] 

답변

1

편집 : 내 htaccess로 재 작성 규칙은 아래 같습니다 가까이 검사시가 왜 %{DOCUMENT_ROOT}를 사용하여 재 작성 규칙입니다 ...? 재 작성 스택에서 언급 할 필요는 없습니다. 그건 당신이 vhost 구성에 직접 매핑해야합니다. Zend가 작동하도록하기 위해 그렇게해야만한다면 앱 설정이나 가상 호스트에서 잘못된 것이 있습니다. 만약 당신이 docroot의 sub dir에서 호스트한다면 front controller에 baseurl을 설정하십시오.


쓰고 자하는 경로는 무엇입니까? 당신은 당신이 예를 들어 기록 된 이미지를 원하는 위치로 전체 파일 시스템 경로를 사용해야합니다

imagepng($image, APPLICATION_PATH.'/public/images/generated_image.png');

당신은 아마 당신이 이제까지 public의 실제 디렉토리를 변경할 경우 해당 경로를 구축하는 다른 동적 도구를 사용한다을하지만했다 jsut 간단한 예제 :-)

상대 경로를 사용하는 경우 경로는 public에 상대적입니다. 왜냐하면 dir index.php가 있으며 모든 것을 처리하기 때문입니다. 브라우저의 URL은 표준 다시 쓰기 규칙/라우팅으로 인해 작동하지 않는 경로를 반영하지 않습니다.

+0

재미있는 점은 기본적으로 접두사로 "/ public /"을 추가한다는 것입니다. 따라서 APPLICATION_PATH. '/ public/images/generated_image.png'를 지정해도 '/public/'.APPLICATION_PATH.//public/images/generated_image.png'로 표시됩니다. 어떻게 제거 할 수 있습니까?/public 접두어 중? – Jake

+0

위의 편집을 참조하십시오. – prodigitalson