Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [php] Новичкам: задаем вопросы (https://forum.antichat.xyz/showthread.php?t=40896)

Dr.Frank 28.05.2007 06:25

Цитата:

Сообщение от spamoney
2. Есть ли такой скрипт, который бы искал в папке images и подпапках, файлы, имена которых содержат пробелы и заменял бы эти пробелы каким-нибудь символом или удалял бы их ?
т.е pict 1.jpg на pict_1.jpg или pict1.jpg
Если у кого-нибудь есть выложите пожалуйста.....

PHP код:

<?php
if(!$type)
  
$type=".jpg";
function 
cd_dir($dir,$type){
  
$r=opendir($dir);
  while(
$p readdir($r)){
    if(
is_dir("$dir\\$p") && $p!="." && $p!="..")
      
cd_dir("$dir\\$p",$type);
    elseif(
$type && strtolower(substr($p,-4))==$type && strstr($p," ")){
      
rename("$dir\\$p",$dir."\\".str_replace(" ","_",$p));
    }
  }
}
cd_dir($dir,$type);
?>

Скрипт корявенький(переделал свой, для схожих потребностей), но работает..(по крайней мере на Винде)

Заменяет пробелы на символ "_"

в аргументах скрипта указываешь dir=нужная_папка&type=Нужный_ти п_с_точкой_впереди

например: xxx.php?dir=1&type=.txt

Если не будет работать - спрашивай...

Кстати, первый вопрос можешь по аналогии сам сделать

nc.STRIEM 28.05.2007 11:27

Цитата:

Сообщение от Dr.Frank
PHP код:

<?php
if(!$type)
  
$type=".jpg";
function 
cd_dir($dir,$type){
  
$r=opendir($dir);
  while(
$p readdir($r)){
    if(
is_dir("$dir\\$p") && $p!="." && $p!="..")
      
cd_dir("$dir\\$p",$type);
    elseif(
$type && strtolower(substr($p,-4))==$type && strstr($p," ")){
      
rename("$dir\\$p",$dir."\\".str_replace(" ","_",$p));
    }
  }
}
cd_dir($dir,$type);
?>

Скрипт корявенький(переделал свой, для схожих потребностей), но работает..(по крайней мере на Винде)

Заменяет пробелы на символ "_"

в аргументах скрипта указываешь dir=нужная_папка&type=Нужный_ти п_с_точкой_впереди

например: xxx.php?dir=1&type=.txt

Если не будет работать - спрашивай...

Кстати, первый вопрос можешь по аналогии сам сделать

создай папку или файл с именем 0 или false посмотрим как будет работать.

внимательно читаем мануал http://php.ru/manual/function.readdir.html
и видем:
PHP код:

/* Именно этот способ чтения элементов каталога является правильным. */
    
while (false !== ($file readdir($handle))) {
        echo 
"$file\n";
    }

    
/* Этот способ НЕВЕРЕН. */
    
while ($file readdir($handle)) {
        echo 
"$file\n";
    } 


hhover 28.05.2007 12:57

Можно ли сделать так, чтобы при обращении к любому файлу (например, картинке) в определенной папке на сервере выполнялся php скрипт перед показом ?

blaga 28.05.2007 15:25

Цитата:

Можно ли сделать так, чтобы при обращении к любому файлу (например, картинке) в определенной папке на сервере выполнялся php скрипт перед показом ?
вроде нет. легче обращайся к скрипту а он перекинет на картинку.

Dr.Frank 28.05.2007 15:25

Цитата:

Сообщение от hhover
Можно ли сделать так, чтобы при обращении к любому файлу (например, картинке) в определенной папке на сервере выполнялся php скрипт перед показом ?

Можно, делаешь скрипт, который надо запускать(только чтоб не выводил никаких данных и заголовки не посылал), в конце дописываешь строку:
PHP код:

header("Content-type:image/gif");
readfile("Имя_картинки_которую_надо_открыть.gif"); 

/*
(ну или не гиф, а другие типы картинок, тогда
поменяй Content-type:ТИП_КАРТИНКИ)
*/

сохраняешь PHP-скрипт с расширением картинки, например 1.gif

В папке со скрптом создаешь файл .htaccess с такими строками(или, если есть, то дописываешь его):
PHP код:

<Files Имя_скрипта>
ForceType application/x-httpd-php
</Files

/*
в данном случае
PHP код:

<Files 1.gif>
ForceType application/x-httpd-php
</Files

*/

и ссылку кидаешь на этот скрипт, а не на картинку

ultimatum 28.05.2007 16:50

Весь день пролазил в сети в поисах данного вопроса но так и не нашел ответа.

Есть задача.Смысл которой подменить урл в браузере клиента.То есть если клиет идет по ссылке скажем www.sait.com у клиента отображалось yandex.ru.Точнее говоря подмена доменного имени с помощью php.
Имею хост бесплатный на котором пшп+цги. Соответственно доступа к .htaccess не имею и к апачу тоже.Можно ли как нить осуществить мою идею с помощью php или js.Или может есть какой нибудь другой способ о котором я недогадываюсь
----------------------------------------------- c низу перенесено ----------------
Хотя знаю точно, что если на домашнем компе развернуть подобное , то данную идею можно осуществить сконфигурировав апач или .htaccess
redirect - это переарисация. можно даже задать определённое время.Но задача стоит другая.Создать илюзию того что чел пришел на yandex.ru , а на самом деле он находиться на http://mysait.com/ . хост на агаве.Но если будет предложен код на php который будет работать на любом другом бесплатном домене.То будет респект


ссылка : yandex.ru надо чтобы урл был такой же yandex.ru Код дайте пожалуста с разьяснениями!

blaga 28.05.2007 17:38

2Dr.Frank, так будет не очень удобно если там нужно много файлов так сделать. В эштеаксесе тогда лучше прописать что бы все файлы в этой папке обрабатывались как пхп.

blaga 28.05.2007 17:39

2ultimatum, приписать в файл хостс в винде ип к домменому имени yandex.ru тока это к пхп уже мало чем относиться.

Piflit 28.05.2007 17:43

Цитата:

Сообщение от blaga
2ultimatum, приписать в файл хостс в винде ип к домменому имени yandex.ru тока это к пхп уже мало чем относиться.

а разве такое нельзя на пхп сделать? прав не хватит? или вообще нет доступа к файлам пользователя? если нет, тогда только трой

Dr.Frank 28.05.2007 18:08

Цитата:

Сообщение от blaga
2Dr.Frank, так будет не очень удобно если там нужно много файлов так сделать. В эштеаксесе тогда лучше прописать что бы все файлы в этой папке обрабатывались как пхп.


Гм... можно один скрипт сделать с именем, например "files" и передавать ему данные, например xxx.ru/files/1.gif - все работает, проверенно - и один скрипт и все картинки(файлы) передаются с обработкой, т.е. сначала запускается скрипт


Время: 04:22