[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    есть файл,в нем строки.
    нужно,чтобы каждая строка записывалась в свою переменную
    думаю,что копать надо сюда
    PHP:
    <?php 
     $file 
    file('accounts.txt'); 
    $str 2
    echo 
    $file[$str-1]; 
    ?>
     
    #13881 Compton, 13 Feb 2010
    Last edited: 13 Feb 2010
  2. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    в цикле "качаю" картинки и сохраняю в папку images.
    можно ли это все(или сразу папку) заархивировать средствами php без дополнительных "модулей"
    или с модулями которые стоят везде по дефолту.
     
    #13882 #Wolf#, 13 Feb 2010
    Last edited: 13 Feb 2010
  3. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Compton
    Гениально!
    #Wolf#
    Если сервер на никсах, то :
    http://ua.php.net/system
    http://ua.php.net/manual/en/function.exec.php
    http://ru.wikipedia.org/wiki/Tar

    Если на винде, то есть ext для РНР - php_zip правда не юзал ни разу, загугли.
     
  4. Solker

    Solker Elder - Старейшина

    Joined:
    4 May 2006
    Messages:
    175
    Likes Received:
    53
    Reputations:
    18
    #Wolf#
    Ну.. Эм.. Если Винды, то там есть чудо стандартный zip, который не умеет работать через консоль. Но можно создать архив через VBS.

    Code:
    Option Explicit
    
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    
    Dim MySource, MyTarget, MyZipName, MyHex, MyBinary, i
    Dim oShell, oApp, oFolder, oCTF, oFile
    Dim oFileSys
    
    MySource = "c:\test"
    MyTarget = "c:\test.zip"
    
    MyHex = Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
    
    For i = 0 To UBound(MyHex)
    MyBinary = MyBinary & Chr(MyHex(i))
    Next
    
    Set oShell = CreateObject("WScript.Shell")
    Set oFileSys = CreateObject("Scripting.FileSystemObject")
    
    
    Set oCTF = oFileSys.CreateTextFile(MyTarget, True)
    oCTF.Write MyBinary
    oCTF.Close
    Set oCTF = Nothing
    
    Set oApp = CreateObject("Shell.Application")
    
    Set oFolder = oApp.NameSpace(MySource)
    If Not oFolder Is Nothing Then
    oApp.NameSpace(MyTarget).CopyHere oFolder.Items
    End If
    
    wScript.Sleep(5000)
    
    
    Set oFile = Nothing
    On Error Resume Next
    Do While (oFile Is Nothing)
    
    Set oFile = oFileSys.OpenTextFile(MyTarget, ForAppending, False)
    If Err.number <> 0 then
    Err.Clear
    wScript.Sleep 3000
    End If
    Loop
    
    Set oFile=Nothing
    Set oFileSys=Nothing
     
  5. alx8787

    alx8787 Elder - Старейшина

    Joined:
    16 Dec 2007
    Messages:
    47
    Likes Received:
    6
    Reputations:
    -12
    Добрый день. Возникла идея создать что то типа ip фильтра. СУТЬ такая: скрипт определяет айпи человека зашедшего на сайт затем он смотрит есть ли такой айпи в списке (файл лист). если айпи есть то ничего не происходит. если нет тогда айпи записывается в лист и запускается перенапровление скриптом (iframe)... и каждую ночь в опр время файл очищается. так вот как это сделать. Может кто готовый скрипт предложит??? заранее спасибо
     
  6. emillord

    emillord Elder - Старейшина

    Joined:
    20 Jan 2008
    Messages:
    257
    Likes Received:
    444
    Reputations:
    255
    Он только выдирает ip из базы, а не из файла.
    Очищение думаю не очень трудно прикрутить будет.
    Code:
     <?php
    $ipp = $_SERVER['REMOTE_ADDR'];
    
    include_once('connect.php');
    
    $connect =@mysql_connect($host,$user,$pass);
    mysql_select_db($dbname,$connect);
    $sqll="SELECT * FROM `ban` WHERE banip='$ipp' ";
    @$resultt=mysql_query($sqll);
    @$rowss=mysql_num_rows($resultt);
    
    for ($ii=0;$ii<$rowss;$ii++){
    mysql_data_seek($resultt,$ii);
    @$guestt=mysql_fetch_array($resultt);
    
    die ('<b><h3><center>Вам запрещен доступ к этой странице.<br>
    Для разрешения доступа пишите на форум</center></h3></b>');
    }
    
    
    ?>
    
     
  7. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    b3
    я только спросил)
     
  8. Corpy

    Corpy New Member

    Joined:
    18 Mar 2009
    Messages:
    29
    Likes Received:
    1
    Reputations:
    0
    Спасибо большое всем кто ответил.
    Оказывается у меня ошибка была не в php а в хтмл.
    забыл про вот это -

    <option selected>3</option>

    <option selected>Январь</option>
    Что то сильно туплю...=\
    Ещё раз спасибо
     
  9. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Как сделать шум, длиной X знаков, в тексте из [a..z],[0..9]?
     
  10. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Моя функция авторизации:
    PHP:
    function Request($url$postfields false$cookie false)
    {
        
    $ch curl_init($url);
        
    curl_setopt($chCURLOPT_FOLLOWLOCATION0);
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_HEADER1);
        if (
    $postfields)
        {
            
    curl_setopt($chCURLOPT_POST1);
            
    curl_setopt($chCURLOPT_POSTFIELDS$postfields);
        }
        if (
    $cookie)
        {
            
    curl_setopt($chCURLOPT_COOKIE$cookie);
        }
        
    $res curl_exec($ch);
        return 
    $res;
    }

    function 
    LogIn($email$password)
    {
        
    Request('http://vkontakte.ru/login.php''op=a_login_attempt');
        
    $vars Request('http://login.vk.com/?act=login''email=' $email '&pass=' $password .
            
    '&expire=&vk=');
        
    preg_match_all("#<input type='hidden' name='(.*)' id='.*' value='(.*)' />#"$vars$m);
        foreach (
    $m[1] as $key => $value)
        {
            @
    $postfields .= $value '=' $m[2][$key] . '&';
        }
        
    $h Request('http://vkontakte.ru/login.php'$postfields);
        
    preg_match('#remixsid=[a-z0-9]+#'$h$cookie);
        
    $page Request('http://vkontakte.ru/'false$cookie[0]);
        
    preg_match('#Location: /id(\d+)#'$page$id);
        return array(
    'sid' => $cookie[0], 'id' => $id[1]);

    }
     
  11. GlooK

    GlooK Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    Сначала curl_setopt($ch, CURLOPT_POST, 1);
    а потом curl_setopt($ch, CURLOPT_POSTFIELDS, $post );
     
  12. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    аж 2 курла.

    PHP:
    function vk_login($email$pass) {

        
    $ch curl_init('http://login.vk.com/?act=login');
        
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6');
        
    curl_setopt($chCURLOPT_REFERER'http://vkontakte.ru/index.php');
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_TIMEOUT10);
        
    curl_setopt($chCURLOPT_POST1);
        
    curl_setopt($chCURLOPT_POSTFIELDS'email='.urlencode($email).'&pass='.urlencode($pass).'&expire=&vk=');
        
    $errno curl_errno($ch);
        
    $error curl_error($ch);
        
    $res curl_exec($ch);
        if(
    $errno 0) {
        return 
    $errno.':'.$error;    
        } else {
        if(
    preg_match('#id=\'s\' value=\'(.*)\'#'$res$m))
        return 
    $m[1];
        else return 
    false;
        }

    }
     
  13. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Есть файл: сайт/config.php
    И есть файл: сайт/1/index.php

    В index.php пытаюсь его подключить таким образом:
    include('config.php');
    или
    include('/config.php');
    Но в обоих случиях возникает ошибка, а если написать:
    include('сайт/config.php')
    То возникает ошибка:
    Как подключить файл config.php? (не используя include('сайт/config.php'))
     
  14. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    include('../config.php');
     
    #13894 wildshaman, 14 Feb 2010
    Last edited: 14 Feb 2010
    1 person likes this.
  15. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    есть файл вида логин;пароль(для авторизации)
    нужно брать логин и пароль из одной строчки и вставлять в поле авторизации(это я сделаю через курл) и так из всех строчек в файле,включая последнюю
     
  16. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    спс
    я в своем коде всего одну строчку не дописал)
     
  17. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    Это понятно. Это я скопипастил криво ) Проблему это не решает )
     
  18. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    дел. Разобрался.
     
  19. N2kroot

    N2kroot New Member

    Joined:
    25 Oct 2009
    Messages:
    75
    Likes Received:
    3
    Reputations:
    0
    sss

    Помогите,возникла проблема,не могу решить в гугле нет ответа:
    PHP:
    If(Isset($_GET['category']) and (Isset($_GET['altname']))){
        
    //
        
    $xfile = @file("categ/categ.dat");
        for (
    $i=0;$i<count($xfile);$i++) {
        
    $bd explode("|",$xfile[$i]);
        
    //
        
    If($_GET["altname"]==$bd[1]){
        
    $_GET["altname"]=$altname;
        
    $x = @file("categ/{$altname}.dat");
        
    $s=count($x);
        
    $x array_reverse($x);
        for (
    $b=0;$b<$s;$b++) {
        
    $bd explode("|",$x[$b]);
        echo 
    "..MY CODE...";
    Дело в том,что $_GET["altname"] никак не передаётся в файл,и,соответственно,он не открывается..Что делать?
    Мне надо на основе GET строки в браузере(НАЖАЛИ НА ССЫЛКУ ТИПА SITE.php?altname=igri) составить запрос в ТЕКСТОВУЮ БД,и не стоит предлагать ВОЗМИ MYSQL..
     
  20. Dark_cracker

    Dark_cracker Member

    Joined:
    29 May 2009
    Messages:
    73
    Likes Received:
    8
    Reputations:
    1
    $_GET["altname"]=$altname;
    ты вот эту строчку не перепутал ???
    мож так будет правильнее ))
    $altname=$_GET["altname"];
     
Thread Status:
Not open for further replies.