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

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

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

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    blaga
    PHP:
    $ar=array('a','b','c','d');
    unset(
    $ar[2]);
    $ar=array_values($ar);
     
    _________________________
  2. Vid0k

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

    Joined:
    24 Dec 2007
    Messages:
    393
    Likes Received:
    125
    Reputations:
    13
    что за ф-ии
    mb_strlen()
    mb_strpos()
    погуглил про библу ни чо не нашел
     
  3. [х26]VОLАND

    [х26]VОLАND Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    513
    Likes Received:
    756
    Reputations:
    218
    ...
     
  4. Vid0k

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

    Joined:
    24 Dec 2007
    Messages:
    393
    Likes Received:
    125
    Reputations:
    13
    у меня на денвере пишет что не знает их
     
  5. .:nbd:.

    .:nbd:. Elder - Старейшина

    Joined:
    27 Jul 2008
    Messages:
    97
    Likes Received:
    27
    Reputations:
    1
    mb - MultiByte. Почитать можно здесь
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Vid0k В файле php.ini убери ; в строке:
    PHP:
    ;extension=php_mbstring.dll
    И рестартни апач
     
    _________________________
    1 person likes this.
  7. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    PHP:
    function fsize($path)
    {
        
    $fp fopen($path'r');
        
    $inf stream_get_meta_data($fp);
        
    fclose($fp);
        foreach(
    $inf['wrapper_data'] as $v)
        if(
    stristr($v'content-length'))
        {
            
    $v explode(':',$v);
            return 
    trim($v[1]);
        }
    }
     
  8. Vid0k

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

    Joined:
    24 Dec 2007
    Messages:
    393
    Likes Received:
    125
    Reputations:
    13
    Gifts спасибо помогло
     
  9. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Nightmarе, можно послать HTTP-запрос с методом HEAD. Типичный пример:

    Code:
    HEAD /lol.mp3 HTTP/1.0
    Connection: Close
    User-Agent: Mozilla/4.05 (WinNT; 1)
    Host: site.ru
    
    В ответе от сервера анализировать Content-Length
     
    1 person likes this.
  10. art2222

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

    Joined:
    28 Apr 2008
    Messages:
    118
    Likes Received:
    57
    Reputations:
    10
    Здравствуйте. Возник такой вопрос:
    Как скачать файл с ftp посредством php+cURL?
     
  11. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    PHP:
    <?php

    // объявление переменных
    $local_file 'local.zip';
    $server_file 'server.zip';

    // установка соединения
    $conn_id ftp_connect($ftp_server);

    // вход с именем пользователя и паролем
    $login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

    // попытка скачать $server_file и сохранить в $local_file
    if (ftp_get($conn_id$local_file$server_fileFTP_BINARY)) {
        echo 
    "Произведена запись в $local_file\n";
    } else {
        echo 
    "Не удалось завершить операцию\n";
    }

    // закрытие соединения
    ftp_close($conn_id);

    ?> 
    h_ttp://www.php.su/functions/?ftp-get

    Или нет пароля к фтп?
     
  12. art2222

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

    Joined:
    28 Apr 2008
    Messages:
    118
    Likes Received:
    57
    Reputations:
    10
    Нет, пароль есть. Спасибо.
     
  13. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    подскажите пожалуйста скрипт удалённой загрузки.
     
  14. DarkMagic

    DarkMagic New Member

    Joined:
    21 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    залил шелл на форум,стал выдавать ошибку
    Code:
    Fatal error: Out of memory (allocated 262144) (tried to allocate 77824 bytes) inадрес шелла
    так понимаю не хвотает оперативы,но раньше всё было ок.Как можно исправить?
     
  15. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Ошибка "Fatal error: Out of memory (allocated X)" возникает, если не ошибаюсь, когда самому интерпретатору php не хватает места в оперативке, а не твоему скрипту, и memory_limit к этому отношения не имеет. (При превышении memory_limit возникает ошибка вида "Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)")
    Но можно, все же попробывать, добавить в начало проблемного скрипта(шелла) -
    Code:
    ini_set('memory_limit', '128M');
     
    #5815 Naydav, 29 Oct 2008
    Last edited: 29 Oct 2008
  16. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    Есть ли у кого-нибудь примеры скрипта, по загрузки файла с компа в нет. Ну к примеру как на форуме загрузка аватара в профиль. Даже не знаю как это можно осуществить.C помощью curl? Любая информация будет полезна.
     
  17. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    h_ttp://www.php.su/phphttp/?uploads

    Да уже 100 раз обсуждалось на ачате
    h_ttp://forum.antichat.ru/thread77906-%F1%EA%F0%E8%EF%F2+%E7%E0%E3%F0%F3%E7%EA%E8.html
     
    #5817 Naydav, 29 Oct 2008
    Last edited: 29 Oct 2008
  18. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Вот функция, которая ещё и докачку поддерживает.
    Была выложена на ачате

    PHP:
    function downloadFile($filename$mimetype='application/octet-stream')
    {
      
    $from=$to=0;
      
    $cr=NULL;
      if(isset(
    $_SERVER['HTTP_RANGE']))
      {
        
    $range=substr($_SERVER['HTTP_RANGE'],strpos($_SERVER['HTTP_RANGE'],'=')+1);
        
    $from=strtok($range,'-');
        
    $to=strtok('/');
        if(
    $to>0$to++;
        if(
    $to$to-=$from;
        
    header('HTTP/1.1 206 Partial Content');    
        
    $cr='Content-Range: bytes'.$from.'-'.(($to)?($to.'/'.$to+1):filesize($filename));
      }
      else
        
    header('HTTP/1.1 200 Ok');

      
    $etag=md5($filename);
      
    $etag=substr($etag08).'-'.substr($etag87).'-'.substr($etag158);
      
    header('ETag: "'.$etag.'"');
      
    header('Accept-Ranges: bytes');
      
    header('Content-Length: '.(filesize($filename)-$to+$from));
      if(
    $crheader($cr);    header('Connection: close');
      
    header('Content-Type: '.$mimetype);
      
    header('Last-Modified: '.gmdate('r',filemtime($filename))); $f=fopen($filename'r');
      
    header('Content-Disposition: attachment; filename="' basename($filename) . '";');
      if(
    $from)fseek($f,$from,SEEK_SET);
      if(!isset(
    $to) or empty($to))
      {
        
    $size=filesize($filename)-$from;
      }
      else
      {
        
    $size=$to;
      }

      
    $downloaded=0;

      while(!
    feof($f) and !connection_status() and ($downloaded<$size))
      {
        echo 
    fread($f,512000);
        
    $downloaded+=512000;
        
    flush();
      }

      
    fclose($f);
    }
     
  19. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php
    $download 
    'http://google.com/1.rar';
    $save '1.rar';
    $str'';


    $d fopen($download,'r');
    $s fopen($save,'w+');

    while(!
    feof($d))
    {
          
    $str fread($d,512);
          
    fputs($s,$str);
    }
    fclose($d);
    fclose($s);
    ?>
    -----------------------------------------------------------------

    Это на свой:
    PHP:
    <form action='' method='post' enctype='multipart/form-data'>
    <input type='file' name='uploadfile'>
    <input type='submit' value='Загрузить'></form>
    <?php

    // Каталог, в который мы будем принимать файл:
    $uploaddir './files/';
    $uploadfile $uploaddir.basename($_FILES['uploadfile']['name']);

    // Копируем файл из каталога для временного хранения файлов:
    if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
    {
    echo 
    "<h3>Файл успешно загружен на сервер</h3>";
    }
    else { echo 
    "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }

    // Выводим информацию о загруженном файле:
    echo "<h3>Информация о загруженном на сервер файле: </h3>";
    echo 
    "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
    echo 
    "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
    echo 
    "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
    echo 
    "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";

    ?>
    А если на чужой
    PHP:
    <?php
    $upload 
    'полный путь до файла на компе';
    $postdata = array('имя поля на сайте для сохр. файла' => "@".$upload );  //в массиве передашь нужные поля 'имя'=>значение

    $ch curl_init();
    curl_setopt($chCURLOPT_URL'скрипт загрузки');
    curl_setopt($chCURLOPT_RETURNTRANSFER0);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS$postdata);
    curl_setopt($chCURLOPT_CONNECTTIMEOUT30);
    curl_exec($ch); 
    curl_close($ch);
    ?>
     
    1 person likes this.
  20. Rigo

    Rigo New Member

    Joined:
    25 Oct 2008
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Неужели никто не подскажет, господа гуру? Выделенное красным шрифтом интересует.
     
Thread Status:
Not open for further replies.